android - videoview 是否支持 android 中的自适应流?

标签 android android-videoview http-live-streaming

在 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

的 API 的快速集成

关于android - videoview 是否支持 android 中的自适应流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39325914/

相关文章:

java - 为什么我无法像 Google Analytics Android 示例代码中那样导入 Tracker 类?

java - 安卓屏幕截图

ffmpeg - HLS : reading PRIV ID3 tag with com. apple.streaming.transportStreamTimestamp PTS 时间标记

java - 尽管我下载了 jar 文件,但我无法导入改造 RestAdapter

android - 在浏览器上加载网页而不是在 Activity 中加载 Webview

android - 在 Android 中将任何 View 放在 VideoView 上

android - 使用 VideoView 在 android 中显示动画 Gif 图像

iphone - 使用 IP 地址、端口和凭据进行实时视频流监控

mediaelement.js 对 HLS 的支持

java - 为什么这不适用于 ICS