混合应用程序:音频不在Android上播放



我正在使用Monaca.mobi构建一个混合应用程序。当我为IOS构建应用程序时,一切都很好;然而,当我为安卓设备(Nexus 7)构建它时,音频确实会出现。在Monaca调试器中;不过,音频效果不错。安卓设备是否有我不知道的地方,也许是应用程序的一些权限?

声音是通过点击某些按钮时调用的angularJS函数播放的。我知道这个代码是正确的,只是想分享一下:

function DontAsk($scope){
$scope.play = function(){
    var audio = new Audio();
        audio.src = 'sounds/DontEventAsk.mp3';
    audio.play();
}}

感谢您的真知灼见。

您的上述代码仅适用于iOS。对于Android,无法识别本地音频文件的路径。以下代码适用于这两个操作系统。我已经用构建的应用程序进行了测试。

$scope.play= function(){
    var os = navigator.platform;
    if (os=='iPhone'){
        var url = "sounds/DontEventAsk.mp3";
    }
    else{
        var url = getPhoneGapPath() + "sounds/DontEventAsk.mp3";
    }
    var my_media = new Media(url,
        // success callback
        function() {
            console.log("playAudio():Audio Success");
        },
        // error callback
        function(err) {
            console.log("playAudio():Audio Error: "+JSON.stringify(err));
    });
    // Play audio
    my_media.play();
}

这里的大问题是Monaca.mobi应用程序内部使用什么浏览器?默认的Android浏览器因不支持像Audio这样需要HTML5的新编解码器而臭名昭著。你最好设置一些应用程序可以观看的标志,然后使用应用程序播放声音,而不是依赖浏览器。

相关内容

  • 没有找到相关文章

最新更新