首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cordova Media plugin在安卓6(棉花糖)上使用mp3互联网音频流失败

Cordova Media plugin在安卓6(棉花糖)上使用mp3互联网音频流失败
EN

Stack Overflow用户
提问于 2016-05-06 22:48:03
回答 1查看 939关注 0票数 2

我的网络电台播放器应用程序升级到Android 6(棉花糖)失败了。为了测试,我从媒体插件的文档中复制了示例代码(如下所示),并在最新的Cordova (6.1.1)、Android平台(5.1.1)、浏览器平台(4.1.0)和媒体插件(2.3.0)上构建了一个小型测试应用程序。我还添加了必要的白名单语句(如下所示)。在浏览器平台上,它既可以播放互联网文件,也可以播放互联网流。在Android平台上,它无法启动mp3互联网流。控制台日志显示流在1秒内被销毁,并调用了OnSuccess回调。没有错误消息,只记录"playAudio():Audio Success“并终止。

播放器代码是

代码语言:javascript
复制
var src = "http://audio.wgbh.org:8104";
my_media = new Media(src,
   // success callback
   function () {
       console.log("playAudio():Audio Success");
   },
   // error callback
   function (err) {
       console.log("playAudio():Audio Error: " + err);
}

config.xml白名单是(是的不安全,我稍后会修复它)

代码语言:javascript
复制
<plugin name="cordova-plugin-whitelist" source="npm" spec="1" />
<allow-navigation href="*" />
<allow-intent href="*" />
<access origin="*"  launch-external="yes" /> <!-- Required for iOS9 -->

2015年12月之前的堆栈溢出问题也有相同的问题"cordova media plugin stopped working on Android 6“。它向AudioPlayer推荐了一个java补丁。我做了更改并重新构建了我的测试应用程序。但这并没有改变任何事情。Cordova构建是否足以实现这一改变?

顺便说一句,在插入USB的真实手机上测试,通过Chrome开发工具查看日志。

我遗漏了什么?或者这是Media plugin java代码或者Android平台的bug?

EN

回答 1

Stack Overflow用户

发布于 2016-05-07 05:35:11

为了回答我自己的问题,之前在cordova media plugin stopped working on Android 6中提供的补丁确实解决了我的问题。我的错误是把它用在了错误的地方。直接在platforms/android/src/org/apache/cordova/media/AudioPlayer.java中更改代码并重新构建应用程序确实有效。(我只是在修补插件代码)。注释掉第354行,这样它就变成了

代码语言:javascript
复制
//this.seekToPlaying(this.seekOnPrepared);

这就起到了作用。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37075354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档