我有一个使用 ExoPlayer 播放 DRM-Dash 内容的应用程序,当应用程序进入分屏时,播放会按预期继续,但退出分屏会使包含 ExoPlayer 的 FrameView 浮动在应用程序上。
播放 DRM 免费流时不会发生此问题,因此似乎与 DRM 密钥有关
我正在利用onMultiWindowModeChanged
尝试让 ExoPlayer 坚持它的原始表面,但我没有选择。
尝试分离视图并重新附加,但问题仍然存在
public void requestRebuild() {
detachViewFromParent(exoPlayerView);
LayoutParams layoutParams = getDefaultLayoutParams();
exoPlayerView.setLayoutParams(layoutParams);
attachViewToParent(exoPlayerView, 0 , layoutParams);
exoPlayerView.setPlayer(player);
startPlayback();
}
还重新创建视图但播放中断
public void requestRebuild() {
removeView(exoPlayerView);
exoPlayerView = new ExoPlayerView(getContext());
LayoutParams layoutParams = getDefaultLayoutParams();
exoPlayerView.setLayoutParams(layoutParams);
addView(exoPlayerView, 0 , layoutParams);
recreateSimpleExoPlayer();
selectTrack();
setSource();
setControls();
}
有没有人有重新附加或重新创建一个已经加载 DRM 密钥的活 ExoPlayer 的经验?