ものがたり(旧)

atsushieno.hatenablog.com に続く

AdpcmMediaStreamSource

ななしさんからIMA ADPCMのmanaged decoderを提供していただいたので、csvorbisと同様にカスタムMediaStreamSourceとして実装してみました。ソースはgithub上に、テストページはこちらに置いておきます。ソースからのビルドにはmono/mcs/moonのtrunk版が必要です。monodevelopのソリューションファイルもありますが、Moonlightアドインでのビルドは出来ないと思います。が、VS2008のプロジェクトを自作してビルドすることもおそらく可能でしょう。
ちなみに、こうやってサンプルを出してはいますが、サンプルコード自体はproof of conceptでしかないので、本格的なものが必要な時は、あんまし参考にしないでください(たとえばGetSampleAsync()は非同期呼び出しを実行して直ちに戻るべきで、同期でコーディングすべきではないはずです。*1)。

あとわたくしADPCMデータなんてもう全然お目にかかっていないので(拡張子ppcとかで試せばいいんでしょうか?w)、提供していただいたサンプルでの確認しかしていません。他のADPCMとの違いも分かってなかったりして。

*1:ってもたかだか音声だしな…。ちなみにネタ元のMSのmp3サンプルの構造がこれ。