DirectSoundのお勉強

現在、DirectSoundのお勉強中。
DirectSoundで何をしようとしてるかは、できてからのお楽しみ。


いつの間にか、DirectX 9.0 SDK Update (October 2004)がリリースされていたので、遅ればせながらインストール。
相変わらずヘルプのインストールに悪戦苦闘。うーん。DirectPlayのサンプルはやっぱりなくなっちゃったのね。日に日にサンプルコード減ってってないか?ということで過去のSDKからサンプルコードをごっそりHD上に展開。
まずは、簡単なPlaySoundのサンプルプログラムのソースコードを眺める。うーん、毎度のことながら、サンプルのフレームワークが重要な模様。CSoundManager, CSound, CWaveFileが大体わかれば音が出せるようになりそうだ。
CWaveFileを解析。こいつはWaveファイルをディスクやリソース、メモリから読み込んだりディスクに書き出したりするクラス。このクラス自身は特にDirectSoundとは関係なくて、MultiMediaAPI(?)を使ってアクセスしてる。
もとのCWaveFileってリソースから読み込むときにクラッシュする可能性があるんじゃないかな。まぁある一定の条件下でしか発生しないだろうけど。
いくつか気に入らないところが見つかったので、自前のクラスライブラリとして、Waveファイルアクセス用クラスを作成。リソースからの読み込み重視でデザイン。さくさくっと作成。今、ふと思いついたけど、デザインに欠点が見つかったので、追加で修正予定。
次にCSoundクラス。こいつは、SoundBufferを管理するクラス。先のCWaveFileからデータを読み込んでそのフォーマットにあわせてSoundBufferを作成。バッファを再生するにあたって、リストアが必要ならばリストアしてくれる。
大体の概念がわかったので、次はCSoundクラスに対応した、自前のクラスの作成かな。
それにしても、MSDNのDirectSoundの項目は非常にわかりやすい。

コメントを残す