Ukážeme si jak na kompu pracovat s hudebním CD. Jak ho pustit a podobně...
Pro to, abychom s CD diskem mohli pracovat, musíme si deklarovat API funkce:
Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
Private Declare Function mciGetErrorString Lib "winmm.dll" Alias "mciGetErrorStringA" (ByVal dwError As Long, ByVal lpstrBuffer As String, ByVal uLength As Long) As Long
První z API funkcí slouží k vykonání námi zdaného povelu a druhá vrací případné chyby. Teď jak s nimi pracovat. Práce s hudebním CD je více než jednoduchá. stačí pouze zachytávat řetězce. Začneme tím nejdůležitějším a to je otevření a zavření mechaniky, abychom mohli to CD vložit.
Private Sub Command0_Click()
mciSendString "Set CDAudio Door Open Wait", 0&, 0&, 0&
End Sub
Teď již máme mechaniku otevřenou, tak ji zavřeme:
Private Sub Command1_Click()
mciSendString "Set CDAudio Door Closed Wait", 0&, 0&, 0&
End Sub
Teď si ho pustíme tímto příkazem:
Private Sub Command2_Click()
Print mciSendString("play cdaudio", 0&, 0&, 0&)
End Sub
Pauza:
Private Sub Command4_Click()
Print mciSendString("Pause CDaudio", 0&, 0&, 0&)
End Sub
Obnovení přehrání od pauzy
Private Sub Command5_Click()
Print mciSendString("Resume CDaudio", 0&, 0&, 0&)
End Sub
Zastavení přehrávání.
Private Sub Command3_Click()
Print mciSendString("Stop CDaudio", 0&, 0&, 0&)
End Sub
Nastavení času, od kterého má CD hrát. A jeho puštění.
Private Sub Command7_Click()
Print mciSendString("play cdaudio from 1:55:32 ", 0&, 0&, 0&)
End Sub
Nastvení časového formátu pro CD:
Private Sub Form_Load()
Print mciSendString("set cdaudio time format tmsf wait", 0&, 0&, 0&)
End Sub
A na závěr jsou to funkce, které vrací různé hodnoty, pomocí nichž může zajistit přetáčení a podobně.
Private Sub Command8_Click()
Dim a As String * 12
Print mciSendString("status cdaudio number of tracks", a, Len(a), 0)
Print "Počet stop: " & a
Print mciSendString("status cdaudio current track", a, Len(a), 0)
Print "Právě hrající stopa: " & a
Print mciSendString("status cdaudio length", a, Len(a), 0)
Print "Délka CD: " & a
Print mciSendString("status cdaudio type track 3", a, Len(a), 0)
Print "Typ stopy číslo 1: " & a
Print mciSendString("status cdaudio position", a, Len(a), 0)
Print "Čas od začátku k aktuálnímu místu: " & a
Print mciSendString("status cdaudio position track 3", a, Len(a), 0)
Print "Čas, kde stopa začíná: " & a
Print mciSendString("status cdaudio length track 3", a, Len(a), 0)
Print "Délka stopy: " & a
Print mciSendString("status cdaudio mode", a, Len(a), 0)
Print "Stav přehrávače: " & a
End Sub
To je asi tak vše. Pokud chcete vědět víc, tak vám můžu doporučit MSDN. A hlavně nastavte odchytávání chyb!