【问题标题】:Phonegap NativeAudio will not play on iOSPhonegap NativeAudio 无法在 iOS 上播放
【发布时间】:2017-01-10 13:10:51
【问题描述】:

我正在尝试将此插件与我的 PhoneGap Build 应用程序一起使用: https://www.npmjs.com/package/cordova-plugin-nativeaudio

我在我的 config.xml

中调用它
<gap:plugin name="cordova-plugin-nativeaudio" source="npm" />

然后在我的 onDeviceReady 中加载声音,如下所示:

if( window.plugins && window.plugins.NativeAudio ) {

    window.plugins.NativeAudio.preloadSimple( 'slide', 'sounds/slide.mp3', function(msg){
    }, function(msg){
       alert( 'error: ' + msg );
    });
}
else {
   alert("load failed");
}

然后在我每次移动 a 时发生的函数中发生

window.plugins.NativeAudio.play( 'slide' );

然后我打包并构建应用程序并通过 TestFlight 安装在我的手机上

声音存储在我的www/sounds/ 文件夹中,如果我更改加载代码中的路径/文件名,我的手机会提示“加载失败”,但如果路径正确,它会保持静音,表示成功。然而它在调用时却没有声音。

我尝试通过 Media 插件播放相同的声音,并且它工作正常,所以我知道 .mp3 本身没有任何问题,但它被多次调用,以便 Media 处理冻结应用程序。

编辑:如果此插件损坏或过时,将接受合适的替代方案。

【问题讨论】:

  • 您的音频文件的长度和大小是多少?
  • 文件大小为 7kb,在文件资源管理器中显示为 0:00(也许这也是一个问题),因为它太短了,所以我怀疑它是否太复杂。
  • 正如我在答案中所建议的,尝试使用 preloadComplex 。如果它不起作用,请更改您的音频文件并重试。

标签: ios cordova audio cordova-plugins


【解决方案1】:

我已经测试了这个插件,它工作得很好。

你可以试试他们的sample project

起初我尝试使用您的代码和从互联网下载的声音,但在尝试播放时出现此错误: WARNING: [0x1f197000] 998: Failure to setup sound, err = -50(预加载成功回调,调用play时在Xcode调试区显示)

问题是用preloadSimple 播放的声音太复杂了,使用preloadComplex 为我解决了这个问题,所以也许你的声音太复杂而不能用preloadSimple 播放

注意:当使用preloadComplex时,你必须在成功回调之前传递三个参数,音量,声音,延迟,应该是这样的:

window.plugins.NativeAudio.preloadComplex( 'slide', 'sounds/slide.mp3', 1, 1, 0, function(msg){ window.plugins.NativeAudio.play( 'slide' ); }, function(msg){ alert( 'error: ' + msg ); });

【讨论】:

  • 好吧,这对我来说意义不大,因为我的声音文件只有 7kb 不到一秒的声音,但将其从简单更改为复杂似乎可行。非常感谢!
  • 是的,听起来很奇怪。示例项目中的音频文件为 19-34KB 的简单声音和 1.4MB 的复杂背景声音。也许这与文件的比特率或频率有关。您可以使用MediaInfo等工具检查您的文件mediaarea.net/es/MediaInfo
  • 是的,我会尝试不同的声音和其他东西来试图弄清楚,看看我是否可以缩小问题的范围。这只是延迟了我的游戏的发布,所以我只是需要一些工作。再次感谢您。
【解决方案2】:

可能问题出在音频文件的大小/类型上,因此请使用 preloadComplex insted of preloadSimple

 preloadComplex: function ( id, assetPath, volume, voices, delay, successCallback, errorCallback)

【讨论】:

    猜你喜欢
    • 2015-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 2021-11-11
    • 2011-09-11
    • 2015-11-19
    相关资源
    最近更新 更多