HTTP-URL не работает в ExoPlayer для Android 10 - PullRequest
1 голос
/ 18 марта 2020

У меня есть HTTP URL аудио.

URL отлично работает с ExoPlayer v2.7.0, когда android TargetSDKVersion равно 26.

Когда для TargetSDKVersion установлено значение 28, это не работает.

Получение следующей ошибки:

W/MediaPlayer: Couldn't open http://***
java.io.FileNotFoundException: No content provider: http://***

Но когда я устанавливаю URL-адрес HTTPS, он работает нормально.

Для этого мы установили Конфигурация сети в 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());

Есть мысли по этому поводу?

1 Ответ

0 голосов
/ 19 марта 2020

Я обновил 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>

И удалил свойство usedCleartextTraffi c из AndroidManifest следующим образом:

<application
        <!--android:name="com.tv2consulting.TV2Application"-->
        android:networkSecurityConfig="@xml/network_security_config"

Разрешение трафика открытого текста c для определенного домена работало для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...