Partager via


Énumération TVAudioMode (strmif.h)

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture in Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation au lieu de DirectShow, si possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]

Spécifie le mode d’un contrôle audio TV.

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;

Constantes

 
AMTVAUDIO_MODE_MONO
Valeur : 0x1
Mono.
AMTVAUDIO_MODE_STEREO
Valeur : 0x2
Stéréo.
AMTVAUDIO_MODE_LANG_A
Valeur : 0x10
Langue A : Canal audio principal.
AMTVAUDIO_MODE_LANG_B
Valeur : 0x20
Languag B : programme audio secondaire (SAP).
AMTVAUDIO_MODE_LANG_C
Valeur : 0x40
Langue C : soit une troisième langue, soit le programme audio main plus le SAP (par exemple, l’anglais d’un orateur et le japonais de l’autre).
AMTVAUDIO_PRESET_STEREO
Valeur : 0x200
Préréglage stéréo.
AMTVAUDIO_PRESET_LANG_A
Valeur : 0x1000
Languag A préréglé.
AMTVAUDIO_PRESET_LANG_B
Valeur : 0x2000
Langage B prédéfini.
AMTVAUDIO_PRESET_LANG_C
Valeur : 0x4000
Langage prédéfini C.

Remarques

Les indicateurs TVAudioMode se répartissent en deux groupes.

  • Bits 0 à 7 : indicateurs de mode. Ces indicateurs incluent mono/stéréo et le langage (A, B ou C).
  • Bits 8 et supérieurs : indicateurs prédéfinis.
Note Les indicateurs prédéfinis nécessitent Windows Vista ou une version ultérieure.
 
Les indicateurs de mode représentent le mode audio actuel du tuner. Les indicateurs prédéfinis représentent les paramètres qui peuvent prendre effet à l’avenir si le signal audio change. Souvent, le programme audio secondaire n’est pas disponible ou est disponible uniquement en mono. Une application peut utiliser les indicateurs prédéfinis pour stocker la langue préférée de l’utilisateur tout en offrant une expérience raisonnable lorsque cette langue n’est pas disponible.

Les remarques suivantes décrivent comment les méthodes IAMTVAudio interprètent ces indicateurs.

IAMTVAudio ::p ut_TVAudioMode :

  • Si vous définissez un indicateur de mode, le tuner bascule immédiatement vers ce mode. Si le mode n’est pas immédiatement disponible, la méthode échoue.
  • Si vous définissez un indicateur prédéfini, le pilote passe immédiatement à ce mode si possible ; sinon, le pilote stocke la requête. Si le mode demandé devient disponible ultérieurement, le pilote bascule vers ce mode. Le pilote gère les indicateurs prédéfinis entre les modifications de programme ou de canal. Un mode prédéfini échoue uniquement si le tuner ne peut pas prendre en charge ce mode. Il n’échoue jamais en raison du contenu du signal audio.
Vous pouvez combiner un indicateur de mode de langue (AMTVAUDIO_MODE_LANG_A, AMTVAUDIO_MODE_LANG_B ou AMTVAUDIO_MODE_LANG_C) avec un indicateur stéréo/mono (AMTVAUDIO_MODE_MONO ou AMTVAUDIO_MODE_STEREO). D’autres combinaisons d’indicateurs de mode ne sont pas valides. Par exemple, AMTVAUDIO_MODE_LANG_A | AMTVAUDIO_MODE_LANG_B n’est pas valide.

Vous pouvez combiner plusieurs indicateurs prédéfinis. Le pilote les tente dans l’ordre suivant :

  1. Langage C
  2. Langue B
  3. Langue A
  4. Stéréo
Vous pouvez combiner des indicateurs de mode et des indicateurs prédéfinis, mais vous ne pouvez pas combiner un indicateur de mode et un indicateur prédéfini pour la même langue. Par exemple, AMTVAUDIO_MODE_LANG_A | AMTVAUDIO_PRESET_LANG_A n’est pas valide. Les indicateurs de mode ont la priorité sur les indicateurs prédéfinis.

Si la méthode échoue pour une raison quelconque, l’état du tuner , c’est-à-dire le mode actuel et les présélections stockées, ne change pas.

À l’exception de la langue C, le tuner diffuse toujours la même langue sur les deux canaux audio.

Exemple : l’appelant définit AMTVAUDIO_PRESET_STEREO | AMTVAUDIO_PRESET_LANG_B. Supposons que le programme actuel soit disponible en langage A avec stéréo ou en langage B avec mono. Le pilote sélectionne la langue B (mono), car cet indicateur est prioritaire. Plus tard, le programme passe à une publicité qui est uniquement disponible dans la langue A. Le pilote passe à la langue A, car la langue B n’est pas disponible. Lorsque le programme reprend, le pilote revient à la langue B.

IAMTVAudio ::GetAvailableTVAudioModes : cette méthode retourne les modes actuellement disponibles dans le signal. Cette méthode ne retourne jamais d’indicateurs prédéfinis.

IAMTVAudio ::GetHardwareSupportedTVAudioModes : cette méthode retourne tous les modes pris en charge par le matériel, y compris les modes prédéfinis.

IAMTVAudio ::get_TVAudioMode : cette méthode retourne le mode actuel. Cette méthode ne retourne jamais d’indicateurs prédéfinis.

Masquer les constantes

Les constantes suivantes sont définies dans Strmif.h :
#define TVAUDIO_MODE_MASK 0x000000ff
#define TVAUDIO_PRESET_MASK 0x0000ff00

Vous pouvez utiliser TVAUDIO_MODE_MASK pour sélectionner des indicateurs de mode et TVAUDIO_PRESET_MASK pour sélectionner des indicateurs prédéfinis :

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

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

Configuration requise

Condition requise Valeur
En-tête strmif.h (include Dshow.h)

Voir aussi

Types énumérés DirectShow

IAMTVAudio, interface