Freigeben über


Gerätesteuerung (Windows Multimedia)

[Das dieser Seite zugeordnete Feature MCI ist ein Legacyfeature. Es wurde von MediaPlayer ersetzt. MediaPlayer wurde für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, nach Möglichkeit für neuen Code MediaPlayer anstelle von MCI zu verwenden. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]

Um ein MCI-Gerät zu steuern, öffnen Sie das Gerät, senden die erforderlichen Befehle an das Gerät und schließen dann das Gerät. Die Befehle können sehr ähnlich sein, auch für völlig unterschiedliche MCI-Geräte. Die folgende Reihe von MCI-Befehlen gibt beispielsweise den sechsten Titel einer Audio-CD mithilfe der mciSendString-Funktion ab:

mciSendString("open cdaudio", lpszReturnString,
    lstrlen(lpszReturnString), NULL);
mciSendString("set cdaudio time format tmsf", lpszReturnString, 
    lstrlen(lpszReturnString), NULL);
mciSendString("play cdaudio from 6 to 7", lpszReturnString, 
    lstrlen(lpszReturnString), NULL);
mciSendString("close cdaudio", lpszReturnString, 
    lstrlen(lpszReturnString), NULL);

Das nächste Beispiel zeigt eine ähnliche Reihe von MCI-Befehlen, die die ersten 10.000 Beispiele einer Waveform-Audiodatei wiedergeben:

mciSendString(
    "open c:\mmdata\purplefi.wav type waveaudio alias finch", 
    lpszReturnString, lstrlen(lpszReturnString), NULL);
mciSendString("set finch time format samples", lpszReturnString, 
    lstrlen(lpszReturnString), NULL);
mciSendString("play finch from 1 to 10000", lpszReturnString, 
    lstrlen(lpszReturnString), NULL);
mciSendString("close finch", lpszReturnString, 
    lstrlen(lpszReturnString), NULL);

Diese Beispiele veranschaulichen einige interessante Fakten zu MCI-Befehlen:

  • Die gleichen grundlegenden Befehle (Öffnen, Festlegen, Wiedergeben und Schließen) werden für CD-Audio- und Waveform-Audiogeräte verwendet. Die gleichen MCI-Befehle werden mit allen MCI-Geräten verwendet.
  • Der Open-Befehl für das Waveform-Audiogerät enthält eine Dateinamenspezifikation. Das Waveform-Audiogerät ist ein zusammengesetztes Gerät (eines, das einer Datendatei zugeordnet ist), während das CD-Audiogerät ein einfaches Gerät (eines ohne zugeordnete Datendatei) ist.
  • Der Befehl set gibt in jedem Fall Zeitformate an, aber das Zeitformatflag für das CD-Audiogerät gibt das TMSF-Format (Tracks/Minuten/Sekunden/Frames) an, während das zeitformat, das mit dem Waveform-Audiogerät verwendete Zeitformat "Samples" angibt.
  • Die Variablen, die mit den Flags "from" und "to" verwendet werden, sind für das jeweilige Zeitformat geeignet. Für das CD-Audiogerät geben die Variablen beispielsweise einen Spurbereich an, aber für das Waveform-Audiogerät geben die Variablen einen Beispielbereich an.