我正在构建一个基本的音板类应用程序,它有几个播放声音的按钮。我正在使用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