C#で音声再生してて困ったこと

マルチスレッドで音声再生しようとして困ったときのメモ。

スポンサーリンク

最初はここで紹介されていたSmallBasicLibrary.dllで音声再生処理をしていたんだけど、あるスレッドでSound.Playをした後に別のスレッドでSound.Playをしようとすると、オブジェクトが占有されている的なExceptionが出てしまった。何らかの初期化が必要なのかなと思ったけどそのあたりのAPIはちょっとわからず、代案としてStaticなクラスの関数に入れてもみたけどやっぱりダメだった。

ということで、結局ここに書かれていた、MCIを使う形で対応したのでした。

SmallBasicLibrary.dllはおそらくシングルスレッドなら全く問題なく動くと思うので、用途によっては積極的に利用すべきだなーという印象。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です