gpt4 book ai didi

audio - 在 XNA 中使用 SoundEffect 循环播放带前奏的音乐

转载 作者:行者123 更新时间:2023-12-01 13:06:28 24 4
gpt4 key购买 nike

我有两个声音文件:

  • 声音 A 是一个 18 秒的介绍,设计为播放一次
  • 声音 B 是 1 分钟的循环轨道

我想播放一次声音 A,然后在声音 A 播放完毕后,立即播放声音 B 并继续循环播放声音 B,直到我告诉它停止。这应该是角色扮演游戏中循环播放的城镇音乐。

我已经尝试在代码中仅使用 SoundEffect 执行此操作,但在声音 A 的结尾和声音 B 的开头之间存在微小但明显的差距。即使我在更新中放置监视代码来监视声音 A 的 SoundEffectInstance.State () 函数,我无法在声音 A 结束时准确地启动声音 B,因此它是无缝的。

我更喜欢使用 SoundEffect,因为我可以加载 WMA 文件,而不是在 XACT 中受困于 WAV。

最佳答案

潜在的第二个选择。我想你听到的差距可能是因为第二个声音需要加载到内存中,或者初始化,或者打开流(不确定内部实现)。但如果是这样的话,我想知道你是否可以做这样的事情:

  1. 载入两种音效(a和b)
  2. 开始播放音效A
  3. 立即开始播放音效B
  4. 在一帧后暂停音效B
  5. 当音效A结束后,重启音效A

我的假设是,由于音效 B 已经初始化,它可能会启动得更快,从而减少感知差距。很想听听您是否有机会尝试这个,以及它是否有效:-)

关于audio - 在 XNA 中使用 SoundEffect 循环播放带前奏的音乐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2812397/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com