Condividi tramite


Enumerazione TVAudioMode (strmif.h)

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation anziché DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Specifica la modalità di un controllo audio tv.

Sintassi

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;

Costanti

 
AMTVAUDIO_MODE_MONO
Valore: 0x1
Mono.
AMTVAUDIO_MODE_STEREO
Valore: 0x2
Stereo.
AMTVAUDIO_MODE_LANG_A
Valore: 0x10
Lingua A: canale audio principale.
AMTVAUDIO_MODE_LANG_B
Valore: 0x20
Languag B: programma audio secondario (SAP).
AMTVAUDIO_MODE_LANG_C
Valore: 0x40
Lingua C: una terza lingua o il programma audio principale più SAP (ad esempio, inglese da un parlante e giapponese dall'altro parlante).
AMTVAUDIO_PRESET_STEREO
Valore: 0x200
Preimpostazioni stereo.
AMTVAUDIO_PRESET_LANG_A
Valore: 0x1000
Languag A preset.
AMTVAUDIO_PRESET_LANG_B
Valore: 0x2000
Preimpostazioni del linguaggio B.
AMTVAUDIO_PRESET_LANG_C
Valore: 0x4000
Preimpostazioni del linguaggio C.

Commenti

I flag TVAudioMode rientrano in due gruppi.

  • Bit 0 - 7: flag di modalità. Questi flag includono mono/stereo e linguaggio (A, B o C).
  • Bit 8 e versioni successive: flag preimpostazioni.
Nota I flag predefiniti richiedono Windows Vista o versioni successive.
 
I flag di modalità rappresentano la modalità audio corrente del tuner. I flag predefiniti rappresentano le impostazioni che possono essere effettive in futuro, se il segnale audio cambia. Spesso, il programma audio secondario non è disponibile o è disponibile solo in mono. Un'applicazione può usare i flag predefiniti per archiviare la lingua preferita dell'utente, fornendo un'esperienza ragionevole quando tale lingua non è disponibile.

Le osservazioni seguenti descrivono come i metodi IAMTVAudio interpretano questi flag.

IAMTVAudio::p ut_TVAudioMode:

  • Se si imposta un flag di modalità, il tuner passa immediatamente a tale modalità. Se la modalità non è immediatamente disponibile, il metodo ha esito negativo.
  • Se si imposta un flag di impostazione predefinita, il driver passa immediatamente a tale modalità, se possibile; in caso contrario, il driver archivia la richiesta. Se la modalità richiesta diventa disponibile in un secondo momento, il driver passa a tale modalità. Il driver gestisce i flag predefiniti tra le modifiche del programma o le modifiche del canale. Una modalità predefinita ha esito negativo solo se il tuner non può supportare tale modalità. Non riesce mai a causa del contenuto del segnale audio.
È possibile combinare un flag di modalità lingua (AMTVAUDIO_MODE_LANG_A, AMTVAUDIO_MODE_LANG_Bo AMTVAUDIO_MODE_LANG_C) con un flag stereo/mono (AMTVAUDIO_MODE_MONO o AMTVAUDIO_MODE_STEREO). Altre combinazioni di flag di modalità non sono valide. Ad esempio, AMTVAUDIO_MODE_LANG_A AMTVAUDIO_MODE_LANG_B | non è valido.

È possibile combinare più flag predefiniti. Il driver li prova nell'ordine seguente:

  1. Linguaggio C
  2. Lingua B
  3. Lingua A
  4. Stereo
È possibile combinare flag di modalità e flag predefiniti, ma non è possibile combinare un flag di modalità e un flag preimpostato per la stessa lingua. Ad esempio, AMTVAUDIO_MODE_LANG_A AMTVAUDIO_PRESET_LANG_A | non è valido. I flag di modalità hanno priorità sui flag predefiniti.

Se il metodo ha esito negativo per qualsiasi motivo, lo stato del tuner, ovvero la modalità corrente e i set di impostazioni archiviati, non cambia.

Ad eccezione del linguaggio C, il tuner trasmette sempre lo stesso linguaggio su entrambi i canali audio.

Esempio: il chiamante imposta AMTVAUDIO_PRESET_STEREO AMTVAUDIO_PRESET_LANG_B | . Si supponga che il programma corrente sia disponibile in lingua A con stereo o lingua B con mono. Il driver seleziona la lingua B (mono), perché tale flag ha la precedenza. Successivamente, il programma passa a un commerciale disponibile solo nella lingua A. Il driver passa alla lingua A, perché la lingua B non è disponibile. Quando il programma riprende, il driver torna alla lingua B.

IAMTVAudio::GetAvailableTVAudioModes: questo metodo restituisce le modalità attualmente disponibili nel segnale. Questo metodo non restituisce mai i flag predefiniti.

IAMTVAudio::GetHardwareSupportedTVAudioModes: questo metodo restituisce tutte le modalità supportate dall'hardware, incluse le modalità predefinite.

IAMTVAudio::get_TVAudioMode: questo metodo restituisce la modalità corrente. Questo metodo non restituisce mai i flag predefiniti.

Costanti maschera

Le costanti seguenti sono definite in Strmif.h:
#define TVAUDIO_MODE_MASK 0x000000ff
#define TVAUDIO_PRESET_MASK 0x0000ff00

È possibile usare TVAUDIO_MODE_MASK per selezionare flag di modalità e TVAUDIO_PRESET_MASK per selezionare i flag predefiniti:

C++
DWORD ModeFlags(DWORD AudioMode) { return AudioMode & TVAUDIO_MODE_MASK; }

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

Requisiti

Requisito Valore
Intestazione strmif.h (include Dshow.h)

Vedi anche

Tipi enumerati DirectShow

Interfaccia IAMTVAudio