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
Mmsystem.h (enthalten Windows.h)

Siehe auch

MCI

MCI-Befehle