我尝试播放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中仍然不起作用:
有没有解决办法?!
是我的应用程序结构
App
`-- www
`-- index.html
|+-- sounds
| `-- blop.mp3
|-- js
`-- css
答案 0 :(得分:1)
更新:
我检查了你的项目并且传递的网址工作正常,我还测试了应用程序和一些音频文件你有错误的网址设置如下: “声音/ PopCork.mp3”
所以你需要传递的实际网址是: “文件:///android_asset/www/sounds/PopCork.mp3”
所以要使这项工作跨平台使用:
cordova.file.applicationDirectory +''www / sounds / PopCork.mp3“
项目一切顺利!
此行应该可以正常工作:
<button onclick="playAudio('file:///android_asset/www/sounds/blop.mp3');">hi</button>
你能不能粘贴www文件夹结构?