actionscript-3 - 如何在没有 SAMPLE_DATA 的情况下从 AS3 中的 AudioSprite 播放无缝循环

标签 actionscript-3 flash audio mp3 howler.js

我创建了一批用这个工具组装的声音:

音频 Sprite

https://github.com/tonistiigi/audiosprite

输出通常用于 JS 库,例如 Howler、Zynga Jukebox 或 SoundJS——但我想看看是否可以在 AS3 中实现。

我开始创建一个声音播放器,它可以根据该工具生成的 JSON 和 MP3 文件加载、解析和播放声音。

到现在为止还挺好! ...除了循环。

现在,大问题是 - 考虑到所有音乐和声音共存于同一个 MP3 文件中,有没有办法无缝播放声音循环,并且它有 开始和结束 范围打和停吗?

Example of how the sounds are placed in the file:

mygame_sounds.mp3 = [BUZZ + LASER + BOING ... + TRACKLOOP]

我正在寻找 的解决方案不 涉及使用 SAMPLE_DATA事件(考虑到它消耗了大量的 CPU 使用率)。如果没有办法解决,请解释原因。

到目前为止,我使用 flash.utils.Timer 取得了轻微的成功在给定 AudioSprite 的持续时间后触发的对象,但不一致。

要停止/处理非循环声音,我依靠 主定时器 (以非常短的间隔运行),这似乎适本地“切割”了样本。但是我已经尝试过使用这个主定时器来一遍又一遍地播放循环声音——同样的延迟问题。

是否有任何方法可以预测/测量声音完成一次传递时预期的延迟时间?

最佳答案

在 SoundJS 中,我们无法找到一种方法来允许在 AS3 中平滑循环音频 Sprite 并使用计时器。我们发现 Web Audio 是唯一允许平滑循环的 api,因此如果可能使用任何其他插件,建议不要使用音频 Sprite 来处理需要平滑循环的声音。

希望有帮助。

关于actionscript-3 - 如何在没有 SAMPLE_DATA 的情况下从 AS3 中的 AudioSprite 播放无缝循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29525087/

相关文章:

actionscript-3 - AS3 - 获取 MovieClip 实例名称 onClick

c++ - 用C++完成此任务;从AS3.0迁移

ruby - Selenium IDE 并告诉它记录操作

python - 将 WAV 格式从 32 位浮点更改为 16 位 PCM

javascript - iOS PWA 音频限制

javascript - 使用 list.js 不会显示 HTML5 音频

actionscript-3 - 如何从 AS3 中的字节数组获取 GIF 图像尺寸?

actionscript-3 - 淡出影片剪辑的音量

csv - jQuery dataTables - TableTools 不工作

apache-flex - URLLoader.load 连接的超时时间是多少?