Перечисление TVAudioMode (strmif.h)
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]
Задает режим элемента управления звуком телевизора.
Синтаксис
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;
Константы
AMTVAUDIO_MODE_MONO Значение: 0x1 Моно. |
AMTVAUDIO_MODE_STEREO Значение: 0x2 Стерео. |
AMTVAUDIO_MODE_LANG_A Значение: 0x10 Язык A: основной аудиоканал. |
AMTVAUDIO_MODE_LANG_B Значение: 0x20 Languag B: вторичная аудиопрограмма (SAP). |
AMTVAUDIO_MODE_LANG_C Значение: 0x40 Язык C: третий язык или main аудиопрограмма, а также SAP (например, английский язык с одного и японский от другого). |
AMTVAUDIO_PRESET_STEREO Значение: 0x200 Предустановка стерео. |
AMTVAUDIO_PRESET_LANG_A Значение: 0x1000 Languag Предустановка. |
AMTVAUDIO_PRESET_LANG_B Значение: 0x2000 Предустановка языка B. |
AMTVAUDIO_PRESET_LANG_C Значение: 0x4000 Предустановка языка C. |
Комментарии
Флаги TVAudioMode делятся на две группы.
- Биты 0–7: флаги режима. К этим флагам относятся моно/стерео и язык (A, B или C).
- Биты 8 и выше: предустановленные флаги.
В следующих замечаниях описывается, как методы IAMTVAudio интерпретируют эти флаги.
- Если вы задали флаг режима, тюнер немедленно переключается в этот режим. Если режим недоступен сразу, метод завершается ошибкой.
- Если вы задали предустановленный флаг, драйвер немедленно переключается в этот режим, если это возможно; В противном случае драйвер сохраняет запрос. Если запрошенный режим станет доступен позже, драйвер переключается в этот режим. Драйвер поддерживает предустановленные флаги для всех изменений программы или канала. Предустановленный режим завершается сбоем, только если тюнер не может поддерживать этот режим. Он никогда не завершается ошибкой из-за содержимого звукового сигнала.
Можно объединить несколько предустановленных флагов. Драйвер пытается выполнить их в следующем порядке:
- Язык C
- Язык B
- Язык A
- Stereo
Если метод по какой-либо причине завершается сбоем, состояние тюнера , т. е. текущий режим и сохраненные предустановки, не изменяется.
За исключением языка C, тюнер всегда передает один и тот же язык по обоим аудиоканалам.
Пример. Вызывающий объект задает AMTVAUDIO_PRESET_STEREO | AMTVAUDIO_PRESET_LANG_B. Предположим, что текущая программа доступна на языке A со стерео или языком B с моно. Драйвер выбирает язык B (mono), так как этот флаг имеет приоритет. Позже программа переключится на коммерческую версию, доступную только на языке А. Драйвер переключается на язык A, так как язык B недоступен. Когда программа возобновляется, драйвер переключается обратно на язык B.
IAMTVAudio::GetAvailableTVAudioModes: этот метод возвращает режимы, доступные в данный момент в сигнале. Этот метод никогда не возвращает предустановленные флаги.
IAMTVAudio::GetHardwareSupportedTVAudioModes. Этот метод возвращает все режимы, поддерживаемые оборудованием, включая предустановленные режимы.
IAMTVAudio::get_TVAudioMode: этот метод возвращает текущий режим. Этот метод никогда не возвращает предустановленные флаги.
Маскирование констант
В Strmif.h определены следующие константы:#define TVAUDIO_MODE_MASK 0x000000ff
#define TVAUDIO_PRESET_MASK 0x0000ff00
Вы можете использовать TVAUDIO_MODE_MASK для выбора флагов режима и TVAUDIO_PRESET_MASK для выбора предустановленных флагов:
C++ |
---|
DWORD ModeFlags(DWORD AudioMode) { return AudioMode & TVAUDIO_MODE_MASK; } |
Требования
Требование | Значение |
---|---|
Заголовок | strmif.h (включая Dshow.h) |