0

我正在使用 Monaca.mobi 构建一个混合应用程序。当我为 IOS 构建应用程序时,一切都很好;但是,当我为 Android 设备(Nexus 7)构建它时,音频确实通过了。在 Monaca 调试器中;但是,音频工作正常。是否有一些我不知道的关于 android 设备的东西,也许是应用程序的一些权限?

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

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

感谢您的任何见解。

4

2 回答 2

1

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

于 2014-04-23T15:06:21.980 回答
1

您的上述代码仅适用于 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();
}
于 2014-05-08T05:49:08.457 回答