Befehl "MCI_SET"
Hinweis
Bias-free Communication Microsoft unterstützt eine vielfältige und einschlussreiche Umgebung. In diesem Dokument gibt es Verweise auf das Wort "Slave". Der Microsoft-Formatvorlagenhandbuch für Bias-Free Communications erkennt dies als ausschlussartiges Wort. Dieses Wort wird verwendet, da es sich derzeit um das Wort handelt, das in den Befehlen verwendet wird. Für Konsistenz enthält dieses Dokument dieses Wort. Wenn dieses Wort in den Befehlen geändert wird, korrigieren wir dieses Dokument so, dass es sich um eine Ausrichtung handelt.
Der MCI_SET Befehl legt Geräteinformationen fest. CD-Audio, Digitalvideo, MIDI-Sequenzer, VCR, VideoDisc, Videoüberlagerung und Waveform-Audiogeräte erkennen diesen Befehl.
Rufen Sie zum Senden dieses Befehls 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 empfängt.
-
Dwflags
-
MCI_NOTIFY, MCI_WAIT oder MCI_TEST für digitale Video- und VCR-Geräte. Informationen zu diesen Flags finden Sie unter "Warten", "Benachrichtigen" und "Test flags".
-
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 ein Fehler erfolgreich ist oder andernfalls ein Fehler auftritt.
Bemerkungen
Die folgenden zusätzlichen Kennzeichen gelten für alle Geräte, die MCI_SET unterstützen:
-
MCI_SET_AUDIO
-
Eine Audiokanalnummer ist im dwAudio-Element der struktur enthalten, die von lpSet identifiziert wird. Dieses Kennzeichen 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
-
Rechtskanal.
-
MCI_SET_DOOR_CLOSED
-
Schließt die Medienbeschlagung (falls vorhanden).
-
MCI_SET_DOOR_OPEN
-
Öffnet die Medienbeschlagung (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-Element der struktur enthalten, die von lpSet identifiziert wird. Die folgenden Flags werden mit diesem Kennzeichen verwendet:
-
MCI_FORMAT_BYTES
-
Ändert innerhalb eines PCM-Datenformats (Pulse Code Modulation) die Zeitelementbeschreibung in Bytes für Eingabe oder Ausgabe. 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. Erkannt von den Vcr - und VideoDisc-Gerätetypen .
-
MCI_FORMAT_MILLISECONDS
-
Ändert das Zeitformat in Millisekunden. Von allen Gerätetypen erkannt.
-
MCI_FORMAT_MSF
-
Ändert das Zeitformat in Minuten, Sekunden und Frames. Erkannt von den Cdaudio - und Vcr-Gerätetypen .
-
MCI_FORMAT_SAMPLES
-
Ändert das Zeitformat in Beispiele für Eingabe oder Ausgabe. 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. Erkannt von den Sequenzer - und Vcr-Gerätetypen .
-
MCI_FORMAT_SMPTE_30DROP
-
Legt das Zeitformat auf 30 Drop-Frame SMPTE fest. Erkannt von den Sequenzer - und Vcr-Gerätetypen .
-
MCI_FORMAT_TMSF
-
Ändert das Zeitformat in Titel, Minuten, Sekunden und Frames. (MCI verwendet fortlaufende Tracknummern.) Erkannt von den Cdaudio - und Vcr-Gerätetypen .
-
MCI_SET_VIDEO
-
Legt das Videosignal ein oder aus. Dieses Kennzeichen muss entweder mit MCI_SET_ON oder MCI_SET_OFF verwendet werden. Geräte, die keine Videorückgabe MCIERR_UNSUPPORTED_FUNCTION haben.
Die folgenden zusätzlichen Flags werden mit dem Digitalvideo-Gerätetyp verwendet:
-
MCI_DGV_SET_FILEFORMAT
-
Ein Dateiformatparameter ist im dwFileFormat-Element der struktur enthalten, die von lpSet identifiziert wird. Für digitale Videogeräte wird das Dateiformat zum Speichern oder Erfassen von Befehlen verwendet. Wenn sie nicht angegeben werden, kann dies standardmäßig ein definiertes Gerätetreiberformat sein. Wenn das angegebene Dateiformat mit dem aktuell ausgewählten Algorithmus und der Qualität in Konflikt steht, werden sie in die Standardwerte für das Dateiformat geändert. Die folgenden Dateiformatkonstanten sind 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 format fest, das für die Positionierung verwendet wird. 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 frame zu, der mit dem MCI_FROM-Flag angegeben ist. Dies kann zusätzliche Verzögerung hinzufügen, wenn der angeforderte Frame kein Schlüsselrahmen ist. Wenn MCI_SET_OFF angegeben wird, sucht das Gerät nach einem Schlüsselrahmenbild, das dem angeforderten Frame vorangeht. Für einige Dateien und Geräte 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-Element der struktur enthalten, die von lpSet identifiziert wird. Die Geschwindigkeit wird als Verhältnis zwischen der nominalen Framerate und der gewünschten Framerate angegeben, wobei die nominale Framerate als 1000 bezeichnet wird. Halbe Geschwindigkeit ist 500 und doppelte Geschwindigkeit ist 2000. Der zulässige Geschwindigkeitsbereich hängt von dem Gerät und möglicherweise auch der Datei ab.
-
MCI_DGV_SET_STILL
-
Bei Verwendung mit MCI_DGV_SET_FILEFORMAT legt MCI_SET das Dateiformat fest, das für Aufnahmebefehle verwendet wird.
Für digitale Videogeräte verweist der lpSet-Parameter auf eine MCI_DGV_SET_PARMS Struktur.
Die folgenden zusätzlichen Flags werden mit dem Sequenzergerättyp verwendet:
-
MCI_SEQ_FORMAT_SONGPTR
-
Legt das Zeitformat auf Songzeigereinheiten fest.
-
MCI_SEQ_SET_MASTER
-
Legt den Sequenzer als Quelle der Synchronisierungsdaten fest und gibt an, dass der Typ der Synchronisierung im dwMaster-Element der struktur angegeben wird, die von lpSet identifiziert wird. MCISEQ gibt MCIERR_UNSUPPORTED_FUNCTION zurück. Die folgenden Konstanten werden für den Synchronisierungstyp definiert:
-
MCI_SEQ_MIDI
-
Der Sequenzer sendet MIDI-Formatsynchronisierungsdaten.
-
MCI_SEQ_SMPTE
-
Der Sequenzer sendet SMPTE-Formatsynchronisierungsdaten.
-
MCI_SEQ_NONE
-
Der Sequenzer sendet keine Synchronisierungsdaten.
-
MCI_SEQ_SET_OFFSET
-
Ändert den SMPTE-Offset einer Sequenz, die durch das dwOffset-Element der struktur angegeben wurde, die von lpSet identifiziert wird. Dies wirkt sich nur auf Sequenzen mit einem SMPTE-Bereichstyp aus.
-
MCI_SEQ_SET_PORT
-
Legt den Ausgabe-MIDI-Port einer Sequenz fest, die vom MIDI-Gerätebezeichner im dwPort-Element der von lpSet identifizierten Struktur angegeben wurde. Das Gerät schließt den vorherigen Port (falls vorhanden) und versucht, den neuen Port zu öffnen und zu verwenden. Wenn es fehlschlägt, gibt es einen Fehler zurück und öffnet den zuvor verwendeten Port (falls vorhanden). Die folgenden Konstanten werden für die Ports definiert:
-
MCI_SEQ_NONE
-
Schließt den zuvor verwendeten Port (falls vorhanden). Der Sequenzer verhält sich genau so, wie wenn ein Port geöffnet wurde, außer dass keine MIDI-Nachricht gesendet wird.
-
MIDI_MAPPER
-
Legt den Port fest, der auf den MIDI-Mapper geöffnet ist.
-
MCI_SEQ_SET_SLAVE
-
Legt den Sequenzer fest, um Synchronisierungsdaten zu empfangen und gibt an, dass der Typ der Synchronisierung im dwSlave-Element der struktur angegeben wird, die von lpSet identifiziert wird. MCISEQ gibt MCIERR_UNSUPPORTED_FUNCTION zurück. Die folgenden Konstanten werden für den Synchronisierungstyp definiert:
-
MCI_SEQ_FILE
-
Legt den Sequenzer fest, um Synchronisierungsdaten zu empfangen, die in der MIDI-Datei enthalten sind.
-
MCI_SEQ_MIDI
-
Legt den Sequenzer fest, um MIDI-Synchronisierungsdaten zu erhalten.
-
MCI_SEQ_NONE
-
Legt den Sequenzer fest, um Synchronisierungsdaten in einem MIDI-Stream zu ignorieren.
-
MCI_SEQ_SMPTE
-
Legt den Sequenzer fest, um SMPTE-Synchronisierungsdaten zu erhalten.
-
MCI_SEQ_SET_TEMPO
-
Ändert das Tempo der MIDI-Sequenz, die von dem dwTempo-Element der Struktur angegeben wurde, die von lpSet verweist. Für Sequenzen mit Teilungstyp PPQN wird tempo pro Minute angegeben; für Sequenzen mit Teilungstyp SMPTE wird tempo pro Sekunde in Frames pro Sekunde angegeben.
Bei Sequenzergeräten zeigt 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 das Gerät fest, das in Zusammenstellungs- oder Einfügemodi erfasst werden soll (wenn die Montage deaktiviert ist, ist einzufügen und umgekehrt). Verwenden Sie eine der folgenden Flags:
-
MCI_SET_ON
-
Legt den Zusammenstellungsdatensatz fest, und deaktiviert das Einfügen von Datensatz. Erfasst alle Video-, Audio- und Timecodetitel.
-
MCI_SET_OFF
-
Legt fest, dass der Datensatz deaktiviert ist, und aktiviert das Einfügen von Datensätzen. Wenn die Zusammenstellung deaktiviert ist, können einzelne Titel von Video, Audio und Timecode für die Aufzeichnung ausgewählt werden.
-
MCI_VCR_SET_CLOCK
-
Das dwClock-Element der struktur, die von lpSet identifiziert wird, enthält die neue Uhrzeit.
-
MCI_VCR_SET_COUNTER_FORMA
-
Das dwCounterFormat-Element der struktur, die von lpSet identifiziert wird, enthält eine Konstante, die das neue Zählerzeitformat angibt, das vom Statuszä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 struktur, die von lpSet identifiziert wird, enthält den neuen Zählerwert.
-
MCI_VCR_SET_INDEX
-
Das dwIndex-Element der von lpSet identifizierten Struktur enthält eine Konstante, die den Inhalt der Bildschirmanzeige angibt und eine der folgenden Sein muss:
-
MCI_VCR_INDEX_COUNTER
-
Zeigt den Zähler an.
-
MCI_VCR_INDEX_DATE
-
Zeigt 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 von lpSet identifizierte dwPauseTimeout-Element enthält die maximale Dauer in Millisekunden eines Pausenbefehls.
-
MCI_VCR_SET_POSTROLL_DURATION
-
Das von lpSet identifizierte dwPostrollDuration-Element enthält die Länge des Videobands im aktuellen Zeitformat, das zum Bremsen des VCR-Transports erforderlich ist, wenn ein Stopp- oder Pausebefehl ausgestellt wird.
-
MCI_VCR_SET_POWER
-
Legt die Ein- oder Ausschaltung fest. Muss mit einem der folgenden Flags verwendet werden:
-
MCI_SET_OFF
-
Deaktiviert die Stromversorgung.
-
MCI_SET_ON
-
Aktiviert die Leistung.
-
MCI_VCR_SET_PREROLL_DURATION
-
Das von lpSet identifizierte dwPrerollDuration-Element enthält die Länge des Videobands im aktuellen Zeitformat, das zum Stabilisieren der VCR-Ausgabe benötigt wird.
-
MCI_VCR_SET_RECORD_FORMAT
-
Das dwRecordFormat-Element der von lpSet identifizierten Struktur enthält eine Konstante, die die Datensatzgeschwindigkeit beschreibt, die eine der folgenden Sein muss:
-
MCI_VCR_FORMAT_EP
-
Datensätze mit langsamer Geschwindigkeit.
-
MCI_VCR_FORMAT_LP
-
Datensätze mit mittlerer Geschwindigkeit.
-
MCI_VCR_FORMAT_SP
-
Datensätze mit Standardgeschwindigkeit.
-
MCI_VCR_SET_SPEED
-
Das dwSpeed-Element der struktur, die von lpSet identifiziert wird, enthält die neue Geschwindigkeitseinstellung, wobei 1000 normale Geschwindigkeit ist, 2000 doppelte Geschwindigkeit ist, und 500 ist halbe Geschwindigkeit und so weiter.
-
MCI_VCR_SET_TAPE_LENGTH
-
Das dwTapeLength-Element der struktur, die von lpSet identifiziert wird, enthält die neue Länge des Bandes, sofern die Länge des Bandes unerlösbar ist.
-
MCI_VCR_SET_TIME_MODE
-
Das dwTimeMode-Element der struktur, die von lpSet identifiziert wird, enthält eine Konstante, die den neuen Positionszeitmodus angibt. Die folgenden Konstanten sind gültig:
-
MCI_VCR_TIME_COUNTER
-
Erzwingt 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 der Modus nicht bereit ist, sollte das Gerät versuchen, zu ermitteln, ob zeitcode auf dem Videoband verfügbar ist. Wenn timecode verfügbar ist, verwenden Sie timecode in allen nachfolgenden Befehlen, die Positionen angeben. Andernfalls verwenden Sie den Zähler.
-
MCI_VCR_TIME_TIMECODE
-
Erzwingt das Gerät ausschließlich die Verwendung von Timecode.
-
MCI_VCR_SET_TRACKING
-
Tunes the speed of the VCR tape transport with a fine adjustment, and must be used with one of the following flags:
-
MCI_VCR_PLUS
-
Erhöht die Bandtransportgeschwindigkeit.
-
MCI_VCR_MINUS
-
Verringert die Bandtransportgeschwindigkeit.
-
MCI_VCR_RESET
-
Gibt die Nachverfolgungsanpassung auf Null zurück.
Bei VCR-Geräten zeigt der lpSet-Parameter auf eine MCI_VCR_SET_PARMS Struktur.
Das folgende zusätzliche Flag wird mit dem VideoDisc-Gerätetyp verwendet:
-
MCI_VD_FORMAT_TRACK
-
Ändert das Zeitformat in Titel. MCI verwendet fortlaufende Nachverfolgnummern.
Die folgenden zusätzlichen Flags werden mit dem Waveaudio-Gerätetyp verwendet:
-
MCI_WAVE_INPUT
-
Legt die Eingabe fest, die für die Aufzeichnung auf das wInput-Element der von lpSet identifizierten Struktur verwendet wird.
-
MCI_WAVE_OUTPUT
-
Legt die Ausgabe fest, die für das Wiedergeben auf das wOutput-Element der von lpSet identifizierten Struktur verwendet wird.
-
MCI_WAVE_SET_ANYINPUT
-
Jede mit dem aktuellen Format kompatible Welleneingabe kann für die Aufzeichnung verwendet werden.
-
MCI_WAVE_SET_ANYOUTPUT
-
Jede mit dem aktuellen Format kompatible Wellenausgabe kann für die Wiedergabe verwendet werden.
-
MCI_WAVE_SET_AVGBYTESPERSEC
-
Legt die Byte pro Sekunde fest, die für das Wiedergeben, Aufzeichnen und Speichern im nAvgBytesPerSec-Element der struktur festgelegt wird, die von lpSet identifiziert wird.
-
MCI_WAVE_SET_BITSPERSAMPLE
-
Legt die Bit pro Beispiel fest, die zum Wiedergeben, Aufzeichnen und Speichern im nBitsPerSample-Element des von lpSet identifizierten PCM-Datenformats verwendet werden.
-
MCI_WAVE_SET_BLOCKALIGN
-
Legt die Blockausrichtung fest, die für das Wiedergeben, Aufzeichnen und Speichern im nBlockAlign-Element der Struktur verwendet wird, die von lpSet identifiziert wird.
-
MCI_WAVE_SET_CHANNELS
-
Die Anzahl der Kanäle wird im nChannels-Element der struktur angegeben, die von lpSet identifiziert wird.
-
MCI_WAVE_SET_FORMATTAG
-
Legt den Formattyp fest, der für das Wiedergeben, Aufzeichnen und Speichern im wFormatTag-Element der von lpSet identifizierten Struktur verwendet wird. Geben Sie an, WAVE_FORMAT_PCM das Format auf PCM ändert.
-
MCI_WAVE_SET_SAMPLESPERSEC
-
Legt die Beispiele pro Sekunde fest, die zum Wiedergeben, Aufzeichnen und Speichern in das nSamplesPerSec-Element der struktur verwendet werden, die von lpSet identifiziert wird.
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 innerhalb der Datei strukturiert sind und nach Beginn der Aufzeichnung nicht geändert werden können. Die folgende Liste der 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
Requirements (Anforderungen)
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) |
Windows 2000 Server [nur Desktop-Apps] |
Header |
|