none
sndPlaySoundでSND_SYNCを指定すると最後まで再生されません RRS feed

  • 質問

  • 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は諸事情により使えません。







     






     

    2007年7月24日 12:35