我正试图在我的phonegap应用程序中播放声音. 我用来这样做的功能如下: function playAudio(src) { src = "media/sounds/" + src; //go to sound folder always if (device.platform == 'Android') { src = '/android_asset/www/
我用来这样做的功能如下:
function playAudio(src) { src = "media/sounds/" + src; //go to sound folder always if (device.platform == 'Android') { src = '/android_asset/www/' + src; // Android needs the search path explicitly specified } var mediaRes = new Media(src, function onSuccess() { mediaRes.release(); // release the media resource once finished playing }, function onError(e){ alert("error playing sound: " + JSON.stringify(e) + "\n src: " + src); }); mediaRes.play(); // the actual playing }
奇怪的是,如果我设置的应用程序只包含其身体部分有javascript的index.html文件,则声音有效.
但是,当我使用同事编码的菜单时,它不起作用.在那种情况下,我明白了
Uncaught ReferenceError: Media is not defined
要在两个设置(简单设置,工作设置和菜单设置)之间切换,我只需要交换包含文件的“www”文件夹.因此,cordova-plugin-media可以以相同的方式用于两者.
对于不工作的,cordova.js和phonegap.js肯定是可用的(我在这些文件中包含了一个自定义警报功能来检查).
此外,声音播放在“deviceready”被触发后执行.
有没有人建议继续调试?完全重新设计菜单可能会有效,但我想以任何方式避免这种情况.
更新:解决方案是在index.html中加载phonegap.js和cordova.js显然导致了冲突.删除phonegap.js并离开cordova.js就可以了.