Freigeben über


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.
Hinweis Die voreingestellten Flags erfordern Windows Vista oder höher.
 
Die Modusflags stellen den aktuellen Audiomodus des Tuners dar. Die voreingestellten Flags stellen Einstellungen dar, die in Zukunft wirksam werden können, wenn sich das Audiosignal ändert. Häufig ist das sekundäre Audioprogramm nicht oder nur in Mono verfügbar. Eine Anwendung kann die voreingestellten Flags verwenden, um die bevorzugte Sprache des Benutzers zu speichern und gleichzeitig eine angemessene Erfahrung zu bieten, wenn diese Sprache nicht verfügbar ist.

In den folgenden Anmerkungen wird beschrieben, wie die IAMTVAudio-Methoden diese Flags interpretieren.

IAMTVAudio::p ut_TVAudioMode:

  • 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 ein Flag im Sprachmodus (AMTVAUDIO_MODE_LANG_A, AMTVAUDIO_MODE_LANG_B oder AMTVAUDIO_MODE_LANG_C) mit einem Stereo-/Mono-Flag (AMTVAUDIO_MODE_MONO oder AMTVAUDIO_MODE_STEREO) kombinieren. Andere Kombinationen von Modusflags sind ungültig. Beispielsweise ist AMTVAUDIO_MODE_LANG_A | AMTVAUDIO_MODE_LANG_B ungültig.

Sie können mehrere voreingestellte Flags kombinieren. Der Treiber versucht sie in der folgenden Reihenfolge:

  1. Sprache C
  2. Sprache B
  3. Sprache A
  4. Stereo
Sie können Modusflags und voreingestellte Flags kombinieren, aber Sie können kein Modusflag und ein voreingestelltes Flag für dieselbe Sprache kombinieren. Beispielsweise ist AMTVAUDIO_MODE_LANG_A | AMTVAUDIO_PRESET_LANG_A ungültig. Modusflags haben Vorrang vor voreingestellten Flags.

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; }

DWORD PresetFlags(DWORD AudioMode) { return AudioMode & TVAUDIO_PRESET_MASK; }

Anforderungen

Anforderung Wert
Header strmif.h (include Dshow.h)

Weitere Informationen

DirectShow Enumerated Types

IAMTVAudio-Schnittstelle