我有一个组合的 Flash Builder/Flash Pro 项目。由于在时间线上维护声音资产的麻烦,我的声音都嵌入到类文件中,例如:
[Embed (source="/mp3/Welcome_01_V.mp3", mimeType="audio/mpeg")]
private static const WELCOME_1:Class;
这些文件然后由需要它们的符号的基类引用,嵌入到第 10 帧上的 Actionscript(因为第二个帧标签位于第 10 帧上,以便为您提供阅读第一个帧的空间)。
我发现其中一些声音并没有一直播放,但是 SoundChannel 调度了“soundComplete”事件,它的最终位置与声音的长度相匹配。
所有声音都以 44Hz / 16 kbps 从 wav 转换为 mp3。我通过包含一个扩展 Sound 的虚拟 SoundAsset 来伪造编译器以避免对 Flex 的引用。
我不知道要采取什么其他步骤来调试它。有没有办法确定问题是在编译端还是在运行端?
更新
我尝试过的更多事情:
- 查看大小报告:嵌入形式的非工作声音比源 mp3 小
- 摆脱了我自己的 BitmapAsset 并让 Flash 在 Flex 框架中链接并做任何事情(肯定更糟)
- 将编码从 44 kHz 降低到 22 kHz(没有改善或更糟)
- 将比特率降至 8kbps(我使用的工具支持的最低 dbPowerAmp)。这通常会有所帮助,但我仍然通常使用文件末尾的一两个词
- 删除了编码中的两个参数。这有助于一些仅仅降低比特率并没有帮助的人,但不是所有文件。再加上它听起来很小。
谢谢!