تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كود مشغل mp3 , wav , avi , asf , mdi ,wmv
#2
أحب أن أذكر أن هذا الكود يستخدم مكتبات winmm.dll موجودة في جميع إصدارات الويندوز
إبتدائاً من ويندوز 95 حتى فيستا
على حسب ما قرأة من الإنترنت


بعض الملاحظات البسيطة لتتعرف على الكود
سأتكلم عن الكلاس BasicMciPlayer

هذا الكلاس يستخدم مكتبات winmm.dll
وهي بدورها تقوم بتشغيل ملفات MP3 , WAV , MID , WMA , ASF , AVI
بالإضافة إلى إمكانيتها لتشغيل ملفات الفيديو المعروفة
قمت بعمل هذا الكلاس طبعاً بعد البحث في الإنترنت عن كيفية تشغيل ملفات الصوت بدون الحاجة لعمل رفرنس أو إضافة ملفات Dll بشكل مباشر بالمشروع


طريقة التعامل مع هذة المكتبة هي بالمراسلة النصية
يعني لو أردت تشغيل ملف صوتي الرسالة ستكون عبارة عن نص من نوع String
سيتم إرسالة إلى المكتبة winmm.dll وهي بدورها تحلل النص وتتعامل معة بطريقتها الخاصة
وبإمكانها أيضاً الرد عليك برسالة نصية
حيث بإمكانك إرسال متغير من نوع String والرد الذي سيأتي سيتم تعبأته في هذا المتغير
يعني بإمكانك السؤال عن الكائن الصوتي الموجود في الذاكرة طبعاً يتم التعرف علية بالإسم المستعار الذي أخذة الكائن عند إنشائة ,, يمكنك السؤال عن حالتة هل هو يعمل الآن ,, كم طول المدة الصوتية ,, (ما هو الموقع الحالي للقرائة الصوتية - تنفع لعمل شريط يبين التقدم )

كلمة الكائن وهي تعني الكلاس BasicMciPlayer الذي وضعتة في هذا الموضوع
في الشرح إذا قراءة Player فهو يعني الكلاس BasicMciPlayer

بعظ التلميحات على الأكواد

1 - الخاصية FileAlias()
وهي لإعطاء إسم مستعار سيتم تخزينة في الذاكرة للملف الصوتي المراد تشغيلة
بحيث لا يمكنك تغيرة لذلك تم وضعة للقراءة فقط
المكتبة winmm.dll لا يمكنها التعرف على هذا الكائن إلى عن طريقة إسمه المستعار
ويتم إعطاء الإسم المستعار في الحدث New الخاص بالكلاس
كود :
ReadOnly Property FileAlias() As String
        Get
            Return mFileAlias
        End Get
    End Property



إذا أردت إنشاء كائن واحد فقط لتقوم بتشغيل الأصوات عن طريقة
فيجب أن تعلم أن هذا الكائن لا يشغل إلى ملف صوتي واحد فقط في نفس الوقت
**(لتشغيل أكثر من ملف صوتي في نفس الوقت تابع الشرح)**
مثال :
كود :
'- إنشاء الكائن لمرة واحدة
        Dim MyPlayer As New BasicMciPlayer

        '- إستخدام الكائن لتشغيل ملف صوتي
        MyPlayer.FileName = "C:\Music.mp3"
        MyPlayer.Play()

        '- إستخدام نفس الكائن لتشغيل ملف صوتي آخر
        MyPlayer.FileName = "C:\Music.mid"
        MyPlayer.Play()

        '- إستخدام نفس الكائن لتشغيل ملف صوتي آخر
        MyPlayer.FileName = "C:\Music.wav"
        MyPlayer.Play()
لاحظ هنا عند تعديل إسم الملف MyPlayer.FileName
يتم إستدعاء الأمر Stop() ثم close()
أي فقط بمجرد تغييرك لأسم الملف يتم إيقاف تشغيل الصوت
close لاتعني إغلاق الكائن بل هي فقط لإرسالة رسالة للمكتبة winmm.dll لتقوم بإغلاق أي شيئ يخص الإسم المستعار
لاحظ الخاصية FileName
كود :
Property FileName() As String
        Get
            Return mFileName
        End Get
        Set(ByVal value As String)
            Me.Stop()
            Me.close()
            mFileName = value
        End Set
    End Property




إذا أردت أت تشغل أكثر من صوت في نفس الوقت فيجب إنشاء كائن جديد لكل صوت تريد تشغيلة لأن كل كائن سيأخذ إسم مستعار يختلف عن أي كائن آخر

مثال :


هنا تم إنشاء كائن جديد لكل ملف صوتي نريد أن نشغلة
هنا ستسمع ثلاث ملفات صوتية في نفس الوقت
كود :
'- إنشاء كائن لتشغيل ملف صوتي
        Dim MyPlayer00 As New BasicMciPlayer
        MyPlayer00.FileName = "C:\Music.mp3"
        MyPlayer00.Play()

        '- إنشاء كائن جديد لتشغيل ملف صوتي آخر في نفس الوقت
        Dim MyPlayer11 As New BasicMciPlayer
        MyPlayer11.FileName = "C:\Music.mid"
        MyPlayer11.Play()

        '- إنشاء كائن جديد لتشغيل ملف صوتي آخر في نفس الوقت
        Dim MyPlayer22 As New BasicMciPlayer
        MyPlayer22.FileName = "C:\Music.wav"
        MyPlayer22.Play()
الآن ثلاث ملفات صوتية تعمل في نفس الوقت



لإيقاف الصوت يجب إستدعاء أمر التوقف من الكائن نفسه الذي يشغل الصوت

كود :
MyPlayer00.Stop()

MyPlayer11.Stop()

MyPlayer22.Stop()


بإمكانك تحديد مستوى الصوت لكل كائن
طبعاً زي ما أنتوا عارفين مستوى الصوت من 0 إلى 100
كود :
MyPlayer00.volume = 10

MyPlayer11.volume = 50

MyPlayer22.volume = 100


بإمكانك معرفة حالة التشغيل الخاصة بالملف الصوتي إذا كان قيد التشغيل أم لا
عن طريق الخاصية
MyPlayer.IsPlaying
القية التي سترجع هي True أو False
كود :
If MyPlayer.IsPlaying Then
إذا تحقق الشرط
افعل أي شيئ هنا
        End If


بإمكانك معرفة طول مدة الصوت من الخاصية Player.Length
وهي ترجع قيمة عددية تعبر عن طول مدة الصوت
وهي تحسب بالــ milli-seconds ملي ثانية
والـثانية الواحدة = 1000 milli-seconds
والحسبة عليك



أيضاً بإمكانك توقيف الملف الموسيقي مؤقتاً ثم المتابعة
عن طريق الأوامر
كود :
للتوقف مؤقتاً
        Player.Pause()
للمتابعة
        Player.resume()



أترك الباقي لكم ,,
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
كود مشغل mp3 , wav , avi , asf , mdi ,wmv - بواسطة m.sami.ak_mybb_import4434 - 15-09-12, 02:45 PM
كود مشغل mp3 , wav , avi , asf , mdi ,wmv - بواسطة 3amo - 15-02-13, 10:54 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [درس فيديو] اضافة ملف مشغل لصفحة html و جافاسكريبت و سي اس اس بفيجوال بيسك.(قد لا اكون اصبت بالتع سعود 1 1,464 17-04-23, 08:31 AM
آخر رد: سعود
  شرح برمجة مشغل افلام flv على الجهاز سعود 2 3,447 11-10-12, 10:41 AM
آخر رد: m.sami.ak

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم