المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : درس طريقة صنع برنامج مثل الـ winamp



walid_8281500
03-23-2009, 09:53 PM
http://www.geek4arab.com/vb/images/salam.png


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

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

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

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

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

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

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

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

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

http://img180.imageshack.us/img180/3845/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 , أنظر الشكل :-

http://img167.imageshack.us/img167/5248/2se0.jpg

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

http://img167.imageshack.us/img167/5030/3db4.jpg


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

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

أولا : الزر Play

كود
Private Sub cmdplay_Click ()
1 : On Error Resume Next
2 : MediaPlayer1.FileName = List1.****
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 "A7medzain@yahoo|*.mp3;*.avi;*.asf;*.wmv;*.wav ;*.w mp;*.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

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

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

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

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