如何在Exo播放器中播放此类http文件?

时间:2020-01-14 09:56:55

标签: android stream exoplayer exoplayer2.x

我正在使用exoplayer播放在线流。当我从某个公共IP服务器传递链接时,它工作正常

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

上面的网址可以正常工作。

但是当我使用自己的网址时

 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"));

它显示错误。 我在vlc和mx android播放器中粘贴了完全相同的网址,它们可以正常工作,并且每个设备都可以在同一个wifi上工作。

错误:

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)

0 个答案:

没有答案