다음을 통해 공유


TVAudioMode 열거형(strmif.h)

[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngineMedia 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 이상: 사전 설정 플래그입니다.
참고 미리 설정된 플래그에는 Windows Vista 이상이 필요합니다.
 
모드 플래그는 튜너의 현재 오디오 모드를 나타냅니다. 미리 설정된 플래그는 오디오 신호가 변경될 경우 나중에 적용할 수 있는 설정을 나타냅니다. 보조 오디오 프로그램을 사용할 수 없거나 모노에서만 사용할 수 있는 경우가 많습니다. 애플리케이션은 사전 설정 플래그를 사용하여 사용자의 기본 설정 언어를 저장하는 동시에 해당 언어를 사용할 수 없는 경우 적절한 환경을 제공할 수 있습니다.

다음 설명에서는 IAMTVAudio 메서드가 이러한 플래그를 해석하는 방법을 설명합니다.

IAMTVAudio::p ut_TVAudioMode:

  • 모드 플래그를 설정하면 튜너가 해당 모드로 즉시 전환됩니다. 모드를 즉시 사용할 수 없는 경우 메서드가 실패합니다.
  • 미리 설정된 플래그를 설정하면 가능하면 드라이버가 해당 모드로 즉시 전환됩니다. 그렇지 않으면 드라이버가 요청을 저장합니다. 요청된 모드를 나중에 사용할 수 있게 되면 드라이버가 해당 모드로 전환됩니다. 드라이버는 프로그램 변경 또는 채널 변경에서 미리 설정된 플래그를 유지 관리합니다. 튜너가 해당 모드를 지원할 수 없는 경우에만 사전 설정 모드가 실패합니다. 오디오 신호의 내용으로 인해 실패하지 않습니다.
하나의 언어 모드 플래그(AMTVAUDIO_MODE_LANG_A, AMTVAUDIO_MODE_LANG_B 또는 AMTVAUDIO_MODE_LANG_C)를 스테레오/모노 플래그(AMTVAUDIO_MODE_MONO 또는 AMTVAUDIO_MODE_STEREO)와 결합할 수 있습니다. 모드 플래그의 다른 조합은 유효하지 않습니다. 예를 들어 AMTVAUDIO_MODE_LANG_A | AMTVAUDIO_MODE_LANG_B 유효하지 않습니다.

둘 이상의 미리 설정된 플래그를 결합할 수 있습니다. 드라이버는 다음 순서로 시도합니다.

  1. 언어 C
  2. 언어 B
  3. 언어 A
  4. 스테레오
모드 플래그와 사전 설정 플래그를 결합할 수 있지만 동일한 언어에 대한 모드 플래그와 사전 설정 플래그를 결합할 수는 없습니다. 예를 들어 AMTVAUDIO_MODE_LANG_A | AMTVAUDIO_PRESET_LANG_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; }

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

요구 사항

요구 사항
헤더 strmif.h(Dshow.h 포함)

추가 정보

DirectShow 열거형 형식

IAMTVAudio 인터페이스