Re: 音のループ再生の停止について ( No.1 ) |
- 名前:管理人 日時:2022/06/12 08:50
|
Re: 音のループ再生の停止について ( No.2 ) |
- 名前:焼き鯖 日時:2022/06/13 11:00
ごめんなさい、伝え方が悪かったかもです……
「その回」というのは次回ではなく現在の回のことで、現在のループの終了のタイミングで音を止めたいというものです……(リンク先に現状の説明の画像をあげています)
ttps://drive.google.com/file/d/1-ALaPz8MTC7Xz1InNQf5bdFMhdPTTqJv/view?usp=sharing
あとこの引数ではストリーム再生サウンドのみ対応とのことですが、それ以外の種類のサウンドでの対応は厳しいでしょうか?
|
Re: 音のループ再生の停止について ( No.3 ) |
- 名前:管理人 日時:2022/06/14 02:18
> ごめんなさい、伝え方が悪かったかもです……
> 「その回」というのは次回ではなく現在の回のことで、現在のループの終了のタイミングで音を止めたいというものです……(リンク先に現状の説明の画像をあげています)
はい、理解しています
わかりにくくてすみません、注釈の説明にある『次回のループ終了のタイミング』というのは、
『今回のループではなく、次のループが終了する時』という意味ではなく
『現時点から次にループ終了の所まで再生した時』なので、焼き鯖さんが意図されたものと同じです
> あとこの引数ではストリーム再生サウンドのみ対応とのことですが、それ以外の種類のサウンドでの対応は厳しいでしょうか?
ストリーム再生のサウンド以外ですと、ちょっと試してみないと分かりませんが、ループ再生しているサウンドハンドルに対して
StopSoundMem( SoundHandle );
PlaySoundMem( SoundHandle, DX_PLAYTYPE_BACK, FALSE );
↑
こちらを実行するだけで『次のループ終了タイミングで音が止む』が実現できるかもしれません
( 第3引数を FALSE にすることで、音を止めたところから再生が再開されます )
|
Re: 音のループ再生の停止について ( No.4 ) |
- 名前:焼き鯖 日時:2022/06/14 12:14
> 『現時点から次にループ終了の所まで再生した時』なので、焼き鯖さんが意図されたものと同じです
ということは、あげてくださった関数には実行してから止まるまで想定より1ループ分遅れるバグがあると思われます…
> こちらを実行するだけで『次のループ終了タイミングで音が止む』が実現できるかもしれません
試してみましたが、停止時と再開時に音割れ(?)のような現象が起きて、あまり使える手ではなさそうです…
|
Re: 音のループ再生の停止について ( No.5 ) |
- 名前:管理人 日時:2022/06/15 01:24
|
Re: 音のループ再生の停止について ( No.6 ) |
- 名前:焼き鯖 日時:2022/06/15 12:51
> ループ地点から1/5秒以上手前で StopSoundMem を使用しないと、サウンドが止まるのが次回のループ終了時になってしまうのでした…
サウンドを鳴らした直後にStopSoundMemを使っても1ループ分遅れていたのでずっと疑問でしたが、そういうことでしたか…
鳴らしていたサウンドが短かったので別の長めのサウンドにしたところ、確かに正常に動作しました。ありがとうございます!
> DirectSound や XAudio を使用していない場合のみ、ストリーム再生サウンドではなくても『ループ終了時に音を止める』ができるようにしてみました
実は使いたい環境がXAudioで3Dサウンドを使用している環境なのですが、厚かましいお願いではありますが、XAudioに対応していただくことは難しいでしょうか?
(通常環境ではしっかりと動作しておりました)
|
Re: 音のループ再生の停止について ( No.7 ) |
- 名前:管理人 日時:2022/06/16 02:06
|
Re: 音のループ再生の停止について ( No.8 ) |
- 名前:焼き鯖(解決済み) 日時:2022/06/16 15:44
試したところ正常に動作しました、ありがとうございます!
|