【问题标题】:Audio will not play on Android using phonegap, but works fine on iOS使用 phonegap 无法在 Android 上播放音频,但在 iOS 上可以正常播放
【发布时间】:2015-07-27 08:55:22
【问题描述】:

它在 iOS 上运行良好。

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

Play sound on Phonegap app for Android

HTML5 audio not playing in PhoneGap App (Possible to use Media?)

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

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

这是我当前的代码:

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();

有人有想法吗??感觉自己一直在兜圈子

【问题讨论】:

  • 我遇到了同样的问题,但仍然没有解决方案。
  • 嗯,这令人担忧! Stackoverflow 上有很多不同的答案,但似乎没有一个有效:/
  • 你是在模拟器还是真机上试过?尝试按音量硬件键,是否会导致您的应用崩溃?
  • 我正在 nexus 5 上试用它
  • 按音量键确实有效!!!!为什么会自动静音???

标签: android html cordova audio phonegap-plugins


【解决方案1】:

我也有类似的情况,这个解决方案对我有用 使用window.location.pathname 获取应用程序的完整路径,这样您就不必担心设备类型,它会为您提供包括index.html 在内的完整路径,并使用以下函数简单地从字符串中剥离index.html 并附加您的媒体文件。

function getPhoneGapPath() {

var path = window.location.pathname;
path = path.substr( path, path.length - 10 ); //strip off index.html
return 'file://' + path;

};

然后

url = getPhoneGapPath()+'sound.ogg';  //OR MP3 

alert(url);
sound = new Media(url);
sound.play();

希望对你有帮助

【讨论】:

  • 还是没有运气! URL 输出file:///android_asset/www/sound.ogg
【解决方案2】:

我终于成功了!!

我首先使用上面的 @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();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-07
    • 2021-11-11
    • 2017-01-25
    • 2012-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-07
    相关资源
    最近更新 更多