Date

Windows Mobile 6 で MP3DMO をフィルタグラフに追加して、MP3 ファイルをソースとして食わせると RenderStreamE_FAIL でかえってくる。

Windows Media Player 自体は MP3 を再生できるので、もし MP3DMO を使ってるのだとしたら、こちらの使い方が悪いようだ。

Googling してみたけど海外のフォーラムでも困ってる人がたくさんいた。でも、具体的な解決策は無さそう。

1
2
DEFINE_GUID(CLSID_MP3DECODERDMO, 0x6b928210, 0x84e7, 0x4930, 0x9b, 0x33, 0x1e, 0xb6, 0xf0, 0x2b, 0x52, 0x6e);
DEFINE_GUID(CLSID_MP3DECODER, 0x86a495ac, 0x64ce, 0x42de, 0xa1, 0x3a, 0x32, 0x1a, 0xcc, 0x0f, 0x02, 0xdb);

と、定義しておいて

1
hr=CoCreateInstance(CLSID_MP3DECODER, NULL, CLSCTX_INPROC, IID_IBaseFilter, (void **)&pAudioDec);

で、MP3DMO は追加されてる模様。IEnumPinsでピンを列挙して入力ピンを調べてみると、AM_MEDIA_TYPEのメジャータイプが MEDIATYPE_Audio になってる…。確かファイルソースフィルタから出力されるのは MEDIATYPE_Stream だった気が…。

Media Player コンポーネントを使うのが、一番手っとり早いんかな。denwa.exe はどうやってるんだろう。


Comments

comments powered by Disqus