首页 > 解决方案 > VideoView 和 ExoPlayer 有什么区别。为什么我更喜欢其中之一?

问题描述

我开发了一个视频流应用程序,我正在研究现有的视频渲染库来渲染 .mkv (H253-255) 和 .mp4。

我看到有一个原生的 Android View VideoView,它使用MediaCodec并具有很多功能,所以我确信这是一个很好的库,但后来我遇到了 ExoPlayer(由 Google 提供),它可以做同样的事情。

所以我想知道两者之间有什么区别?

标签: androidvideo-streamingandroid-videoviewexoplayerexoplayer2.x

解决方案


与 videoview 相比,Exoplayer 更灵活、更易于定制,并且更稳定,并且具有许多 videoview 所没有的其他功能,比如举一个你需要按顺序播放视频的简单用例,所以你可以做到这一点在 Exoplayer 中使用 ConcatinatingMediaSource 非常容易,在最新版本中,它变得更加灵活和容易,但要在 videoview 中做同样的事情,你必须做很多事情才能让它工作。所以它是一个更先进、更灵活的 videoview 版本,它比 videoview 更具可定制性。我刚刚提到了一个用例,但你可以在谷歌上阅读更多关于 exoplayer 的信息,了解它为什么比 videoview 更好。这也取决于您的用例。但是我建议使用 Exoplayer,或者如果您需要更多理由,那么只需尝试按照我在 videoview 中解释的操作,您或多或少都会明白我的意思。但是 exoplayer 也有错误和问题,但正如我所说,它比 VideoView 更灵活和更好。


推荐阅读