السلام عليكم ورحمة الله وبركاته
ملفات القرآن الكريم التي تريد تشغيلها تكون في العادة من نوع MP3
لذلك بدلاً عن الـ Windows Media Player يمكنك استخدام دالة API التالية أضفها أعلى الـ Form :
كود :
Public Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Integer, ByVal hwndCallback As Integer) As Integer
أولاً : فتح ملف الصوت في الأداة (ضروري) :
كود :
mciSendString("Open " & Chr(34) & ofd.FileName & Chr(34) & " alias audio", 0, 0, 0)
الـ (Chr(34 تعني علامة (") .
ثانياً: لتشغيل ملف الصوت (Play) الذي فتحناه :
كود :
mciSendString("play audio", 0, 0, 0)
ثالثاً: لإيقاف ملف الصوت مؤقتاً (Pause) :
كود :
mciSendString("pause audio", CStr(0), 0, 0)
رابعاً: لإيقاف ملف الصوت نهائياً (Stop) :
كود :
mciSendString("stop audio", CStr(0), 0, 0)
خامساً: لمواصلة تشغيل ملف الصوت (Resume) في حال كان تم إيقافه مؤقتاً (Pause) :
كود :
mciSendString("resume audio", 0, 0, 0)
سادساً: لأغلاق ملف الصوت (Close) والإغلاق لا يتم إلا بعد التأكد من فتح الملف كما في الخطوة الأولى :
كود :
mciSendString("close audio", CStr(0), 0, 0)
سابعاً: للتحكم في رفع أو خفض الصوت بالدالة (Volume) :
كود :
mciSendString("setaudio audio volume to 1000", 0, 0, 0)
رقم 1000 يعني أعلى مستوى صوت (يجب أن تكون القيمة بين الـ 1000 و الـ 1)
ثامناً: دوال مفيدة :
* دالة تعود بطول ملف الصوت الذي تشغله في الدالة (Lenght) :
كود :
Public Function GetLength() As Long
Dim Data As String = Space(128)
Dim VidLen As String = Nothing
mciSendString("set audio time format ms", 0, 0, 0)
mciSendString("status audio length", Data, 128, 0)
GetLength = CLng(Data)
End Function
* دالة تعود بالموضع الحالي لملف الصوت في الدالة :
كود :
Public Function GetPosition() As Long
Dim Data As String = Space(128)
mciSendString("set audio time format ms", 0, 0, 0)
mciSendString("status audio position wait", Data, 128, 0)
GetPosition = Val(Data)
End Function
****
***
**
*