• 本当は、田舎に庵を建てて隠遁生活したいけど、先立つものも無いので自宅で..。

XAudio2 連続音発生

ちょっと変なタイトルですけど、XAudio2で連続音が出ました。

いきなりソースです。

AudioBufferの配列を作って、そこにsin波のデータを順番に書き込んで連続音を出すようにしました。

play()というスレッドを走らせて、Audiobufferにデータを格納する前で、waitoneで止めておきます。 

一方、SourceVoiseのイベントハンドラに、sourceVoice_BufferEndを設定してbufferの再生が終わった時にset()が呼び出されるようにします。

set()が呼び出されると、2つ前のAudiobufferにデータが格納されます。 

これを永遠と繰り返します。

ただ、bufferSizeが1秒以下になると、Formを閉じた時に例外が発生します。 今のところ原因不明です。

とりあえず、想定していた機能は実現できたので、次のステップに進みたいと思います。

結構、長かったなぁ..。

コメントを残す

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

CAPTCHA