TVAudioMode 列挙 (strmif.h)
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の 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: 第 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 フラグは 2 つのグループに分類されます。
- ビット 0 から 7: モード フラグ。 これらのフラグには、モノ/ステレオと言語 (A、B、または C) が含まれます。
- ビット 8 以降: プリセット フラグ。
次の解説では、 IAMTVAudio メソッドでこれらのフラグがどのように解釈されるかについて説明します。
- モード フラグを設定すると、チューナはすぐにそのモードに切り替わります。 モードがすぐに使用できない場合、 メソッドは失敗します。
- プリセット フラグを設定すると、ドライバーは可能であればすぐにそのモードに切り替わります。それ以外の場合、ドライバーは要求を格納します。 要求されたモードが後で使用可能になった場合、ドライバーはそのモードに切り替わります。 ドライバーは、プログラムの変更またはチャネルの変更全体のプリセット フラグを維持します。 プリセットモードは、チューナがそのモードをサポートできない場合にのみ失敗します。 オーディオ信号の内容が原因で失敗することはありません。
複数のプリセット フラグを組み合わせることができます。 ドライバーは、次の順序でそれらを試みます。
- 言語 C
- 言語 B
- 言語 A
- ステレオ
何らかの理由でメソッドが失敗した場合、チューナの状態(つまり、現在のモードと保存されているプリセット)は変わりません。
C 言語を除き、チューナは常に両方のオーディオ チャネルで同じ言語をストリーミングします。
例: 呼び出し元はAMTVAUDIO_PRESET_LANG_B AMTVAUDIO_PRESET_STEREO | 設定します。 現在のプログラムが、ステレオを使用する言語 A または mono の言語 B で使用できる場合を想定します。 ドライバーは、そのフラグが優先されるため、言語 B (mono) を選択します。 その後、プログラムは言語 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; } |
要件
要件 | 値 |
---|---|
Header | strmif.h (Dshow.h を含む) |