在iOS上运行正常。
我看了很多答案,包括这两个:
Play sound on Phonegap app for Android
HTML5 audio not playing in PhoneGap App (Possible to use Media?)
我尝试了所有解决方案:
/android_asset/www/
这是我目前的代码:
if(device.platform === "Android") //DIFFERENT PATH FOR ANDROID
{
url = "/android_asset/www/sound.ogg";
}else{
url = "sound.mp3";
}
alert(url);
sound = new Media(url);
sound.play();
任何人都有想法?感觉就像我一直在围成圈子
答案 0 :(得分:2)
我有类似的,这个解决方案对我有用
使用window.location.pathname
获取应用程序的完整路径,这样您就不必担心设备类型,它会为您提供完整的路径,包括index.html
,并使用以下功能简单地剥离{{1}从字符串中添加媒体文件。
index.html
然后
function getPhoneGapPath() {
var path = window.location.pathname;
path = path.substr( path, path.length - 10 ); //strip off index.html
return 'file://' + path;
};
希望这有帮助
答案 1 :(得分:0)
我终于成功了!
我首先使用@Sarim Sidd帮助找到完整的Android路径然后预加载音频文件来初始化音频文件:
//INITIALISE SOUND
if(device.platform === "Android") //DIFFERENT PATH FOR ANDROID
{
//navigator.notification.beep(1);
var path = window.location.pathname;
path = path.substr( path, path.length - 10 ); //strip off index.html
url = 'file://'+path+"sound.ogg";
}else{
url = "sound.mp3";
}
//sound = new Media(url);
sound = new Media(url);
sound.play();
sound.pause();
然后,当播放音频时,我在调用播放方法之前将音量强制为满(1.0)。出于某种原因,我注意到每次启动应用程序时音频都会重置为静音:
//PLAY BELL SOUND THROUGH APP
sound.setVolume(1.0);
sound.play();