[戻る]

オーディオ周りが実装完了した。
BGMと音声と効果音のオブジェクトがDirectSoundオブジェクトにぶら下がって、Vや生成破棄のイベントが伝わってくる感じ。

BGMは4秒程度のリングバッファでV毎に残量を確認して読み込む感じ。
効果音も4秒程度のリングバッファでV毎に残量を確認して読み込む感じ。
ただし、微妙に利用方法やチューニングのポイントが違ったので別クラスにした。
BGMは同時に1声。次の再生リクエストが来た時に、再生中のBGMと同じだったらそのまま継続したり、違うBGMだったら自動的にフェードアウトしたり、末尾まで再生したら先頭でない指定位置に戻したりをサポートしたかったので。
逆にVoiceは同時に複声。再生が終わったかどうか判断するインタフェースが必要だったりしたので。

SEはメモリに常にデータを残しておいて、8本あるDSBufferに適宜コピーするようにした。
再生が終わってもDSBufferにデータを残しておいて、コピー回数を減らすようにした。
いわゆるキャッシュ的な仕掛け。

っていうかそんなリッチに作る必要はなかったかも…