我有一个音频的 HTTP URL。
当 android TargetSDKVersion 为 26 时,该 URL 与 ExoPlayer v2.7.0 一起工作正常。
当 TargetSDKVersion 设置为 28 时,它不起作用。
收到以下错误:
W/MediaPlayer: Couldn't open http://***
java.io.FileNotFoundException: No content provider: http://***
但是,当我设置 HTTPS URL 时,它可以正常工作。
为此,我们在 AndroidManifest 中设置了网络配置
<application
android:usesCleartextTraffic="true"
android:networkSecurityConfig="@xml/network_security_config"
而 network_security_config 是:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates src="system" />
</trust-anchors>
</base-config>
</network-security-config>
此外,用于setAudioAttributes
代替setAudioStreamType
媒体播放器。
mediaPlayer.setAudioAttributes(
new AudioAttributes
.Builder()
.setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)
.build());
对此有什么想法吗?