サウンドプログラム

  1. 初期化
    1. サウンドフォーマットの指定(WAVEFORMATEX構造体に値を設定)
    2. 指定したフォーマットのサウンドバイスが開けるかどうかwaveOutOpen()でチェック
    3. wavデータ作成
  2. 再生
    1. waveOutOpen()でデバイスチェック・オープン
    2. wavバッファ確保
    3. wavヘッダ設定(WAVEHDR構造体に値を設定)
    4. waveOutPrepareHeader()でwavバッファ初期化
    5. waveOutWrite()でwavバッファ書き込み
    6. wavバッファを再生デバイスに書き込む
  3. 停止
    1. 再生デバイスにバッファが残っていれば、waveOutUnprepareHeader()でwavヘッダクリーンアップ
    2. 全wavバッファに「停止」フラグを立てる
  4. wavバッファを使い切った場合
    1. 「停止」フラグが立っていない場合、wavバッファを使い切ったため、wavバッファを再生成
    2. wavバッファが終端であれば、waveOutClose()で再生デバイスをクローズ。