在Android中,有使用Android VideoView
的任何方法来支持自适应流。
我正在VideoView
中播放HLS视频。现在,我想根据带宽更改视频质量。如果带宽低,则VideoView
应播放低比特率的内容,如果带宽高,则VideoView
应播放高比特率的视频。
我进行了很多搜索,但未获得满意的结果。
我已经搜索了像ExoPlayer
这样的播放器。
请点击以下链接:
See Adaptive media playbacks topic of this link
如果有人有任何想法请回头。
最佳答案
出于各种原因,应将Android VideoView
替换为ExoPlayer
,主要是因为第三方制造商通常会修改VideoView
,从而导致对HLS之类的支持不一致;因此,我将使用ExoPlayer
根据您的回答。
HLS和其他自适应播放协议(例如DASH或Smooth Stream)会根据网络自动更改播放质量。特别地,HlsRenderBuilder
采用BandwidthMeter
(请参见HlsRenderBuilder#L131)。如果您担心默认功能不够有效,则可以提供自定义的BandwithMeter
。
为简单起见,您应该在ExoPlayer
周围使用包装器,例如ExoMedia,该包装器可与类似于Android VideoView
的API进行快速集成
关于android - videoview是否在android中支持自适应流?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39325914/