【发布时间】:2012-04-24 11:46:07
【问题描述】:
我正在构建一个类似音板的基本应用程序,其中包含一些播放声音的按钮。我正在使用 PhoneGap/Cordova,并且正在使用 PhoneGap Build 服务将代码编译为 APK。起初,我使用简单的 HTML5 <audio> 标签,它在桌面浏览器和 Android 浏览器中都能正常工作,但是当打包到 PhoneGap 应用程序中时,没有声音播放。
我环顾四周,看到有人提到必须在 PhoneGap 中使用 Media API 而不是标准的 HTML5 音频,所以我通过以下代码更改切换到该 API。
我有以下功能:
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 权限。
我在这里很困惑。有什么想法吗?
更新: 正如@simon-macdonald 所建议的,我放置了本地文件的完整路径(“/android_asset/www/”),但这仍然没有让应用程序工作.没有声音,没有错误/成功警报。 :-(
【问题讨论】:
标签: javascript android html cordova