• 0
zain50

درس طريقة صنع برنامج مثل ال winamp

سؤال

بسم الله الرحمن الرحيم

أقدم لكم درس " كيف تصنع برنامجا مثل الـ winamp "

وسنستخدم فى هذا الدرس الـ MediaPlayer وأنا هنا أقصد الميديا بلاير العادية "القديمة"

ولقد تعجبت حينما لم أجد هذه الأداة وأنا استعمل الفجوال بيسك بوندوز xp وأنا حاليا أستعمل

وندوز ملينيوم !!!!

نبدأ الدرس بالصلاه والسلام على رسول الله

نبدأ مشروعا جديدا standerd

ثم نضع اداة الـ MediaPlayer وذلك من project >> components

ثم نختار الأداة windows media player وهى غالبا آخر القائمة

ثم نضغط ok والأداة كما بالشكل

1tw7.png

وبعد ذلك نقوم بوضعها على النموذج ونضع كذلك الآتى :-

   Commandbuttontame	   Name	 Caption	 

1 cmdplay Play

2 cmdpause Pause

3 cmdstop Stop

4 cmdmute Mute

ونضع بعد ذلك أداة ListBox

ونختار الأداة CommonDialog وذلك من project << components

واسمها Microsoft common Dialog control 6.0 ثم نضغط Ok

وبعد ذلك نقوم بوضعها على النموذج "Form"

ثم نقوم بفتح قائمة menu editor ونقوم بعمل الآتى :-

Caption >> File

Name >> mnufile

ثم نضغط على next ونختار السهم المتجه ناحية اليمين , ونكتب

Caption >> Open

Name >> mnuopen

ونضغط Ok , أنظر الشكل :-

2se0.jpg

ويجب ان يصبح البرنامج كالشكل التالى :-

3db4.jpg

وثانى مرحلة هى كتابة الأكواد :

ملحوظة : قمت فى بعض الأكواد بكتابة 1 , 2 , 3 , 000 وذلك لكى تسهل لى طريقة الشرح

فيجب ازالتها فى الكود الأصلى 0

أولا : الزر Play

Private Sub cmdplay_Click ()
1 : On Error Resume Next
2 : MediaPlayer1.FileName = List1.Text
3 : MediaPlayer1.Play
End Sub

1 : هذا الكود يعنى تجاهل الأخطاء فإذا ضغط الشخص زر play

دون اختياره الملف الصوتى يمنع هذا الكود حدوث رسالة خطأ0

2 : يعنى تجهيز الميديا بلاير بتشغيل ما فى الـ ListBox0

3 : هذا أمر التشغيل0

ثانيا : الزر Pause

Private Sub cmdpause_Click()
On Error Resume Next
If MediaPlayer1.PlayState = 1 Then
MediaPlayer1.Play
cmdpause.Caption = "Pause"
Else
MediaPlayer1.Pause
cmdpause.Caption = ">"
End Sub

الشرح : إذا كانت الميديا فى حالة تشغيل أى play يتم إيقاف التشغيل

إيقافا مؤقتا, وإذا ضغطنا على الزر مرة اخرى يتم تشغيل الميديا

من الوضع نفسه الذى كانت ثابتة عليه0

ثالثا : الزر Stop

Private Sub cmdstop_Click()
MediaPlayer1.Stop
End Sub

ويعنى إيقاف الميديا عن العمل نهائيا وليس مؤقتا0

رابعا : الزر Mute

Private Sub cmdmute_Click()
On Error Resume Next
If cmdmute.Caption = "Mute" Then
MediaPlayer1.Mute = True
cmdmute.Caption = "Mute X"
Else
MediaPlayer1.Mute = False
cmdmute.Caption = "Mute"
End If
End Sub

ويعنى انه إذا كان الزر اسمه Mute فإنه يقوم بإلغاء الصوت ويصبح اسمه Mute X ,

و إذا كان الزر اسمه Mute X فإنه يقوم بتشغيل الصوت ويصبح اسمه Mute ,,, وهكذا .

أما عن القائمة : Open

الكود الخاص بـ "mnuopen"

Private Sub mnuopen_Click()
On Error Resume Next
1 : Dim add As String
2 : With CommonDialog1
3 : .Filte "[email protected]|*.mp3;*.avi;*.asf;*.wmv;*.wav;*.wmp;*.wma;*.mid"
4 : .ShowOpen
5 : If .FileName = "" Then
6 : Exit Sub
7 : End If
8 : End With
9 : add = CommonDialog1.FileName
10 : CommonDialog1.FileName = ""
11 : List1.AddItem add
12 :add = ""
End Sub

1 : تم تعريف "add" بأنها " String " أى مجموعة من الحروف0

2 : قمت باستخدام الـ CommonDialog الذى سيظهر نافذة Open

وقمت باستخدام With حتى استطيع استخدام CommonDialog بدون

كتابته كل مرة واكتفيت بوضع النقطة 0

3 : وهذه هى الملفات التى يمكن تشغيلها ولكنى لا أعرف جميع الملفات التى

تشغلها الميديا بلاير فمن يعرف ملفات غير هذه يقوم بإضافتها إليها0

4 : وهذا أمر لفتح نافذة Open

5 , 6 : ويعنى انك إذا قمت بفتح نافذة Open ولم تختر شيئا- أى ضغطت على Cancel

فإن النافذة تغلق دون إضافة أى شىء للـ ListBox

9 : مساواة add بما تم اختياره من القائمة Open

10 : وهذا الأمر يفرغ ما تم اختياره من القائمة Open إذا رجعت فى رأيك واخترت Cancel

11 : وهذا الأمر لإضافة ما فى add الى الـ ListBox

12 : لتفريغ add مرة اخرى حتى اذا قمت باختيار Open مرة اخرى تكون add

فارغة لاستقبال ملفات صوتية اخرى0

وأدعو الله ان تكونوا قد فهمتم هذا الدرس واستفدم منه

ولغاية ما وصلنا فى الشرح وضعت لكم البرنامج لتستعينوا به بعد الاستعانة بالله

وهو بالمرفقات

وللدرس بقية إن شاء الله

MP3.1.zip

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

36 إجابة على هذا السؤال .

  • 0

شرح جميل ورائع

استمر اخي العزيز ولك جزيل الشكر

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بارك الله فيك و جعله في ميزان حسناتك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته

عمل رائع بارك الله فيك

والسلام عليكم ورحمة الله وبركاته

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

مشكورين يا اخوانى على ردودكم التى ستشجعنى

لاكمال الدرس بصدر رحب

فردودكم اعتطنى حافز كبير

وارجو ان اكون عند حسن ظنكم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بسم الله الرحمن الرحيم

اخى فى الله

لديك طريقة سهلة و بسيطة للشرح ارجوا لك التوفيق و ننتظر المزيد

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

جزاكم الله خيرا على الردود الجميلة

وهذا الإهتمام الرائع

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بسم الله الرحمن الرحيم

نبدأ المرحلة الثانية من الدرس إن شاء الله

الصوت :-

لكى نستطيع عمل شريطة الصوت نتبع الآتى :

نختار Microsoft windows common controls 6.0 sp6

وذلك من project >> components

وبعد ذلك نختار الأداة Slider

ونكتب فى خصائصها الآتى :

Brderstyle = 1
Max = 2500
Min = 0
Selstart = 2500
Tickstyle = 3
Value=2500

2500 هو اعلى رقم للصوت و 0 هو أقل رقم للصوت

و Selstart هو عند بداية البرنامج يكون الصوت على أعلى درجاته

و Value هو القيمة الكلية للصوت التى لا يجوز تجاوزها

ونكتب الكود التالى فى الحدث Scroll

Private Sub Slider1_Scroll()
On Error Resume Next
MediaPlayer1.Volume = Slider1.Value - 2500
If Slider1.Value = 0 Then
MediaPlayer1.Mute = True
Else
MediaPlayer1.Mute = False
End If
End Sub

وهذا الكود يعنى مساواة صوت الميديا بالشريطة التى قمنل بإنشائها

وإذا حركت هذه الشريطة للقيمة صفر يتم إسكات الصوت أى "Mute = true"

** وبذلك نكون غير مقيدين بأزرار الميديا بلاير

وبالتالى يجب ان يصبح الشكل هكذا :

4mv4.jpg

فتح مجلد صوت كامل :

أولا : نضع فى الـ menu editor ما يلى :

نقوم أولا بتغيير الـ Caption الخاصة بـ Open

وجعلها Open File

ثم نقوم بكتابة Open Folder فى Caption جديد

ونجعل الـ Name الخاصة به mnuopenfolder

ونضغط Ok

ونكتب فى الكود الخاص به ما يلى :

Private Sub mnuopenfolder_Click()
Form2.Show
End Sub

وهذا الكود يقوم بإظهار فورمة جديدة والتى سنقوم بإضافتها

وذلك بعد قراءة ما يلى

ثانيا: نقوم بإدراج فورم جديدة "Form2"

وذلك من Project >> Add Form

ونضع فى هذه الفورم الجديدة مايلى :

DriveListBox  &  DirListBox  &  FileListBox

CommandButton : Name = cmdok , Caption = Ok / Cance

CommandButton : Name = cmdall , Caption = Add All

CommandButton : Name = cmdadd , Caption = Add

وذلك كما بالشكل التالى :

5ho0.jpg

ونقوم بكتابة هذه الصيغ *.mp3;*.avi;*.asf;*.wmv;*.wav;*.wmp;*.wma

فى Pattern الخاصة بـ File1

وهذه الصيغ التى ستظهر فقط فى File1 ويمكن زيادتها بكل أنواع

صيغ الملفات التى تقبلها الميديا يلاير

وثانى مرحلة هى كتابة الأكواد :

كود Drive1

Private Sub Drive1_Change()
On Error Resume Next
Dir1.Path = Drive1.Drive
End Sub

وهذا الكود معروف فهو لإظهار المجلدات التى فى الدرايف أو السواقة فى Dir1

كود Dir1

Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub

وهذا الكود لإظهار الملفات التى فى الداير أو المجلدات فى File1

كود الزر Add All

Private Sub cmdall_Click()
For X = 1 To File1.ListCount
File1.ListIndex = X - 1
Form1.List1.AddItem File1.Path & "\" & File1.FileName
Next X
End Sub

وهذا الكود للقيام بإضافة مجلد صوت كامل

فإذا كتبت الكود الذى فى الستر الثالث فقط

يقوم بإضافة الملف الصوتى الأول فقط وانا هنا قمت

باستخدام For,Next ليقوموا بعمل Loop

أى بإدراج كل الملفات التى فى المجلد

كود الزر Add

Private Sub cmdadd_Click()
Form1.List1.AddItem Dir1.Path & "\" & File1.FileName
End Sub

إذا كنت لا تود بإدراج كل الملفات التى فى المجلد

وتريد إدراج بعضها فقط فعليك بإختيار الملف

وضغط هذا الزر

فهذا الكود يعنى إضافة الملف المختار أو المنشط فقط

وليس كل ما فى المجلد , وقد ذكرته فى كود الزر السابق

كود الزر OK / Cancel

Private Sub cmdok_Click()
Unload Me
End Sub

وهو يقوم بإغلاق نافذة فتح مجلد وهذه هى وظيفته فقط

ويمكن استبدالها بها الكود Form2.hide ولن يحدث أى إختلاف

كود File1

Private Sub File1_DblClick()
cmdadd_Click
End Sub

وهذا الكود نضعه فى الحدث DblClick

وهو يعنى انك إذا قمت بالضغط DblClick على أى ملف

صوتى ينفذ الكود الذى فى الزر Add أى يقوم بإضافة هذا الملف

الصوتى الى الـ ListBox دون إضافة المجلد بأكمله

وهذه تعتبر إختصارة بدل كتابة كود الزر Add فى File1_DblClick

القائمة menu editor :

نقوم بإضافة التالى :

Caption = New List , Name = mnunew

Caption = Refresh, Name = mnuRefresh

Caption = Delete, Name = mnudel

Caption = Exit, Name = mnuExit

ويجب ان يكونوا مثل هذا الشكل :

6wr8.png

وتصنع هذه الفواصل بكتابة – أى كتابة "ناقص" وتكتب فى

الـ Caption وتكون كالتالى فى الـ menu editor

Caption = - , Name = mnu1

ونكتب فى الـ Name أى حاجة أى لا نتقيض بكتابة شىء

معين لأننا لن نستخدمها فى الأكواد

كتابة الأكواد :-

الزر New List

Private Sub mnunew_Click()
Dim Message As String
Dim Title As String
Dim ButtonsAndIcon As Long
Dim Response As String
Message = "are you sure"
ButtonsAndIcon = vbYesNo + vbQuestion + _
vbMsgBoxRtlReading
Title = "New List"
Response = MsgBox(Message, ButtonsAndIcon, Title)
If Response = vbYes Then
List1.Clear
End If
End Sub

وكود عمل صفحة جديدة هو List1.Clear وبالمعنى الأصح هو يمسح

ما فى الـ ListBox

أما ما فعلته أنا اظهار رسالة بنعم أو لا فإذا اخترت نعم سينفذ الكود

وقمت بفعل ذلك حتى لا يضيع ما وضعته فى الـ ListBox سهوا

الزر Refresh

Private Sub mnuRefresh_Click()
List1.Refresh
End Sub

وهو لتنشيط الـ ListBox

الزر Delete

Private Sub mnudel_Click()
On Error Resume Next
List1.RemoveItem List1.ListIndex
End Sub

وعند اختياره يقوم بمسح الملف الصوتى المختار

الزر Exit

Private Sub mnuExit_Click()
Form2.Hide
End
End Sub

وهو لغلق البرنامج وكذلك غلق نافذة فتح مجلد

جديد اذا كانت مفتوحة

الحدث Form1.Unload

Private Sub Form_Unload(Cancel As Integer)
Form2.Hide
End Sub

وذلك اذا قمنا بالضغط على علامة الغلق

X تقوم بغلق البرنامج و نافذة فتح مجلد

جديد اذا كانت مفتوحة 0

ويارب يكون الشرح قد نال اعجابك

وارجو منكم الدعاء لى وللمسلمين

ولغاية ما وصلنا وضعت لكم البرنامج بالمرفقات

والسلام عليكم ورحمة الله وبركاته

MP3.2.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكراً اخي العزيز

فضلاً عندي سؤال

نلاحظ في برامج الصوتيات او اي برامج اخرى

في القائمة ملف يكون هناك ( link ) رابط

لاخر خمسة واسبع ملفات تم فتحها كيف يمكن عمل ذلك

ولك جزيل الشكر

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

من أراد عمل شئ إحترافي يطلع على هذا الكود

http://www.planetsourcecode.com/vb/scripts...83&lngWId=1

في القائمة ملف يكون هناك ( link ) رابط

لاخر خمسة واسبع ملفات تم فتحها كيف يمكن عمل ذلك

وما المشكلة في هذا ؟

أضف عنصر جديد الى القائمة Add new menu item باستخدام InsertMenuItem ..

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
شكراً اخي العزيز

فضلاً عندي سؤال

نلاحظ في برامج الصوتيات او اي برامج اخرى

في القائمة ملف يكون هناك ( link ) رابط

لاخر خمسة واسبع ملفات تم فتحها كيف يمكن عمل ذلك

ولك جزيل الشكر

شكرا اخى " الحيوتي " لإهتمامك بالموضوع

وانا فهمت سؤالك ووضعت لك مثال بالمرفقات

وإن شاء الله سأسعى بتقديمه لكم بصورة بسيطة

فى اى درس لاحق وارجو ان تخبرنى هل هذا

المثال هو ما تريد ؟

وارجو منك المتابعة :)

Link_in_File.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا اخى " cipher " على الرابط الجميل

وانا امتلك الكثير من برامج الصوت التى قام

الأجانب بصنعها ولكنك عندما تنظر للكود الخاص بها

تجدها معقدة وقد لا تستطيع فهم اجزاء كثيرة منها

وانا هنا اقدم لكم طريقة بسيطة جدا لكى تستطيع

تكوين برنامج صوتى بنفسك , وهذا لا يعنى اننى

لم استفد من هذه البرامج فقد افادتنى كثيرا 0

وبالنسبة للأخ " الحيوتي " نسيت ان أقول لك ان

تفتح الـ menu editor وتغير الـ Caption وتجعلها

الرابط الذى يوجد به الملف الصوتى الذى تريد تشغيله مع العلم

ان المثال الذى قدمته ما هو إلا فكرة توجهك لإنجاز السؤال

الذى قدمته 0

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
وانا امتلك الكثير من برامج الصوت التى قام

الأجانب بصنعها ولكنك عندما تنظر للكود الخاص بها

تجدها معقدة وقد لا تستطيع فهم اجزاء كثيرة منها

كاتب الموضوع الذي أشرت إليه اسمه Abdullah Al-Ahdal وأعتقد أنه سعودي والله أعلم ..

لا أرى أي تعقيد في الكود .. كود منظم جداً ويعتمد على MCI API ولا يحتاج لأي مكونات وحاز إعجاب الكثيرين وهو بالفعل يستاهل ذلك ..

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

اشكرك اخي Zain 50 على ردك علي

لقد رايت المثال المرفق لكن ماقصدته ليس وضع الرابط من قبل المصمم

اي انك تفرض على المستخدم فتح ملفات معينة

ماقصدته هو ما يوجد في جميع البرامج ولنفترض برنامج مثل الورد

ففي قائمة ملف يوجد في اسفل القائمة روابط لاخر خمسة او ست ملفات تم

فتحها من قبل المستخدم وهذه الروابط تتغير باستمرار حسب فتح المستخدم لاكثر من

ملف فكيف يتم فعل ذلك هل هناك متغيرات يتم التخزين فيها لروابط هذه الملفات مؤقتاً

لحين فتح ملف اخر فيتغير الرابط لهذا المتغير ام ماذا

واعتذر ان كان سؤالي قد خرج عن اطار شرحك

وشكراً

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

راجع ردي سابقاً

أضف عنصر جديد الى القائمة Add new menu item باستخدام InsertMenuItem ..

راجع MSDN لمعلومات أكثر عن الدالة .. او ابحث عن add menu item on runtime , اعتقد احد الأخوة وضع سؤال من قبل في قسم الفيجوال بيسك عن هذا الشئ

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

هذا المثال المرفق يوجد به ما اقصده

فبامكانك فتح اي ملف صوتي ثم ترى رابط لهذا الملف

في القائمة ملف وحتى اذا اردت تشغيله مره اخرى بامكانك

الضغط على الرابط وهذه الروابط تتغير باستمرار حسب فتح الملفات

المشكله انه اذا اغلاق البرنامج واعيد فتحه مره اخرى تختفي هذه الروابط

معنى هذا الكلام انها تكون في فترة تشغيل البرنامج فقط وانا اريدها ان تكون باستمرار

حتى يتم فتح ملفات اخرى وتتغير باستمرار

ali.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

جزاك الله كل خير اخي العزيز

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخى "cipher" لقد قمت بتحميل الملف وهو رائع

ولقد سررت حينما قلت ان الذى عمله عربى

ولكن هذا البرنامج لا يعتبر كاملا أو شاملا

ولكنه مفيد لقيامه بوضع شرح بالكود

ومثل ما قلته انت كوده سهل جدا

وشكرا لمتابعتك لموضوعى

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخى "الحيوتي" أولا شكرا لمتابعتك لى

ثانيا لقد قلت لك ان ما قدمته مجرد فكرة

ولكنى ان شاء الله سوف افكر فيها جيدا

وارجو منك المزيد من المتابعة

شكرا لتعقيبك يا اخ " yasserstars "

وأرجو منك المتابعة

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بسم الله الرحمن الرحيم

نبدأ المرحلة الثالثة من الشرح بإذن الله

اضافة بسيطة فى Form2:-

كود الزر Add

Private Sub cmdadd_Click()
If File1.ListCount > 0 Then
Form1.List1.AddItem Dir1.Path & "\" & File1.FileName
Else
MsgBox "No files were found in specific folder", vbOKOnly, "Error"
End If
End Sub

كود الزر Add All

Private Sub cmdall_Click()
If File1.ListCount > 0 Then
For X = 1 To File1.ListCount
File1.ListIndex = X - 1
Form1.List1.AddItem File1.Path & "\" & File1.FileName
Next X
Else
MsgBox "No files were found in specific folder", vbOKOnly, "Error"
End If
End Sub

لقد قمت فى الكودين السابقين بإضافة رسالة تظهر فى حالة

عدم وجود ملفات فى Flie1

وهذا هو محتوى الرسالة "No files in this folder" فى حالة

عدم وجود الملفات المطلوبة 0

إضافة Slider2

نقوم بإضافة Slider2 ونجعل خصائصها كالتالى :

BorderStyle = 0
Max = 2500
SelStart = 1
TickStyle = 0

ثم نقوم بإضافة Timer بالخصائص الآتية :

Name = Timersilder2
Interval = 1

كود Timersilder2 :

Private Sub Timersilder2_Timer()
On Error Resume Next
Slider2.Value = MediaPlayer1.CurrentPosition
End Sub

وهو يساوى بين قيمة Slider2 وقيمة CurrentPosition الخاصة

بالميديا بلاير, والـ CurrentPosition هى قيمة مدة الملف الصوتى

المختار , ومدد كل الملفات الصوتية مختلفة بالطبع عن بعضها 0

كود Slider2

ونضع هذا الكود فى الحدث Scroll الخاص بتحريك الشريطة

يمينا ويسارا

Private Sub Slider2_Scroll()
On Error Resume Next
MediaPlayer1.CurrentPosition = Slider2.Value
End Sub

وهو نفس الكود الذى فى الـ Timer

** وبذلك نكون بغنى عن استخدام شكل الميديا بلاير

ولا يوجد مانع من عدم إظهارها للمستخدم

أى نجعل الخاصية Visible = False الخاصة

بالميديا بلاير لكى لا نظهرها للمستخدم

وذلك كما بالشكل :

7sz4.png

إضافات للقائمة menu editor :-

نقوم بإضافة القائمة Play بجوار القائمة File ونجعل

خصائصها كالآتى :

Name = mnuplay
Caption = Play

ونضع الأتى فى فرعها :

Name : mnuNormalPlay
Caption : Normal Play
Checked = True نضع علامة صح
Name : mnuContinuouPlay
Caption : Continuous Play
Name : mnuShuffel
Caption : Shuffel

وذلك كما بالشكل :

8oo7.png

ونقوم بإضافة 3 Timer بالخصائص الآتية :

Timer1

Name: tmrNormalPlay
Interval = 1

*********************
Timer2

Name: TmrContinuousPlay
Interval = 1000

*********************
Timer3

Name: tmrShuffel
Interval = 100

الأكواد :

كود tmrNormalPlay

لن نضع به كود وشرح ذلك سوف يأتى

كود TmrContinuousPlay

Private Sub TmrContinuousPlay_Timer()
On Error Resume Next
If Slider2 = Slider2.Max Then
List1.ListIndex = List1.ListIndex + 1
cmdplay_Click
End If
End Sub

وهذا الكود يعنى تشغيل ما فى الـ List1 بالترتيب

أنظر List1.ListIndex + 1 هذا الواحد يعنى

عند الإنتهاء من الملف الصوتى الأول يشغل الملف

الصوتى الذى يليه مباشرة 0

أى لو غيرنا هذا الواحد برقم ثلاثة مثلا فعند الإنتهاء من

الملف الصوتى الأول يتم تشغل الملف الصوتى الذى

يليه بثلاث ملفات0

وفى النهاية وضعت cmdplay_Click لتقوم بعمل

تشغيل للملف الصوتى أى انها تذهب للكود الذى فى

الزر cmdplay

كود tmrShuffel

Private Sub tmrShuffel_Timer()
If MediaPlayer1.CurrentPosition = MediaPlayer1.Duration Then
On Error Resume Next
Randomize
List1.ListIndex = Int(List1.ListCount * Rnd - 1)
cmdplay_Click
End If
End Sub

ويعنى هذا الكود ان الملف الصوتى اذا وصل

الى آخر مدته " MediaPlayer1.Duration "

يقوم بإختيار أى صوت موجود فى الـ List1

بطريقة عشوائية " Rnd "

و Randomize امر عشوائى ولكنه ليس الأساس0

أكواد القائمة Play " menu editor "

كود Normal Play

Private Sub mnuNormalPlay_Click()
TmrContinuousPlay.Enabled = False
tmrShuffel.Enabled = False
tmrNormalPlay.Enabled = True
mnuNormalPlay.Checked = True
mnuContinuouPlay.Checked = False
mnuShuffel.Checked = False
End Sub

وهذا الكود واضح فهو يغلق كل الـ Timrs التى ليس

لها علاقة بـ Normal Play 0

وانا جعلت tmrNormalPlay لا يحتوى على كود

لأننى اريد تشغيل الملف الصوتى مرة واحدة فقط

وهذا هو الوضع الأساسى فهو لا يحتاج الى كود

لأنك تعطى الأمر Play فيتم تشغيل الملف وعند

الإنتهاء منه لن يجد أمر لينفذه فيوقف أمر التشغيل0

أما بالنسبة للـ Checked فهى علامة الصح

التى فى الـقائمة Play وهى لإعلام المستخدم

الزر المختار هل هو Shuffel ام Continuous Play 00 وهكذا

كود Continuous Play

Private Sub mnuContinuouPlay_Click()
tmrShuffel.Enabled = False
tmrNormalPlay.Enabled = False
TmrContinuousPlay.Enabled = True
mnuNormalPlay.Checked = False
mnuContinuouPlay.Checked = True
mnuShuffel.Checked = False
End Sub

نفس الشرح السابق0

كود Shuffel

Private Sub mnuShuffel_Click()
tmrShuffel.Enabled = True
TmrContinuousPlay.Enabled = False
tmrNormalPlay.Enabled = False
mnuNormalPlay.Checked = False
mnuContinuouPlay.Checked = False
mnuShuffel.Checked = True
End Sub

نفس الشرح السابق ايضا 0

ونكمل الشرح فى المرة القادمة ان شاء الله

وأحب ان اقول لإخى "الحيوتي" اننى توصلت لما تريد

وإن شاء الله سأقدمه المرة القادمة , وأعتذر لعدم تقديمه

فى هذا الشرح ولكن وقتى اصبح ضيقا لإقتراب امتحانى

وذلك يوم 12/9 المقبل

فادعوا لى بالنجاح وجزاكم الله خيرا 0

ولغاية ما وصلنا وضعت البرنامج بالمرفقات0

والسلام عليكم ورحمة الله وبركاته

MP3.3.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
عفوآ لم استطيع قرائه الموضوع كامل لكن عندي اداه تحتوي على equalizer

222222222222222222222222

جزاك الله يا أخى كل خير

لقد قدمت لى شيئا بحثت عنه

كثيرا ولم اجده

بارك الله فيك وزادك من علمه

والسلام عليكم ورحمة الله وبركاته

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أشكرك أخي zain50 وأتمنى أن تتحفنا بمثلها

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
أشكرك أخي zain50 وأتمنى أن تتحفنا بمثلها

مشكور لأهتمامك يا أخى "mhalamin" بالموضوع

وانتظر منى باقى الشرح ان شاء الله

ولكن أعذرنى ان تأخرت , فأنا عندى

امتحان تكميلى يوم 12/9

أسألكم الدعااااااااااااااااااااااااء الخالص

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
مشكور جدا يا أستاذ على هذا الشرح الوافي .

العفو يا أخى "مدافع الإسلام"

وانا مش أستاذ ولا حاجة

دانا عضو بسيط فى الفجوال بيسك

واللى أعرفه على قدى

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .