DeviceTopology API を使ってみる

Windows Core Audio APIの1部である DeviceTopology APIを使って、ジャック情報を表示するプログラムを作ってみました。
デフォルトの出力先としているデバイスのジャック情報をコンソールに出力します。

ジャックの情報はスピーカーのプロパティ等で確認することができます。

この情報をプログラム中で取得、表示ということをします。

デフォルトの出力先デバイス(IMMDeviceインターフェース)は取得できているとして、
これから IDeviceToplogyを取得し、そこに接続情報を示す IConnector インターフェースを取得します。

そしてさらにこのコネクタに接続しているコネクタを取得します。

この IConnector は、コンポーネント間の接続を表現するインターフェースです。
ジャックや各処理ユニットの接続状況がこのインターフェースを用いることで調べることが出来るようです。

そして、1処理ユニットを示すインターフェースが IPart となるようなので、これを IConnector より取得します。
取得するメソッドが見つからないので、COMコンポーネントのおきまりのQueryInterfaceで取り出しています。

ここまで取り出しが終わったら、 IKsJackDescription インターフェースを取得して、ジャック情報構造体を取得します。
取得したら各メンバについて表示を行っています。表示を行う関数については省略します。

今回作成したプログラム実行体をおいておきます。dispJackInfo

シェアする

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

フォローする

コメント

  1. […] DeviceTopology API を使ってみる – すらりん日記 […]