音频无法在Android上使用phonegap播放,但在iOS上运行正常

smj*_*393 6 audio html5 android phonegap-plugins cordova

它适用于iOS.

我看了很多答案,包括这两个:

在适用于Android的Phonegap应用上播放声音

HTML5音频无法在PhoneGap App中播放(可以使用Media?)

我尝试了所有的解决方案:

  • 更改/android_asset/www/Android 的路径
  • 使用.ogg文件
  • 使用play()/ pause()预加载音频.
  • 使用Cordova/Phonegap提供的Media插件

这是我目前的代码:

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();
Run Code Online (Sandbox Code Playgroud)

有人有想法?感觉就像我一直绕圈子一样

smj*_*393 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();
Run Code Online (Sandbox Code Playgroud)

然后,当播放音频时,我在调用播放方法之前将音量强制调至最大(1.0)。由于某种原因,我注意到每次启动应用程序时音频都会重置为静音:

//PLAY BELL SOUND THROUGH APP
sound.setVolume(1.0);
sound.play();
Run Code Online (Sandbox Code Playgroud)