ExoPlayer切换媒体源不黑屏

ExoPlayer switching media source without black screen

我在我的项目中使用 exoplayer,切换媒体源时我只使用

player.stop();
player.prepare(mediaSource);

这导致大约。 0.5 秒黑屏,直到切换视频。

有没有办法让 exoplayer 保留上一个视频的最后一帧(而不是 0.5 秒黑屏)直到开始新视频?

simpleExoPlayerView.setShutterBackgroundColor(Color.TRANSPARENT);

Exoplayer 的开发者已经提供了这个问题的解决方案here

只需使用您的 SimplePlayerView 实例添加这一行

playerView.setKeepContentOnPlayerReset(true);

或者,您也可以通过 layout.xml 文件执行此操作,

app:keep_content_on_player_reset="true"

在我的例子中,我在 SimpleExoPlayer 上有一个实例,我曾经在 exoplayer 视图中通过 setPlayer 设置它,更改了视频 url,但是当滚动回之前播放的视频时屏幕空白。

我刚刚使用了 setPlayer(null) 之前再次在 exoplayerview 中设置播放器并修复了黑屏问题。