Как воспроизвести такой файл http в плеере Exo? - PullRequest
0 голосов
/ 14 января 2020

Я использую exoplayer для воспроизведения онлайн потоков. Когда я передаю ссылки с какого-либо публичного c ip-сервера, он работает нормально

MediaSource videoSource = new ExtractorMediaSource.Factory(dataSourceFactory).createMediaSource(Uri.parse("https://storage.googleapis.com/exoplayer-test-media-0/play.mp3"));

Приведенный выше URL-адрес работает нормально.

Но когда я использую свой собственный URL-адрес, такой как

 MediaSource videoSource = new ExtractorMediaSource.Factory(dataSourceFactory).createMediaSource(Uri.parse("http://admin:admin@192.168.0.4:8732/cam4/ERecordings/4_UNIVIEW_192.168.1.13/01-07-2020/14-39-23.mp4"));

Показывает ошибку. Я вставил точно такой же URL в плеерах vl c и mx android, и они работают нормально, и все устройства работают на одном и том же Wi-Fi.

Ошибка:

E/ExoPlayerImplInternal: Source error.
    com.google.android.exoplayer2.upstream.HttpDataSource$InvalidResponseCodeException: Response code: 401
        at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:211)
        at com.google.android.exoplayer2.upstream.DefaultDataSource.open(DefaultDataSource.java:147)
        at com.google.android.exoplayer2.source.ExtractorMediaPeriod$ExtractingLoadable.load(ExtractorMediaPeriod.java:844)
        at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:320)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:764)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...