mp3嵌入式无法在Phonegap应用中运行

时间:2016-05-16 12:10:11

标签: android cordova audio phonegap-build

我创建了一个使用AUDIO元素的Phonegap应用程序。它在浏览器上完美运行。

如果我将其安装为应用程序,则音频不再播放。

使用Chrome DevTools我正在调试应用程序。我检查了音频元素,其来源类似于http://whatever.com/path/to/an.mp3。如果我改为file:///android_asset/www/path/to/unexisting.mp3则可行。

如果我将其更改为file:///android_asset/www/path/to/my.mp3我在控制台中收到错误:

  

获取文件:///android_asset/www/path/to/unexisting.mp3   net :: ERR_FILE_NOT_FOUND未捕获(在promise中)DOMException:失败   加载,因为找不到支持的源。

使用config.xml我在控制台中没有收到任何错误,只是听不到任何声音。

... <gap:plugin name="org.apache.cordova.media" /> ... <feature name="Media"> <param name="android-package" value="org.apache.cordova.media.AudioHandler" /> </feature> <feature name="http://api.phonegap.com/1.0/file"/> <feature name="http://api.phonegap.com/1.0/media"/> ... 我有

phonegap plugin add org.apache.cordova.media

我确实运行了Media

我没有使用<audio id="a" src="..."/> <button onclick="document.getElementById('a').play()">Play</button> 类,而是使用类似

的类
session cookie

我将手机与笔记本电脑断开连接,但仍然无效。

我正在使用phonegap 6.0.1。

我错过了什么?

稍后更新:

我在Chrome DevTools中查看了“网络”标签,我可以看到这个

  • 请求
    • URL:文件:///android_asset/www/path/to/my.mp3
    • 请求方法:GET
    • 状态代码:200 OK(来自缓存)
  • 响应标头
    • 客户的Via:shouldInterceptRequest
    • 的Content-Length:2
    • 内容类型:audio / mpeg
  • 请求标头显示临时标头
    • 范围:字节= 0-1
    • User-Agent:Mozilla / 5.0 ......

1 个答案:

答案 0 :(得分:0)

而不是

<audio src="/path/to/my.mp3"/>

我用过

<audio src="/android_asset/www/path/to/my.mp3"/>

并且有效。