TVAudioMode-Enumeration (strmif.h)
[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]
Gibt den Modus eines TV-Audiosteuerelements an.
Syntax
typedef enum tagTVAudioMode {
AMTVAUDIO_MODE_MONO = 0x1,
AMTVAUDIO_MODE_STEREO = 0x2,
AMTVAUDIO_MODE_LANG_A = 0x10,
AMTVAUDIO_MODE_LANG_B = 0x20,
AMTVAUDIO_MODE_LANG_C = 0x40,
AMTVAUDIO_PRESET_STEREO = 0x200,
AMTVAUDIO_PRESET_LANG_A = 0x1000,
AMTVAUDIO_PRESET_LANG_B = 0x2000,
AMTVAUDIO_PRESET_LANG_C = 0x4000
} TVAudioMode;
Konstanten
AMTVAUDIO_MODE_MONO Wert: 0x1 Mono. |
AMTVAUDIO_MODE_STEREO Wert: 0x2 Stereo. |
AMTVAUDIO_MODE_LANG_A Wert: 0x10 Sprache A: Hauptaudiokanal. |
AMTVAUDIO_MODE_LANG_B Wert: 0x20 Languag B: Sekundäres Audioprogramm (SAP). |
AMTVAUDIO_MODE_LANG_C Wert: 0x40 Sprache C: Entweder eine dritte Sprache oder das Standard Audioprogramm plus SAP (z. B. Englisch von einem Sprecher und Japanisch vom anderen Sprecher). |
AMTVAUDIO_PRESET_STEREO Wert: 0x200 Stereovoreinstellung. |
AMTVAUDIO_PRESET_LANG_A Wert: 0x1000 Languag Eine Voreinstellung. |
AMTVAUDIO_PRESET_LANG_B Wert: 0x2000 Voreinstellung für Sprache B. |
AMTVAUDIO_PRESET_LANG_C Wert: 0x4000 Voreinstellung für Sprache C. |
Hinweise
Die TVAudioMode-Flags sind in zwei Gruppen unterteilt.
- Bits 0 - 7: Modusflags. Diese Flags umfassen Mono/Stereo und Sprache (A, B oder C).
- Bits 8 und höher: Voreingestellte Flags.
In den folgenden Anmerkungen wird beschrieben, wie die IAMTVAudio-Methoden diese Flags interpretieren.
- Wenn Sie ein Modusflag festlegen, wechselt der Tuner sofort in diesen Modus. Wenn der Modus nicht sofort verfügbar ist, schlägt die Methode fehl.
- Wenn Sie ein voreingestelltes Flag festlegen, wechselt der Treiber nach Möglichkeit sofort in diesen Modus. Andernfalls speichert der Treiber die Anforderung. Wenn der angeforderte Modus später verfügbar wird, wechselt der Treiber in diesen Modus. Der Treiber verwaltet die voreingestellten Flags über Programmänderungen oder Kanaländerungen hinweg. Ein voreingestellter Modus schlägt nur fehl, wenn der Tuner diesen Modus nicht unterstützen kann. Es schlägt nie aufgrund des Inhalts des Audiosignals fehl.
Sie können mehrere voreingestellte Flags kombinieren. Der Treiber versucht sie in der folgenden Reihenfolge:
- Sprache C
- Sprache B
- Sprache A
- Stereo
Wenn die Methode aus irgendeinem Grund fehlschlägt, ändert sich der Zustand des Tuners – d. h. der aktuelle Modus und die gespeicherten Voreinstellungen – nicht.
Mit Ausnahme von Sprache C streamt der Tuner immer dieselbe Sprache über beide Audiokanäle.
Beispiel: Der Aufrufer legt AMTVAUDIO_PRESET_STEREO | AMTVAUDIO_PRESET_LANG_B fest. Angenommen, das aktuelle Programm ist in Sprache A mit Stereo oder Sprache B mit Mono verfügbar. Der Treiber wählt Sprache B (mono) aus, da dieses Flag Vorrang hat. Später wechselt das Programm zu einem Kommerziellen, der nur in der Sprache A verfügbar ist. Der Treiber wechselt zur Sprache A, da Sprache B nicht verfügbar ist. Wenn das Programm fortgesetzt wird, wechselt der Treiber zurück zur Sprache B.
IAMTVAudio::GetAvailableTVAudioModes: Diese Methode gibt die Modi zurück, die derzeit im Signal verfügbar sind. Diese Methode gibt niemals voreingestellte Flags zurück.
IAMTVAudio::GetHardwareSupportedTVAudioModes: Diese Methode gibt alle von der Hardware unterstützten Modi zurück, einschließlich voreingestellter Modi.
IAMTVAudio::get_TVAudioMode: Diese Methode gibt den aktuellen Modus zurück. Diese Methode gibt niemals voreingestellte Flags zurück.
Maskierungskonstanten
Die folgenden Konstanten sind in Strmif.h definiert:#define TVAUDIO_MODE_MASK 0x000000ff
#define TVAUDIO_PRESET_MASK 0x0000ff00
Sie können TVAUDIO_MODE_MASK verwenden, um Modusflags auszuwählen, und TVAUDIO_PRESET_MASK , um voreingestellte Flags auszuwählen:
C++ |
---|
DWORD ModeFlags(DWORD AudioMode) { return AudioMode & TVAUDIO_MODE_MASK; } |
Anforderungen
Anforderung | Wert |
---|---|
Header | strmif.h (include Dshow.h) |