TVAudioMode 열거형(strmif.h)
[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 DirectShow 대신 MediaPlayer, IMFMediaEngine 및 오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
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;
상수
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: 제3외국어 또는 기본 오디오 프로그램과 SAP(예: 한 화자의 영어, 다른 화자의 일본어). |
AMTVAUDIO_PRESET_STEREO 값: 0x200 스테레오 사전 설정. |
AMTVAUDIO_PRESET_LANG_A 값: 0x1000 Languag A 사전 설정입니다. |
AMTVAUDIO_PRESET_LANG_B 값: 0x2000 언어 B 사전 설정. |
AMTVAUDIO_PRESET_LANG_C 값: 0x4000 언어 C 사전 설정. |
설명
TVAudioMode 플래그는 두 그룹으로 분류됩니다.
- 비트 0 - 7: 모드 플래그입니다. 이러한 플래그에는 모노/스테레오 및 언어(A, B 또는 C)가 포함됩니다.
- 비트 8 이상: 사전 설정 플래그입니다.
다음 설명에서는 IAMTVAudio 메서드가 이러한 플래그를 해석하는 방법을 설명합니다.
- 모드 플래그를 설정하면 튜너가 해당 모드로 즉시 전환됩니다. 모드를 즉시 사용할 수 없는 경우 메서드가 실패합니다.
- 미리 설정된 플래그를 설정하면 가능하면 드라이버가 해당 모드로 즉시 전환됩니다. 그렇지 않으면 드라이버가 요청을 저장합니다. 요청된 모드를 나중에 사용할 수 있게 되면 드라이버가 해당 모드로 전환됩니다. 드라이버는 프로그램 변경 또는 채널 변경에서 미리 설정된 플래그를 유지 관리합니다. 튜너가 해당 모드를 지원할 수 없는 경우에만 사전 설정 모드가 실패합니다. 오디오 신호의 내용으로 인해 실패하지 않습니다.
둘 이상의 미리 설정된 플래그를 결합할 수 있습니다. 드라이버는 다음 순서로 시도합니다.
- 언어 C
- 언어 B
- 언어 A
- 스테레오
어떤 이유로든 메서드가 실패하면 현재 모드와 저장된 사전 설정 등 튜너의 상태는 변경되지 않습니다.
언어 C를 제외하고 튜너가 항상 두 오디오 채널을 통해 동일한 언어를 스트리밍합니다.
예: 호출자는 AMTVAUDIO_PRESET_LANG_B AMTVAUDIO_PRESET_STEREO | 설정합니다. 현재 프로그램이 스테레오가 있는 언어 A 또는 모노가 있는 언어 B에서 사용할 수 있다고 가정해 보겠습니다. 드라이버는 언어 B(모노)를 선택합니다. 해당 플래그가 우선하기 때문입니다. 나중에 프로그램은 언어 A에서만 사용할 수 있는 광고로 전환됩니다. 언어 B를 사용할 수 없으므로 드라이버가 언어 A로 전환됩니다. 프로그램이 다시 시작되면 드라이버는 언어 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 포함) |