HTTP URL在Android 10的ExoPlayer中不起作用

问题描述 投票:1回答:1

我有一个音频的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());

对此有何想法?

android exoplayer android-10.0 exoplayer2.x target-sdk
1个回答
0
投票

我已如下更新network_security_config

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">my_domain.com</domain>
    </domain-config>
</network-security-config>

并如下所示从AndroidManifest中删除了[[usesCleartextTraffic属性:

<application <!--android:name="com.tv2consulting.TV2Application"--> android:networkSecurityConfig="@xml/network_security_config"
允许特定域的明文流量对我有用。
© www.soinside.com 2019 - 2024. All rights reserved.