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