如何在实际完全加载视频之前开始在 MediaPlayer 中播放视频

How to start playing a video in MediaPlayer before actually completely loading a video

我用 VideoViewMediaPlayer 编写了一个 VideoViewActivity。现在开始播放存储在本地存储中的大约 11MB、4 秒的视频大约需要 10-15 秒。我听说对于本地存储视频,MediaPlayerExoPlayer 更好。如何在加载第一位后立即开始播放视频,以便减少按下播放和实际开始播放之间的延迟。顺便说一句,为了比较,whatsapp 加载和播放大小甚至 30MB 的视频只要我点击它就会立即加载和播放!!!

另一方面,MediaPlayer decodes and plays the media at the earliest possible. MediaPlayer is better used when we have to use streaming of media from local sources. ExoPlayer 可以针对流媒体资源实施,比如来自网站或存储桶。

在这两种情况下,各自的播放器都需要一些必须播放的解码帧数据。如果您使用的格式比较复杂,解码的时间可能会很长。

就 whatsapp 而言,它获取原始文件并将其专门压缩以用于其媒体管理器。

我建议使用 exoplayer,因为它更容易处理并且准备时间更短。还支持流式传输。