TVAudioMode
列挙型メンバー 9
| 名前 | 10進 | 16進 | 説明 |
|---|---|---|---|
| AMTVAUDIO_MODE_MONO | 1 | 0x1 | モノラルです。 |
| AMTVAUDIO_MODE_STEREO | 2 | 0x2 | ステレオです。 |
| AMTVAUDIO_MODE_LANG_A | 16 | 0x10 | 言語 A: 主音声チャンネルです。 |
| AMTVAUDIO_MODE_LANG_B | 32 | 0x20 | 言語 B: 副音声番組 (SAP) です。 |
| AMTVAUDIO_MODE_LANG_C | 64 | 0x40 | 言語 C: 3 番目の言語、または主音声番組と SAP の組み合わせです (たとえば、一方のスピーカーから英語、もう一方のスピーカーから日本語が出力されます)。 |
| AMTVAUDIO_PRESET_STEREO | 512 | 0x200 | ステレオのプリセットです。 |
| AMTVAUDIO_PRESET_LANG_A | 4096 | 0x1000 | 言語 A のプリセットです。 |
| AMTVAUDIO_PRESET_LANG_B | 8192 | 0x2000 | 言語 B のプリセットです。 |
| AMTVAUDIO_PRESET_LANG_C | 16384 | 0x4000 | 言語 C のプリセットです。 |
公式ドキュメント
[このページに関連する機能である DirectShow はレガシー機能です。この機能は MediaPlayer、IMFMediaEngine、および Audio/Video Capture in Media Foundation に置き換えられました。これらの機能は Windows 10 および Windows 11 向けに最適化されています。Microsoft は、新しいコードでは可能な限り DirectShow ではなく MediaPlayer、IMFMediaEngine、Audio/Video Capture in Media Foundation を使用することを強く推奨します。また、レガシー API を使用している既存のコードについても、可能であれば新しい API を使用するように書き換えることを推奨します。]
TV オーディオコントロールのモードを指定します。
解説(Remarks)
TVAudioMode のフラグは 2 つのグループに分かれます。
- ビット 0 ~ 7: モードフラグ。これらのフラグには、モノラル/ステレオと言語 (A、B、または C) が含まれます。
- ビット 8 以上: プリセットフラグ。
以降の解説では、IAMTVAudio の各メソッドがこれらのフラグをどのように解釈するかを説明します。
- モードフラグを設定すると、チューナーは直ちにそのモードに切り替わります。そのモードが直ちに利用できない場合、メソッドは失敗します。
- プリセットフラグを設定すると、可能であればドライバーは直ちにそのモードに切り替えます。それ以外の場合、ドライバーはその要求を保存します。要求されたモードが後で利用可能になると、ドライバーはそのモードに切り替えます。ドライバーは、番組の変更やチャンネルの変更をまたいでプリセットフラグを維持します。プリセットモードが失敗するのは、チューナーがそのモードをサポートできない場合だけです。オーディオ信号の内容が原因で失敗することはありません。
プリセットフラグは複数を組み合わせることができます。ドライバーは次の順序で試行します。
- 言語 C
- 言語 B
- 言語 A
- ステレオ
何らかの理由でメソッドが失敗した場合、チューナーの状態 (つまり現在のモードと保存されているプリセット) は変更されません。
言語 C を除き、チューナーは常に両方のオーディオチャンネルで同じ言語をストリーミングします。
例: 呼び出し元が AMTVAUDIO_PRESET_STEREO | AMTVAUDIO_PRESET_LANG_B を設定したとします。現在の番組が、ステレオの言語 A またはモノラルの言語 B で利用できるとします。このとき、そのフラグが優先されるため、ドライバーは言語 B (モノラル) を選択します。その後、番組が言語 A でしか利用できない CM に切り替わったとします。言語 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;
}
|
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
各言語での定義
列挙メンバーの定義。HSP タブは #define global(値は16進)。
typedef enum TVAudioMode : int {
AMTVAUDIO_MODE_MONO = 1,
AMTVAUDIO_MODE_STEREO = 2,
AMTVAUDIO_MODE_LANG_A = 16,
AMTVAUDIO_MODE_LANG_B = 32,
AMTVAUDIO_MODE_LANG_C = 64,
AMTVAUDIO_PRESET_STEREO = 512,
AMTVAUDIO_PRESET_LANG_A = 4096,
AMTVAUDIO_PRESET_LANG_B = 8192,
AMTVAUDIO_PRESET_LANG_C = 16384
} TVAudioMode;public enum TVAudioMode : int
{
AMTVAUDIO_MODE_MONO = 1,
AMTVAUDIO_MODE_STEREO = 2,
AMTVAUDIO_MODE_LANG_A = 16,
AMTVAUDIO_MODE_LANG_B = 32,
AMTVAUDIO_MODE_LANG_C = 64,
AMTVAUDIO_PRESET_STEREO = 512,
AMTVAUDIO_PRESET_LANG_A = 4096,
AMTVAUDIO_PRESET_LANG_B = 8192,
AMTVAUDIO_PRESET_LANG_C = 16384,
}Public Enum TVAudioMode As Integer
AMTVAUDIO_MODE_MONO = 1
AMTVAUDIO_MODE_STEREO = 2
AMTVAUDIO_MODE_LANG_A = 16
AMTVAUDIO_MODE_LANG_B = 32
AMTVAUDIO_MODE_LANG_C = 64
AMTVAUDIO_PRESET_STEREO = 512
AMTVAUDIO_PRESET_LANG_A = 4096
AMTVAUDIO_PRESET_LANG_B = 8192
AMTVAUDIO_PRESET_LANG_C = 16384
End Enumimport enum
class TVAudioMode(enum.IntEnum):
AMTVAUDIO_MODE_MONO = 1
AMTVAUDIO_MODE_STEREO = 2
AMTVAUDIO_MODE_LANG_A = 16
AMTVAUDIO_MODE_LANG_B = 32
AMTVAUDIO_MODE_LANG_C = 64
AMTVAUDIO_PRESET_STEREO = 512
AMTVAUDIO_PRESET_LANG_A = 4096
AMTVAUDIO_PRESET_LANG_B = 8192
AMTVAUDIO_PRESET_LANG_C = 16384// TVAudioMode
pub const AMTVAUDIO_MODE_MONO: i32 = 1;
pub const AMTVAUDIO_MODE_STEREO: i32 = 2;
pub const AMTVAUDIO_MODE_LANG_A: i32 = 16;
pub const AMTVAUDIO_MODE_LANG_B: i32 = 32;
pub const AMTVAUDIO_MODE_LANG_C: i32 = 64;
pub const AMTVAUDIO_PRESET_STEREO: i32 = 512;
pub const AMTVAUDIO_PRESET_LANG_A: i32 = 4096;
pub const AMTVAUDIO_PRESET_LANG_B: i32 = 8192;
pub const AMTVAUDIO_PRESET_LANG_C: i32 = 16384;// TVAudioMode
const (
AMTVAUDIO_MODE_MONO int32 = 1
AMTVAUDIO_MODE_STEREO int32 = 2
AMTVAUDIO_MODE_LANG_A int32 = 16
AMTVAUDIO_MODE_LANG_B int32 = 32
AMTVAUDIO_MODE_LANG_C int32 = 64
AMTVAUDIO_PRESET_STEREO int32 = 512
AMTVAUDIO_PRESET_LANG_A int32 = 4096
AMTVAUDIO_PRESET_LANG_B int32 = 8192
AMTVAUDIO_PRESET_LANG_C int32 = 16384
)const
AMTVAUDIO_MODE_MONO = 1;
AMTVAUDIO_MODE_STEREO = 2;
AMTVAUDIO_MODE_LANG_A = 16;
AMTVAUDIO_MODE_LANG_B = 32;
AMTVAUDIO_MODE_LANG_C = 64;
AMTVAUDIO_PRESET_STEREO = 512;
AMTVAUDIO_PRESET_LANG_A = 4096;
AMTVAUDIO_PRESET_LANG_B = 8192;
AMTVAUDIO_PRESET_LANG_C = 16384;// TVAudioMode
pub const AMTVAUDIO_MODE_MONO: i32 = 1;
pub const AMTVAUDIO_MODE_STEREO: i32 = 2;
pub const AMTVAUDIO_MODE_LANG_A: i32 = 16;
pub const AMTVAUDIO_MODE_LANG_B: i32 = 32;
pub const AMTVAUDIO_MODE_LANG_C: i32 = 64;
pub const AMTVAUDIO_PRESET_STEREO: i32 = 512;
pub const AMTVAUDIO_PRESET_LANG_A: i32 = 4096;
pub const AMTVAUDIO_PRESET_LANG_B: i32 = 8192;
pub const AMTVAUDIO_PRESET_LANG_C: i32 = 16384;const
AMTVAUDIO_MODE_MONO* = 1
AMTVAUDIO_MODE_STEREO* = 2
AMTVAUDIO_MODE_LANG_A* = 16
AMTVAUDIO_MODE_LANG_B* = 32
AMTVAUDIO_MODE_LANG_C* = 64
AMTVAUDIO_PRESET_STEREO* = 512
AMTVAUDIO_PRESET_LANG_A* = 4096
AMTVAUDIO_PRESET_LANG_B* = 8192
AMTVAUDIO_PRESET_LANG_C* = 16384enum TVAudioMode : int {
AMTVAUDIO_MODE_MONO = 1,
AMTVAUDIO_MODE_STEREO = 2,
AMTVAUDIO_MODE_LANG_A = 16,
AMTVAUDIO_MODE_LANG_B = 32,
AMTVAUDIO_MODE_LANG_C = 64,
AMTVAUDIO_PRESET_STEREO = 512,
AMTVAUDIO_PRESET_LANG_A = 4096,
AMTVAUDIO_PRESET_LANG_B = 8192,
AMTVAUDIO_PRESET_LANG_C = 16384,
}#define global AMTVAUDIO_MODE_MONO 0x1
#define global AMTVAUDIO_MODE_STEREO 0x2
#define global AMTVAUDIO_MODE_LANG_A 0x10
#define global AMTVAUDIO_MODE_LANG_B 0x20
#define global AMTVAUDIO_MODE_LANG_C 0x40
#define global AMTVAUDIO_PRESET_STEREO 0x200
#define global AMTVAUDIO_PRESET_LANG_A 0x1000
#define global AMTVAUDIO_PRESET_LANG_B 0x2000
#define global AMTVAUDIO_PRESET_LANG_C 0x4000