我正在構建一個基本的音板類應用程序,它有幾個播放聲音的按鈕。我正在使用PhoneGap/Cordova,並且正在使用PhoneGap Build服務將代碼編譯爲APK。起初,我使用簡單的HTML5 <audio>
標籤,這些標籤在桌面瀏覽器以及Android瀏覽器中都能正常工作,但是當打包到PhoneGap應用中時,沒有任何聲音在播放。如何在單擊使用PhoneGap/Cordova構建的Android應用程序中的按鈕時播放音頻?
我環顧四周,看到一些提到不得不在PhoneGap中使用Media API而不是標準的HTML5音頻,所以我切換到下面的代碼更改。
我已經到位以下功能:
function doPlay(soundId) {
var my_media = new Media("/android_asset/www/"+soundId+".mp3",
function() {
navigator.notification.alert('Success!', alertDismissed);
},
function(err) {
navigator.notification.alert('Error!', alertDismissed);
});
my_media.play();
}
每個按鈕都有類似這樣的onclick
處理器...
onclick="doPlay('sound1');"
的文件在同一目錄index.html
,叫sound1.mp3
,sound2.mp3
等。功能alertDismissed()
也已定義,但它是空的。
但是,它仍然不起作用。點擊時沒有聲音。沒有'Success'
或'Error'
消息。是的,我得到notification
和media
權限請求。
我很難過。有任何想法嗎?
更新:作爲建議由@西蒙·麥克唐納,我把一個完整路徑本地文件(「/ android_asset /網絡/」),但仍然沒有得到應用工作。沒有聲音,沒有錯誤/成功警報。 :-(
我有一種感覺就是這樣,所以我興奮地放在這條路上,但我仍然沒有聽到聲音。我也沒有得到成功/失敗的警報。還有一些事情我做得不對。在這裏我沒有使用Eclipse有什麼相關性?這只是純文本編輯器,並壓縮並上傳到Build。 – aalaap 2012-04-29 11:47:33
嗯,我知道這段代碼適合我。你確定你的聲音文件正在build中打包嗎?另外,當你測試你的應用程序時,你在「adb logcat」中看到了什麼?那裏通常有錯誤指出事情的根本原因。 – 2012-04-29 15:32:25
我放棄了Android開發並回到了網絡。 – aalaap 2016-12-26 07:25:25