الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تعليم دايركت ساوند

مغلق
بدأه الكتكوت في 16 أبريل 2003 · 0 رد · 633 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1

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

DirectSound الكائـن دايركت ساوند

دايركت ساوند سهل جدا لذلك لن نحتاج الى اكثر من درس واحد فقط

مقدمة عن دايركت ساونـد

دايركت ساوند كائن رئيسي من كائنات دايركت اكس السهلة جداً ومهمة التعرف على بطاقة الصوت و امكانياتها التي يمكن ان نستخدمهـا ، وايضا يقوم بتحميل ملفات الصوت Wav Files وتشغيلها والتحكم بدرجة الصوت

لذلك سوف يكون في قسم دايركت ساوند درس واحد فقط وذلك لسهولتة

الخطوة الاولى: انشاء مشروع جديد

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

الخطوة الثانية: اعداد المتغيرات الخاصة بـ دايركت ساوند

ضع هذا الكود في قمة الموديل Module1

Public dx As New DirectX7

Public ds As DirectSound 'Our DirectSound object

Public MySound1 As DirectSoundBuffer

Public MySound2 As DirectSoundBuffer

Public MySound3 As DirectSoundBuffer

شرح هذا الكود:

dx

الكائن الرئيسي لدايركت اكس ويتم تعريفة مرة واحدة في البرنامج

ds

الكائن الرئيسي لدايركت ساوند ويتم تعريفة مرة واحدة في البرنامج

MySound1 & MySound2 & MySound3

الكائنات التي سوف تحمل ملف الموسيقى و منها سوف نستطيع تشغيلها

الخطوة الثالثة: انشاء نداء تعريف دايركت ساوند

ضع هذا الكود في الموديل Module1

Function DXSound_Init(Hwnd As Long) As Boolean

Set ds = dx.DirectSoundCreate(vbNullString) 'خلق الكائن دايركت ساوند

ds.SetCooperativeLevel Hwnd, DSSCL_PRIORITY'تحديد تصرف هذا الكائن

DXSound_Init = True

End Function

الخطوة الرابعة: انشاء نداء تحميل ملفات الصوت

ضع هذا الكود في الموديل Module1

Function DXSound_LoadSound(SoundFileName As String) As DirectSoundBuffer

Dim dsBuf As DSBUFFERDESC

Dim dsBuffer As DirectSoundBuffer

Dim WF As WAVEFORMATEX

dsBuf.lFlags = DSBCAPS_CTRLVOLUME Or DSBCAPS_CTRLFREQUENCY

Set dsBuffer = ds.CreateSoundBufferFromFile(SoundFileName, dsBuf, WF)

Set DXSound_LoadSound = dsBuffer

End Function

شرح الكود:

هذا الكود يقوم بتحميل ملفات الصوت ذات الامتداد WAV وربطها بكائن من نوع DirectSoundBuffer لنتمكن من تشغيلة ضمن برنامجنا

dsBuf

متغير لكي يحمل خصائص الصوت

وسوف نعرف العنصر Flag التابع لهذا المتغير كـ التالي

dsBuf.lFlags = DSBCAPS_CTRLVOLUME Or DSBCAPS_CTRLFREQUENCY

dsBuffer

الكائن التي سوف يحمل ملف الموسيقى

WF

متغير سوف يحمل صفات الصوت بعد التحميل

CreateSoundBufferFromFile

الامر الخاص بتحميل الملف ووضعة في كائن من نوع DirectSoundBuffer

الخطوة الخامسة: تشغيل ملفات الصوت

اصبح تشغيل ملفات الصوت الان سهل جداً ، فقط استخدم الاوامر التالية في اي مكان او جزء من برنامجك

اذا احتجت الي توضيح اكثر راجع ملف المشروع

MySound1.Play DSBPLAY_DEFAULT 'لتشغيل الصوت والتوقف عند نهاية الصوت او الموسيقى

MySound1.Play DSBPLAY_LOOPING 'لتشغيل الصوت بأستمرار فعندما ينتهى الصوت يتم اعادة تشغيلة من البداية بشكل متكرر

MySound1.SetCurrentPosition 0'لضبط الموقع الذي سيبداء من تشغيل الصوت

MySound1.Stop'لأيقاف تشغيل الصوت.

وتحياتي الكتكوت

هذا الموضوع مغلق.

مواضيع مشابهة