<   2014年 12月 ( 1 )   > この月の画像一覧
【音楽】 DirectShowでmp3を再生する(暫定版)
 過去、MCIなどを使って音声の再生プログラムを作っていたが、64bitOSだと使えないということがわかった。上手くやれば使えるのかもしれないが、どうせこのまま廃れていく技術なので、DirectSoundに手を出してみることにした。MicrosoftはXACTに誘導したいようだが、こちらはライセンスの問題もあってか、はなからmp3の再生ができない。

 とはいえ、普通にDirectSoundを使うだけでは、mp3の再生ができない。そこでCodeZineのsyu5さんの記事や、カクタスソフトウェアさんの記事、グーグル先生にお世話になって、ソースファイルからmp3のデコーダにピンをつないで、アナログ出力することまではなんとか漕ぎ着くことができた。

 難点は再生を続けていくうちにハンドルリークが起きてしまうこと。ピンを作って解放した時に、メモリはちゃんと解放されるのだが、いくつかのハンドルが生き残ってしまう。このため1,000ファイル程度再生するとアプリケーションが落ちてしまった。この原因は未だ解明できておらず、悩ましい今日このごろ。

 ピンの概念は、ここや、ここも参考になると思う。
[PR]
by hidemite | 2014-12-01 22:56 | PC