我正在使用 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();
}}
感谢您的见解。
最佳答案
您的上述代码仅适用于 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();
}
关于javascript - 混合应用程序 : Audio not playing on Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23248165/