mediaplayer网络播放错误

mediaplayer网络播放错误

Android使用mediaplayer播放网络歌曲时,一直播放不出来。最近给Android的自己写的音乐播放器添加搜索功能,百翻周折后找到一个某网站,将他的接口偷拿去用,结果播放的时候半天没播放出音乐来。查看日志感觉也没报什么错。然后在日志中看到了下面这段,虽然没看出什么错误,但是直觉告诉我,有问题了。
V/MediaPlayer: resetDrmState: mDrmInfo=null mDrmProvisioningThread=null mPrepareDrmInProgress=false mActiveDrmScheme=false
cleanDrmObj: mDrmObj=null mDrmSessionId=null
V/MediaHTTPService: MediaHTTPService(android.media.MediaHTTPService@c21e695): Cookies: null
I/System.out: http://ting6.yymp3.net:86/new18/gaoxszxj/3.mp3
V/MediaHTTPService: makeHTTPConnection: CookieHandler (java.net.CookieManager@143c5d9) exists.
makeHTTPConnection(android.media.MediaHTTPService@c21e695): cookieHandler: java.net.CookieManager@143c5d9 Cookies: null
百度了半天也没找到原因,代码也翻来覆去查看,没看到有什么问题。
以为是url的问题,然后换了几个url,发现https开头的都能播放。
原来Android p(9.0)后,为了安全,Android系统会自动把app內的http请求给屏蔽掉,只允许https。
解决方案:
1,
在manifest中的application中,添加属性android:networkSecurityConfig="@xml/network_security_config"
然后在/res/xml下添加network_security_config文件。
在这里插入图片描述
里面配置

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true" />
</network-security-config>

2,在manifest的application中添加属性

android:usesCleartextTraffic="true"

3,将http请求全部改成https请求。
4,将targetSdkVersion降级到28以下,这个仿佛有点麻烦,于是我只试了前三种方法。

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值