befehl MCI_SET

Hinweis

Bias-freie Kommunikation Microsoft unterstützt eine vielfältige und inklusionäre Umgebung. In diesem Dokument gibt es Verweise auf das Wort "Slave". Im Microsoft Style Guide for Bias-Free Communications wird dies als ausgrenzender Begriff erkannt. Diese Formulierung wird verwendet, da es sich derzeit um die Formulierung handelt, die in den Befehlen verwendet wird. Aus Gründen der Konsistenz enthält dieses Dokument dieses Wort. Wenn dieses Wort in den Befehlen geändert wird, korrigieren wir dieses Dokument so, dass es ausgerichtet ist.

Der MCI_SET-Befehl legt Geräteinformationen fest. CD-Audio-, Digital-Video-, MIDI-Sequencer-, VCR-, Videodisc-, Video-Overlay- und Waveform-Audio-Geräte erkennen diesen Befehl.

Um diesen Befehl zu senden, rufen Sie die mciSendCommand-Funktion mit den folgenden Parametern auf.

MCIERROR mciSendCommand(
  MCIDEVICEID wDeviceID, 
  MCI_SET, 
  DWORD dwFlags, 
  (DWORD) (LPMCI_SET_PARMS) lpSet
);

Parameter

wDeviceID

Gerätebezeichner des MCI-Geräts, das die Befehlsnachricht empfangen soll.

dwFlags

MCI_NOTIFY, MCI_WAIT oder für Digitalvideo- und Videorekordergeräte MCI_TEST. Informationen zu diesen Flags finden Sie unter Warte-, Benachrichtigungs- und Testflags.

lpSet

Zeiger auf eine MCI_SET_PARMS-Struktur . (Geräte mit erweiterten Befehlssätzen können diese Struktur durch eine gerätespezifische Struktur ersetzen.)

Rückgabewert

Gibt null zurück, wenn der Vorgang erfolgreich war oder andernfalls ein Fehler.

Bemerkungen

Die folgenden zusätzlichen Flags gelten für alle Geräte, die MCI_SET unterstützen:

MCI_SET_AUDIO

Eine Audiokanalnummer ist im dwAudio-Member der durch lpSet identifizierten Struktur enthalten. Dieses Flag muss mit MCI_SET_ON oder MCI_SET_OFF verwendet werden. Verwenden Sie eine der folgenden Konstanten, um die Kanalnummer anzugeben:

MCI_SET_AUDIO_ALL

Alle Audiokanäle.

MCI_SET_AUDIO_LEFT

Linker Kanal.

MCI_SET_AUDIO_RIGHT

Rechter Kanal.

MCI_SET_DOOR_CLOSED

Schließt die Medienabdeckung (falls vorhanden).

MCI_SET_DOOR_OPEN

Öffnet die Medienabdeckung (falls vorhanden).

MCI_SET_OFF

Deaktiviert den angegebenen Video- oder Audiokanal.

MCI_SET_ON

Aktiviert den angegebenen Video- oder Audiokanal.

MCI_SET_TIME_FORMAT

Ein Zeitformatparameter ist im dwTimeFormat-Member der durch lpSet identifizierten Struktur enthalten. Die folgenden Flags werden mit diesem Flag verwendet:

MCI_FORMAT_BYTES

In einem PCM-Datenformat (Pulse Code Modulation) ändert die Beschreibung des Zeitelements für die Eingabe oder Ausgabe in Bytes. Wird vom Waveaudio-Gerätetyp erkannt.

MCI_FORMAT_FRAMES

Nachfolgende Befehle verwenden Frames. Wird von den Gerätetypen digitalvideo, vcr und videodisc erkannt.

MCI_FORMAT_HMS

Ändert das Zeitformat in Stunden, Minuten und Sekunden. Wird von den Gerätetypen vcr und videodisc erkannt.

MCI_FORMAT_MILLISECONDS

Ändert das Zeitformat in Millisekunden. Wird von allen Gerätetypen erkannt.

MCI_FORMAT_MSF

Ändert das Zeitformat in Minuten, Sekunden und Frames. Wird von den Gerätetypen cdaudio und vcr erkannt.

MCI_FORMAT_SAMPLES

Ändert das Zeitformat in Beispiele für die Eingabe oder Ausgabe. Wird vom Waveaudio-Gerätetyp erkannt.

MCI_FORMAT_SMPTE_24, MCI_FORMAT_SMPTE_25 und MCI_FORMAT_SMPTE_30

Legt das Zeitformat auf 24, 25 und 30 Frame SMPTE (Society of Motion Picture and Television Engineers) fest. Wird von den Sequencer- und vcr-Gerätetypen erkannt.

MCI_FORMAT_SMPTE_30DROP

Legt das Zeitformat auf 30 Dropframe-SMPTE fest. Wird von den Sequencer- und vcr-Gerätetypen erkannt.

MCI_FORMAT_TMSF

Ändert das Zeitformat in Spuren, Minuten, Sekunden und Frames. (MCI verwendet fortlaufende Spurnummern.) Wird von den Gerätetypen cdaudio und vcr erkannt.

MCI_SET_VIDEO

Legt das Videosignal ein oder aus. Dieses Flag muss mit MCI_SET_ON oder MCI_SET_OFF verwendet werden. Geräte ohne Videorückgabe MCIERR_UNSUPPORTED_FUNCTION.

Die folgenden zusätzlichen Flags werden mit dem Gerätetyp digitalvideo verwendet:

MCI_DGV_SET_FILEFORMAT

Ein Dateiformatparameter ist im dwFileFormat-Member der durch lpSet identifizierten Struktur enthalten. Für Digitalvideogeräte wird das Dateiformat für Speicher- oder Aufzeichnungsbefehle verwendet. Wenn dies nicht angegeben wird, kann dies standardmäßig auf ein vom Gerätetreiber definiertes Format verwendet werden. Wenn das angegebene Dateiformat mit dem aktuell ausgewählten Algorithmus und der ausgewählten Qualität in Konflikt tritt, werden sie in die Standardwerte für das Dateiformat geändert. Die folgenden Dateiformatkonstanten werden definiert:

MCI_DGV_FF_AVI

AVI-Format.

MCI_DGV_FF_AVSS

AVSS-Format.

MCI_DGV_FF_DIB

DIB-Format.

MCI_DGV_FF_JFIF

JFIF-Format.

MCI_DGV_FF_JPEG

JPEG-Format.

MCI_DGV_FF_MPEG

MPEG-Format.

MCI_DGV_FF_RDIB

RLE-DIB-Format.

MCI_DGV_FF_RJPEG

RJPEG-Format.

MCI_DGV_SET_SEEK_EXACTLY

Legt das für die Positionierung verwendete Format fest. Dieses Flag muss mit MCI_SET_ON oder MCI_SET_OFF verwendet werden. Wenn MCI_SET_ON angegeben ist, greift die Wiedergabe oder Aufzeichnung genau auf den mit dem MCI_FROM Flag angegebenen Frame zu. Dies kann zu einer zusätzlichen Verzögerung führen, wenn der angeforderte Frame kein Keyframe ist. Wenn MCI_SET_OFF angegeben ist, sucht das Gerät nach einem Keyframe-Bild, das dem angeforderten Frame vorangeht. Bei einigen Dateien und Geräten kann dies der erste Frame der Datei sein. Die Standardeinstellung für dieses Flag ist geräteabhängig.

MCI_DGV_SET_SPEED

Ein Geschwindigkeitsparameter ist im dwSpeed-Member der durch lpSet identifizierten Struktur enthalten. Die Geschwindigkeit wird als Verhältnis zwischen der nominalen Bildrate und der gewünschten Bildrate angegeben, wobei die nominale Bildrate als 1000 angegeben wird. Die halbe Geschwindigkeit ist 500 und die doppelte Geschwindigkeit ist 2000. Der zulässige Geschwindigkeitsbereich hängt vom Gerät und möglicherweise auch von der Datei ab.

MCI_DGV_SET_STILL

Bei Verwendung mit MCI_DGV_SET_FILEFORMAT legt MCI_SET das Dateiformat fest, das für Erfassungsbefehle verwendet wird.

Bei Digitalvideogeräten verweist der lpSet-Parameter auf eine MCI_DGV_SET_PARMS-Struktur .

Die folgenden zusätzlichen Flags werden mit dem Sequencer-Gerätetyp verwendet:

MCI_SEQ_FORMAT_SONGPTR

Legt das Zeitformat auf Songzeigereinheiten fest.

MCI_SEQ_SET_MASTER

Legt den Sequencer als Quelle für Synchronisierungsdaten fest und gibt an, dass der Synchronisierungstyp im dwMaster-Member der durch lpSet identifizierten Struktur angegeben wird. MCISEQ gibt MCIERR_UNSUPPORTED_FUNCTION zurück. Die folgenden Konstanten werden für den Synchronisierungstyp definiert:

MCI_SEQ_MIDI

Der Sequencer sendet Synchronisierungsdaten im MIDI-Format.

MCI_SEQ_SMPTE

Der Sequencer sendet Synchronisierungsdaten im SMPTE-Format.

MCI_SEQ_NONE

Der Sequencer sendet keine Synchronisierungsdaten.

MCI_SEQ_SET_OFFSET

Ändert den SMPTE-Offset einer Sequenz in den vom dwOffset-Member der durch lpSet identifizierten Struktur angegebenen Wert. Dies betrifft nur Sequenzen mit einem SMPTE-Divisionstyp.

MCI_SEQ_SET_PORT

Legt den MIDI-Ausgabeport einer Sequenz auf den vom MIDI-Gerätebezeichner im dwPort-Element der durch lpSet identifizierten Struktur angegebenen Wert fest. Das Gerät schließt den vorherigen Port (falls vorhanden), und versucht, den neuen Port zu öffnen und zu verwenden. Wenn ein Fehler auftritt, wird ein Fehler zurückgegeben und der zuvor verwendete Port (falls vorhanden) erneut geöffnet. Die folgenden Konstanten werden für die Ports definiert:

MCI_SEQ_NONE

Schließt den zuvor verwendeten Port (falls vorhanden). Der Sequencer verhält sich genau so, als wäre ein Port geöffnet, es wird keine MIDI-Nachricht gesendet.

MIDI_MAPPER

Legt den geöffneten Port auf den MIDI-Mapper fest.

MCI_SEQ_SET_SLAVE

Legt fest, dass der Sequencer Synchronisierungsdaten empfängt, und gibt an, dass der Synchronisierungstyp im dwSlave-Member der durch lpSet identifizierten Struktur angegeben wird. MCISEQ gibt MCIERR_UNSUPPORTED_FUNCTION zurück. Die folgenden Konstanten werden für den Synchronisierungstyp definiert:

MCI_SEQ_FILE

Legt fest, dass der Sequencer Synchronisierungsdaten empfängt, die in der MIDI-Datei enthalten sind.

MCI_SEQ_MIDI

Legt fest, dass der Sequenzer MIDI-Synchronisierungsdaten empfängt.

MCI_SEQ_NONE

Legt fest, dass der Sequenzer Synchronisierungsdaten in einem MIDI-Stream ignoriert.

MCI_SEQ_SMPTE

Legt fest, dass der Sequencer SMPTE-Synchronisierungsdaten empfängt.

MCI_SEQ_SET_TEMPO

Ändert das Tempo der MIDI-Sequenz in das vom dwTempo-Element der Struktur angegeben, auf die von lpSet verwiesen wird. Bei Sequenzen mit dem Divisionstyp PPQN wird das Tempo in Takten pro Minute angegeben. für Sequenzen mit dem Divisionstyp SMPTE wird das Tempo in Frames pro Sekunde angegeben.

Bei Sequencergeräten verweist der lpSet-Parameter auf eine MCI_SEQ_SET_PARMS-Struktur .

Die folgenden zusätzlichen Flags werden mit dem Vcr-Gerätetyp verwendet:

MCI_VCR_SET_ASSEMBLE_RECORD

Legt fest, dass das Gerät im Montage- oder Einfügemodus erfasst werden soll (wenn die Montage deaktiviert ist, der Einfügevorgang aktiviert ist und umgekehrt). Verwenden Sie mit einem der folgenden Flags:

MCI_SET_ON

Legt den Datensatz zusammenzufügen auf fest und deaktiviert das Einfügen von Datensätzen. Zeichnet alle Video-, Audio- und Timecodespuren auf.

MCI_SET_OFF

Legt datensatzassen ab und aktiviert Datensatz einfügen. Wenn die Zusammenstellung der Aufzeichnung deaktiviert ist, können einzelne Spuren von Video, Audio und Timecode für die Aufzeichnung ausgewählt werden.

MCI_VCR_SET_CLOCK

Das dwClock-Element der durch lpSet identifizierten Struktur enthält die neue Uhrzeit.

MCI_VCR_SET_COUNTER_FORMA

Das dwCounterFormat-Element der durch lpSet identifizierten Struktur enthält eine Konstante, die das neue Zählerzeitformat angibt, das vom status-Zähler verwendet werden soll. Eine Liste der gültigen Konstanten finden Sie unter MCI_SET_TIME_FORMAT in der Liste der zusätzlichen Flags für diesen Befehl.

MCI_VCR_SET_COUNTER_VALUE

Das dwCounterValue-Element der von lpSet identifizierten Struktur enthält den neuen Zählerwert.

MCI_VCR_SET_INDEX

Das dwIndex-Element der durch lpSet identifizierten Struktur enthält eine Konstante, die den Inhalt der Bildschirmanzeige angibt, und muss eine der folgenden sein:

MCI_VCR_INDEX_COUNTER

Zeigt den Zähler an.

MCI_VCR_INDEX_DATE

Zeigt das Datum an.

MCI_VCR_INDEX_TIME

Zeigt die Zeit an.

MCI_VCR_INDEX_TIMECODE

Zeigt Timecode an.

Weitere Informationen finden Sie im Befehl MCI_INDEX .

MCI_VCR_SET_PAUSE_TIMEOUT

Das dwPauseTimeout-Element der durch lpSet identifizierten Struktur enthält die maximale Dauer eines Pausenbefehls in Millisekunden.

MCI_VCR_SET_POSTROLL_DURATION

Das dwPostrollDuration-Element der durch lpSet identifizierten Struktur enthält die Videobandlänge im aktuellen Zeitformat, die erforderlich ist, um den VCR-Transport zu bremsen, wenn ein Befehl zum Beenden oder Anhalten ausgegeben wird.

MCI_VCR_SET_POWER

Legt das Ein- oder Ausschalten fest. Muss mit einem der folgenden Flags verwendet werden:

MCI_SET_OFF

Schaltet die Stromversorgung aus.

MCI_SET_ON

Schaltet das Einschalten ein.

MCI_VCR_SET_PREROLL_DURATION

Das dwPrerollDuration-Element der durch lpSet identifizierten Struktur enthält die Videobandlänge im aktuellen Zeitformat, die zur Stabilisierung der VCR-Ausgabe erforderlich ist.

MCI_VCR_SET_RECORD_FORMAT

Das dwRecordFormat-Element der durch lpSet identifizierten Struktur enthält eine Konstante, die die Datensatzgeschwindigkeit beschreibt. Dies muss eine der folgenden Sein:

MCI_VCR_FORMAT_EP

Zeichnet mit langsamer Geschwindigkeit auf.

MCI_VCR_FORMAT_LP

Aufzeichnungen mit mittlerer bis langsamer Geschwindigkeit.

MCI_VCR_FORMAT_SP

Aufzeichnungen mit Standardgeschwindigkeit.

MCI_VCR_SET_SPEED

Das durch lpSetidentifizierte dwSpeed-Element der Struktur enthält die neue Geschwindigkeitseinstellung, wobei 1000 normal ist, 2000 eine doppelte Geschwindigkeit und 500 eine halbe Geschwindigkeit usw. ist.

MCI_VCR_SET_TAPE_LENGTH

Das dwTapeLength-Element der durch lpSet identifizierten Struktur enthält die neue Länge des Bandes, sofern die Länge des Bandes nicht erkennbar ist.

MCI_VCR_SET_TIME_MODE

Das dwTimeMode-Element der durch lpSet identifizierten Struktur enthält eine Konstante, die den neuen Positionszeitmodus angibt. Die folgenden Konstanten sind gültig:

MCI_VCR_TIME_COUNTER

Zwingt das Gerät, den Zähler ausschließlich zu verwenden.

MCI_VCR_TIME_DETECT

Jedes Mal, wenn ein neues Videoband in das Gerät eingefügt wird oder sich der Modus von nicht bereit zu bereit ändert, sollte das Gerät versuchen, zu ermitteln, ob timecode auf dem Videoband verfügbar ist. Wenn Timecode verfügbar ist, verwenden Sie Timecode in allen nachfolgenden Befehlen, die Positionen angeben. Verwenden Sie andernfalls den Zähler.

MCI_VCR_TIME_TIMECODE

Erzwingt, dass das Gerät ausschließlich Timecode verwendet.

MCI_VCR_SET_TRACKING

Stimmt die Geschwindigkeit des VcR-Bandtransports mit einer Feineinstellung ab, und muss mit einem der folgenden Flags verwendet werden:

MCI_VCR_PLUS

Erhöht die Bandtransportgeschwindigkeit.

MCI_VCR_MINUS

Verringert die Bandtransportgeschwindigkeit.

MCI_VCR_RESET

Gibt die Nachverfolgungsanpassung auf 0 zurück.

Bei VcR-Geräten zeigt der lpSet-Parameter auf eine MCI_VCR_SET_PARMS-Struktur .

Das folgende zusätzliche Flag wird für den videodisc-Gerätetyp verwendet:

MCI_VD_FORMAT_TRACK

Ändert das Zeitformat in Spuren. MCI verwendet fortlaufende Spurnummern.

Die folgenden zusätzlichen Flags werden mit dem Waveaudio-Gerätetyp verwendet:

MCI_WAVE_INPUT

Legt die für die Aufzeichnung verwendete Eingabe auf das wInput-Element der durch lpSet identifizierten Struktur fest.

MCI_WAVE_OUTPUT

Legt die für die Wiedergabe verwendete Ausgabe auf das wOutput-Element der durch lpSet identifizierten Struktur fest.

MCI_WAVE_SET_ANYINPUT

Für die Aufzeichnung kann jeder mit dem aktuellen Format kompatible Welleneingang verwendet werden.

MCI_WAVE_SET_ANYOUTPUT

Für die Wiedergabe kann jede mit dem aktuellen Format kompatible Welleausgabe verwendet werden.

MCI_WAVE_SET_AVGBYTESPERSEC

Legt die zum Wiedergeben, Aufzeichnen und Speichern verwendeten Bytes pro Sekunde auf das nAvgBytesPerSec-Element der von lpSet identifizierten Struktur fest.

MCI_WAVE_SET_BITSPERSAMPLE

Legt die Bits pro Beispiel zum Wiedergeben, Aufzeichnen und Speichern auf das nBitsPerSample-Element des von lpSet identifizierten PCM-Datenformats fest.

MCI_WAVE_SET_BLOCKALIGN

Legt die Blockausrichtung zum Wiedergeben, Aufzeichnen und Speichern auf das nBlockAlign-Element der durch lpSet identifizierten Struktur fest.

MCI_WAVE_SET_CHANNELS

Die Anzahl der Kanäle wird im nChannels-Member der durch lpSet identifizierten Struktur angegeben.

MCI_WAVE_SET_FORMATTAG

Legt den Formattyp, der zum Wiedergeben, Aufzeichnen und Speichern verwendet wird, auf das wFormatTag-Element der von lpSet identifizierten Struktur fest. Wenn Sie WAVE_FORMAT_PCM angeben, wird das Format in PCM geändert.

MCI_WAVE_SET_SAMPLESPERSEC

Legt die Zum Wiedergeben, Aufzeichnen und Speichern verwendeten Beispiele pro Sekunde auf das nSamplesPerSec-Element der von lpSet identifizierten Struktur fest.

Bei Waveform-Audiogeräten zeigt der lpSet-Parameter auf eine MCI_WAVE_SET_PARMS-Struktur .

Mehrere Eigenschaften von Waveform-Audiodaten werden definiert, wenn die Datei zum Speichern der Daten erstellt wird. Diese Eigenschaften beschreiben, wie die Daten in der Datei strukturiert sind und nach Beginn der Aufzeichnung nicht mehr geändert werden können. Die folgende Liste von Flags identifiziert diese Eigenschaften:

  • MCI_WAVE_SET_AVGBYTESPERSEC
  • MCI_WAVE_SET_BITSPERSAMPLE
  • MCI_WAVE_SET_BLOCKALIGN
  • MCI_WAVE_SET_CHANNELS
  • MCI_WAVE_SET_FORMATTAG
  • MCI_WAVE_SET_SAMPLESPERSEC

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows 2000 Server [nur Desktop-Apps]
Header
Mmsystem.h (einschließlich Windows.h)

Siehe auch

MCI

MCI-Befehle