android-recyclerview - 在 RecyclerView 中释放并重新初始化 exoplayer 的最佳方式

标签 android-recyclerview release exoplayer2.x staggered-gridview

我有两个具有不同媒体源的 Exoplayer 实例。

目前

在初始化任一播放器之前。我正在检查是否有任何玩家附着在表面上,如果是,则释放玩家并使用新操作符再次初始化

if(videoPlayerView.getPlayer() != null) {
             videoPlayerView.getPlayer().release();
             videoPlayerView.setPlayer(null);
 }

videoPlayerView 是我在 SimpleExoPlayer 中的 PlayerView

但是在查看分离列表项后,它会变黑而不是再次播放。

最佳答案

我曾经和你做过类似的事情。你需要一个全局玩家池来管理玩家。你不需要每次都释放它。只需调用 stop 方法。并且当切换视频时,只需重置源即可。使其立即播放没有黑色,需要准备。事件结束后,释放所有玩家。

关于android-recyclerview - 在 RecyclerView 中释放并重新初始化 exoplayer 的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60952545/

相关文章:

c++ - Premake 生成的解决方案不会在 Release 中编译,但会在 Debug 中编译

android - Exoplayer - 是否可以在加载之前检查 URL 是否是有效的 mp4/webm url?

android - 当我播放第二个视频时,只显示第一个视频的卡住帧并播放音频

android - 使用 Exoplayer2,如何始终使用默认插图(即使音频嵌入了插图?)

android - 使最后一个 RecyclerView Item 填充 RecyclerView 中的空间(如果数据计数为奇数)

java - Recyclerview和ListView?

java - 使用itemTouchViewer在Recyclerview中拖放不影响动画

java - 尝试将 RecyclerView 与 Parse.com 的 ParseQuery 结合使用以从数据库中提取数据时出现两个编译错误

iphone - Xcode 调试和发布之间的区别

svn - 源代码控制分支的不同方法