android - openfl - 音频不适用于 cpp 目标

标签 android c++ audio haxe openfl

我添加了 <assets path="assets/audio" rename="audio" />到 application.xml 文件。

我通过调用 Assets.getSound("2_3_1.mp3"); 将“mp3”文件加载到音频文件夹中, 然后使用 .play();该(声音)对象上播放文件的方法。

声音在 flash 中播放目标。 但不要玩 cpp目标。我的应用主要针对 Android (cpp) 和 iOS (c#) 目标。

调试 windows (cpp) 时目标,它在控制台中显示这些错误:

Sound.hx:99: Error: Could not load "audio/2_3_1.mp3"
Error opening sound file, unsupported type.
Error opening sound data
Done(0)

最佳答案

我相信 mp3 在 Windows 和大多数其他目标上不受支持,因为与该格式的许可成本相关的决定。

Flash 目标是一个异常(exception),因为 Adob​​e 有一项协议(protocol),允许开发人员使用该格式而无需支付版税。此处对此进行了更多讨论:http://www.openfl.org/blog/2013/09/18/to-mp3-or-not-to-mp3/

解决方法是对非 Flash 平台的音频使用 .ogg 格式,并通过在 Project.xml 中指定 Assets 路径来包含每个平台的音频文件,例如:

<assets path="assets/music" type="music" if="flash"> <!-- mp3s --> </assets> <assets path="assets/music" type="music" unless="flash"> <!-- oggs --> </assets>

关于android - openfl - 音频不适用于 cpp 目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31829211/

相关文章:

java - Android中如何提取位图的红、绿、蓝 channel

c++ - char** 和 char*[] 有什么区别

java - 从IPCAM播放音频流的极端延迟

audio - 让 jPlayer 停留在轨道的末尾

显示软键盘时返回键的Android键事件?

Android: Encrypt String, send via HTTPS and Decrypt String 问题

c++ - C++中变量的作用域和优先级

python - 如何解决在使用IPython.Display.Audio时引起的错误(OSError [Errno22]无效参数:…)?

android - 如何从 onClickListener 的方法中抛出异常

c++ - 类型转换模板值参数