音频获胜'不要在iOS Cordova Phonegap应用程序中播放

Audio won't play in iOS Cordova Phonegap app

本文关键字:Cordova iOS Phonegap 应用程序 播放 获胜 音频      更新时间:2023-10-27

我正在创建一个跨平台的Cordova Phonegap声卡应用程序。在安卓版本上一切都很好,但在iOS版本上,声音拒绝播放。我使用SoundJS和PreloadJS来加载和播放音频。我使用了Phonegap远程调试服务器,发现iOS将音频识别为"应用程序/八位字节流"(见图)。

在安卓上一切都很好

安卓

但我在iOS 上得到了这个

iOS

我加载的音频是这样的:

var sound3= "sound3";
    createjs.Sound.registerSound("audio/anybody.mp3", sound3);
    $(function(){
    $( "#sound3" ).bind( "tap", tapHandler ) 
    function tapHandler( event ){
        sound3.play();
    }
});

有人能帮我吗?

我的一个Cordova项目也遇到了类似的问题。

第一个可能的原因:

这是因为不同的浏览器(网页视图)只能播放一些特定类型的内容。您需要有不同格式的声音,如mp3ogg,在播放声音之前,您需要检测保持的格式。查看此文档音频canPlayType并在播放之前进行检查

第二个可能的原因:文件系统问题。iOS资源路径不等于Android资源路径,在声音初始化之前,您需要建立一个到本地资源的特定平台路径

同时尝试播放本地浏览器audio,而不是使用createjs,如下所示:

var sound3 = document.createElement('audio');
sound3.src = "audio/anybody.mp3";
function tapHandler( event ){
    sound3.play();
}
$(function(){
  $( "#sound3" ).bind( "tap", tapHandler ) 
});

您是否尝试使用m4a音频文件(aac)?这似乎是苹果更喜欢的格式。还要确保一次只能播放一个声音,因为iOS一次只能处理一个音频播放。