【问题标题】:play a local Audio in android with Cordova/PhoneGap using Media plugin使用 Media 插件使用 Cordova/PhoneGap 在 android 中播放本地音频
【发布时间】:2017-07-06 09:38:51
【问题描述】:

我尝试播放 mp3 文件。如果我在本地 webServer 上更改文件的路径,则此方法有效,但如果我在 Android 设备上运行,则不会播放声音并且错误为:{"code":1}

这是我的代码

HTML:

<button onclick="playAudio('sounds/blop.mp3');">hi</button>

javascript:

function playAudio(src) {
    var url = src;
    var my_media = new Media(url,
            // success callback
             function () { console.log("playAudio():Audio Success"); },
            // error callback
             function (err) { console.log("playAudio():Audio Error: " + err);
                            alert(JSON.stringify(err))
                            }
    );
           // Play audio
    my_media.play();
}

config.xml:

<plugin name="cordova-plugin-media" spec="https://github.com/apache/cordova-plugin-media.git"/>

我试过了

<button onclick="playAudio('/android_asset/www/sounds/blop.mp3');">hi</button>

和:

 <button onclick="playAudio('file:///android_asset/www/sounds/blop.mp3');">hi</button>

但它仍然无法在 Android 中运行:

error :{"code":1}

有什么办法吗?!

编辑1:

这是我的应用结构

App
`-- www
    `-- index.html
        |+-- sounds
        |   `-- blop.mp3
        |-- js
        `-- css

【问题讨论】:

标签: javascript android cordova audio


【解决方案1】:

更新:

我检查了您的项目并且通过的 url 可以正常工作,我还测试了应用程序,并且对于某些音频文件,您设置了错误的 url,例如: “声音/PopCork.mp3”

所以您需要传递的实际网址是: "file:///android_asset/www/sounds/PopCork.mp3"

所以要使这项工作跨平台使用:

cordova.file.applicationDirectory + ''www/sounds/PopCork.mp3"

项目一切顺利!


这条线应该可以正常工作:

&lt;button onclick="playAudio('file:///android_asset/www/sounds/blop.mp3');"&gt;hi&lt;/button&gt;

能否请您粘贴 www 文件夹结构?

【讨论】:

  • 你使用的cordova版本是什么?
  • 科尔多瓦 V = 7.0.1 ,
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多