Device Topology API を使ってみる おまけ


前回の各処理ユニットの接続状況を調べていくプログラムを作成して、ちょっと気になったことがありました。
自分のもっているある環境では妙なことが起こったのです。それが、「ジャックの数と並んでいるチャンネルの数が一致しない」という挙動です。

これが前回にも使った環境なのですが、ジャックは3つで、ここからチャンネル数は 6と予想がつきます。

しかしこのスピーカーの各ボリュームを表示してみると、以下のようになります。

Side-LR が増えています。しかし、ジャックにはその情報がいないようで、謎です。
ドライバの問題でしょうか・・・。

そこでマニュアルを取り出してみると、 VT1718S というサウンドチップが使用されており、なんとこれは8ch出力も可能である旨が記載されていました。この場合、8chの最後の部分が Side L&R と割り当てられており、このときの出力線は line out が使用されるとありました。

この情報から、ジャック情報にはline outの情報が出ていないだけで、実は8chが使用可能であったということがわかりました。実際にスピーカーの構成で 7.1ch を選択してテストしてみると、確かにLineOutにつないだところが Side LRとして鳴りました。当然ながら、5.1ch構成にするとLineOutにつないだスピーカーからは音が出力されませんでした。

このプロパティのチャンネルの並びについてよくわからないのですが、チャンネル数だけがわかっているときには参考URLに示すように、デフォルト値と対応するようにして並んでいるのかな~と思います。

個数 暗黙的なチャンネル位置
1 両方のスピーカーの FrontLeft および FrontRight に常にフル スケールでマッピングされます (モノラル サウンドの特殊な場合)。
2 FrontLeft、FrontRight (基本的なステレオ構成)。
3 FrontLeft、FrontRight、LowFrequency (2.1 構成)。
4 FrontLeft、FrontRight、BackLeft、BackRight (4 チャンネル)。
5 FrontLeft、FrontRight、FrontCenter、SideLeft、SideRight (5.0 構成)。
6 FrontLeft、FrontRight、FrontCenter、LowFrequency、SideLeft、SideRight (5.1 構成)。
7 FrontLeft、FrontRight、FrontCenter、LowFrequency、SideLeft、SideRight、BackCenter (6.1 構成)。
8 FrontLeft、FrontRight、FrontCenter、LowFrequency、BackLeft、BackRight、SideLeft、SideRight (7.1 構成)。

参考: XAudio2 の既定のチャンネル マッピング

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする