Managed DirectXのDirectSoundによる実装を作り始めようか、って所で浮気するのも何なんですが、XAudio2ってどうなんでしょう。
XAudioの評判は、Googleで調べてみてもあまり見当たりません。SlimDX と C# で学ぶ DirectXさんとこのDirectSound と XAudio の違いにはXAudio では、PCM, ADPCM, XMA, xWMA のみ扱うことができます。その他のサウンドフォーマットは使用できません。(DirectSound と同様にアプリ開発者が自分で PCM に変換すれば使うことができますが、その場合は XAudio の提供するストリーム再生機能の恩恵を受けることができず、再生可能なサウンドサイズに厳しい制限が発生します。)
とあり、それだけでがっかりして興味を無くしていました。
ところが、電波の缶詰さんとこのウマイハナシの一節を見ると、何だかストリーミング再生できそうな感じです。MSDNのIXAudio2SourceVoice::SubmitSourceBufferとかXAUDIO2_BUFFERとか見ても、複数回に分けてデータを渡せそうな感じ......真面目に調べてみる価値はあるかも知れません。
ただ困った事に、XAudio2ってC#ユーザを考慮していないのか、C++向けのソースコードしか載っていないんですね。当然.NETのアセンブリも無いようだし、COM参照可能でもないみたいで。これは......C++/CLIを使えというMSさんの啓示? 一度、.NET FrameworkとUnmanaged C++を知ってる人向けのC++/CLIへの移行ガイド(C++: .NET Framework プログラミング最良の言語)を読んだ事はあるのですが、......ちゃんとやるべきかなあ......C#がとても綺麗なので使う事も無いか、と思っていたのですが、どうもこれは。
DirectMusicがManagedなインターフェイスを持っていない事に気付いたのもついさっきです、困った。
コメントする