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
);
-
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.)
Gibt null zurück, wenn der Vorgang erfolgreich war oder andernfalls ein Fehler.
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
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) |
Windows 2000 Server [nur Desktop-Apps] |
Header |
|