为啥第一次播放 SoundEffectInstance 需要更多时间?

Posted

技术标签:

【中文标题】为啥第一次播放 SoundEffectInstance 需要更多时间?【英文标题】:Why does playing of SoundEffectInstance take more time at first time?为什么第一次播放 SoundEffectInstance 需要更多时间? 【发布时间】:2012-03-15 04:02:44 【问题描述】:

我正在为每个SoundEffect 预创建SoundEffectInstance,但是当第一次播放一些声音时,它仍然需要一些时间来加载。它是某种延迟加载吗?现在我在加载时为每个SoundEffect 写了sound.Play(0, 0, 0);。加载需要一些时间,但SoundEffectInstance 第一次播放时无需等待。我不喜欢这种方式。那么这个问题有更优雅的解决方案吗?

【问题讨论】:

【参考方案1】:

第一次播放声音时,它会被加载到内存中,这需要一些时间。

您可以尝试隐藏此行为,方法是在需要之前尝试播放曲目,然后立即暂停,以便在需要时将其保存在内存中。

此外,您可以尝试不同的音频压缩和格式,因为这也会影响加载时间。

【讨论】:

我之前试过用var tmp = sound.CreateInstance();tmp.Volume = 1;tmp.Play();tmp.Stop();玩,但实际上没有效果

以上是关于为啥第一次播放 SoundEffectInstance 需要更多时间?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我只能在我的 android 通知中按一次播放/暂停按钮?

为啥 Swift 的 AVPlayer 一次播放会加载 playerItem 两次?

为啥 xcode 播放声音文件时没有任何资源路径?

为啥 MIDI 音序器无法在 Windows 10 上第二次播放

为啥audio静音才可以播放音乐

为啥 iPhone 请求 .m3u8 播放列表文件 4 次?