× Aktuálně z oboru

Programátoři po celém světě dnes slaví Den programátorů [ clanek/2018091300-programatori-po-celem-svete-dnes-slavi-den-programatoru/ ]
Celá zprávička [ clanek/2018091300-programatori-po-celem-svete-dnes-slavi-den-programatoru/ ]

Práce s hudebním CD

[ http://programujte.com/profil/27-jiri-chytil/ ]Google [ ?rel=author ]       [ http://programujte.com/profil/118-zdenek-lehocky/ ]Google [ ?rel=author ]       30. 10. 2005       9 769×

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!


Článek stažen z webu Programujte.com [ http://programujte.com/clanek/1970010193-prace-s-hudebnim-cd/ ].