我正在开发一个视频应用程序,用户可以在其中观看视频,如果需要全屏打开它,然后返回默认视图等等。由于即将进行的解释,我正在使用 ExoPlayer,最近切换到默认的 MediaPlayer。
我需要“即时”更改播放器的表面。我需要使用同一个播放器在活动之间显示视频,而不会延迟显示图像。使用 Exoplayer,解码器等待下一个关键帧在空的 Surface 上绘制像素。
所以我需要使用相同的 Surface,所以我不需要每次都推送一个新的 Surface,只需将 Surface 附加到 View 父级即可。Surface 可以保持不变,但如果我分离 SurfaceView 以从另一个活动中检索它并重新附加它,则内部 Surface 将被破坏。
那么有没有办法在不同的活动中保持相同的 Surface 呢?与服务?
我知道这个问题理解起来有点奇怪,我会在评论中解释指定部分是请求。