• 締切済み

VBでのwavファイルの再生について

実は今VB6を使ってゲームを作ってます。 wavファイルを再生させて音を出してるですが、少し困ったことがあります。使ってる関数はwin32APIのPlaySoundを使ってます。 普通に音を再生する分には問題ないのですが、非常に短い間隔で再生を繰り返すと音が鳴らなくなります。 再生時間0.07秒のwavファイルを再生し終わる前に、もう一度そのファイルを再生すると音が鳴らない。 PlaySoundの他にも音を再生するAPI関数があるようですけど、使い方が良く分かりません。 どうすればいいでしょうか? VB6で、OSはwindowsXP使ってます。

みんなの回答

  • gungnir7
  • ベストアンサー率43% (1124/2579)
回答No.1

ループサウンドを使うのならその機能を持ったmidi音源を用意して下さい。 WAVEよりは感応性は良いと思います。 ただし、ループで0.07秒は短すぎのような感もします。 可能ならそれを別途録音して1秒など必要な長さにした方がいいかもしれません。 その他の方法としてはMediaPlayerを使う方法とDirectXを使う方法です。 Mediaplayerは6.4相当(10年前ですから古くて当然)のものがActiveXとして 今でもWindowsに入っています。 これを使った人は多くいるのですが、ゲーム音源には不向きだと思います。 すると残りはDirectXです。 これはWindowsのマルチメディア中枢ですからかなり高度なことも行えます。 ただし、VB6対応のDirectX SDKの入手が今では困難です。 (配布されていることはいますが、どの版をDLすればいいのか分かりません) もし現状に不満があるのならVB.Netに移行された方がいいでしょう。

Finnissy
質問者

お礼

返事が遅くなりすいません。 回答ありがとうございます!! 「可能ならそれを別途録音して1秒など必要な長さにした方がいいかもしれません。」 提案していただいたこの方法を使いました。上手くいきました! これでゲームの続きが作れます、有難う御座いました!