くだすれDirectX(超初心者用)
■ このスレッドは過去ログ倉庫に格納されています
0808デフォルトの名無しさん
2007/01/28(日) 05:28:55しまったので、質問させてください。
単体で再生する分には全く問題なく動くのですが、複数再生すると既に再生されている
サウンドが途切れるというか崩れるというか、おかしくなってしまいます。
バッファは
DSBUFFERDESC::dwFlagsを「DSBCAPS_GETCURRENTPOSITION2 | DSBCAPS_GLOBALFOCUS
| DSBCAPS_LOCDEFER | DSBCAPS_CTRLPOSITIONNOTIFY」でして作成してあります。
位置通知イベントは、先頭(A)・真ん中(B)・DSBPN_OFFSETSTOP(C)としました。
再生カーソルがAB区間にあり、BA区間に書き込んでいる時に別のサウンドを再生しても
問題はないようなのですが、再生カーソルがBA区間にあり、AB区間に書き込んでいるときに
別のサウンドを再生すると、おかしくなります。
ちょうど再生カーソルがサウンドバッファの終端から先頭に移動する直前に別のサウンドを
再生するという感じです。
ただし、IDirectSoundBuffer8::PlayのdwFlagsにDSBPLAY_LOCSOFTWAREを付けると問題は
起きません。
OSはWin2000SP4、DirectX9.0、同SDK(2006oct)、unmanagedで作っています。
Googleで「DirectSound 同時再生 ストリーミング」で検索するとBBXで同じ症状と思われる
書き込みがあったようですが、キャッシュが無くて見れませんでした。
どうも雲をつかむような状態でして、うまく説明できないのですが原因わかりますでしょうか?
他に必要な情報等ありましたら指摘してください。
■ このスレッドは過去ログ倉庫に格納されています