![](/img/trans.png)
[英]Weird behavior of CrossWalk-based hybrid app when playing m4a web audio
[英]Hybrid App: Audio not playing on Android
我正在使用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();
}}
感謝您的任何見解。
這里最大的問題是Monaca.mobi應用程序內部使用的瀏覽器是什么? 默認的Android瀏覽器因不支持需要HTML5的較新的編解碼器(如音頻)而臭名昭着。 您可能最好設置應用程序可以觀看的某種標志,然后使用該應用播放聲音而不是依賴瀏覽器。
您的上述代碼僅適用於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();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.