以前作ったCore Audio管理クラス群をWindows8に移植し始めた。今のところ、
- __com_ptrはMicrosoft::WRL::ComPtrに変更
- MMDeviceによるデバイス列挙はWindows::Devices::Enumerationに変更
- IAudioClient2のActivateはActivateAudioInterfaceに変更
- eDataFlowはWindows::Devices::Enumeration::DeviceClassに変更
- COMのエラーはPlatform::Exception::CreateExceptionで得たPlatform::Exception^を投げるように変更
した程度だ。まあぼちぼちとやっている。
WASAPI管理クラスはWASAPIの設定を保持するクラスである。事前に再生・録音クライアントの情報を集めておいて、UIでサンプリング周波数やフォーマットを指定させ、その状態を保持する。UIとの連携はデータバインドを使いたいところだけど、やっぱりref class+データバインド属性をくっつけないといけないのかな。少し研究するとしよう。