Chcete mít vlastní jednoduchý přehrávač CD v .NET aplikaci? – Pomůže Vám MCI.

Vlastní CD přehrávač? Proč ne?

Jednou z možností jak si udělat vlastní CD přehrávač je použít MCI. MCI = Media Control Interface je řídící mechanismus, který umožňuje přístup k multimediím a zdrojům počítače. Se zařízeními lze velice snadno manipulovat a z aplikace je řídíte jednoduchými příkazy např. open, play, close, …

Public Class CDCore
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

\'proměnná nemůže být obyčejný String a protože .NET nezná String s pevnou délkou musí se kvůli tomu dělat takováto šílenost
<VBFixedString(127), MarshalAs(UnmanagedType.ByValTStr, SizeConst:=127)> Public rr As String = "------------------------------------------------------------------------------------------------------------------------------"

Public Sub OpenCD()

    mciSendString("set cd1 door open", rr, 127, 0)

End Sub

Public Sub CloseCD()

    mciSendString("set cd1 door closed", rr, 127, 0)

End Sub

Public Function CdaudioTrackNumber()

        mciSendString("status cd1 number of tracks", rr, 127, 0)
        Return rr

End Function

Sub Play()
    mciSendString("set cd1 time format tmsf", rr, 127, 0)
    mciSendString("play cd1", rr, 127, 0)
End Sub

Sub Pause()
    mciSendString("pause cd1", rr, 127, 0)
End Sub

\'k hranatým závorkám jen poznámka pro nováčky, Stop je v .Net klíčové slovo a nešlo by použít jako identifikátor, proto musíme Stop obalit závorkami 
Sub [Stop]()
    mciSendString("stop cd1", rr, 127, 0)
End Sub

End Class

Další informace k celé problematice MCI najdete v docela pěkném článku na http://www.geocities.com/smigman.geo/mci/riffmci.html

Příspěvek byl publikován v rubrice Nezařazené a jeho autorem je admin. Můžete si jeho odkaz uložit mezi své oblíbené záložky nebo ho sdílet s přáteli.

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *