sndPlaySoundでWaveファイルを再生しているのですが、SND_SYNC付きで大きなファイルを指定すると最後まで再生してくれません。同じファイルをSND_ASYNCならば最後まで再生してくれます。
sndPlaySound("Test.wave",SND_FILENAME+SND_SYNC) NG
sndPlaySound("Test.wave",SND_FILENAME+SND_ASYNC) OK
WAVEファイルの定義は以下となっています。
FileSize 5292050
ByteSize 18
FormatID 1
Chanels 2
SampleRate 22050
DataSpeed 88200
BlockSize 4
SamplePerBits 16
再生時間は1分なのですが、24秒程で停止してしまいます。
また、以下のファイルならば実際は3分のところ、2分45秒までは再生できました。
FileSize 7938050
ByteSize 18
FormatID 1
Chanels 1
SampleRate 22050
DataSpeed 44100
BlockSize 2
SamplePerBits 16
同じパラメータのファイルで2分ならば、問題無く全て再生できます。
大きな違いはステレオかモノラルかの差です。
停止してしまう要因は何でしょう?
よろしくお願いします。
ps.
sndPlaySoundを PlaySoundにしても変わりません。
他のAPIは諸事情により使えません。