From 80ed2b90588d3315939a30a20d81765d99ce2f39 Mon Sep 17 00:00:00 2001 From: gaozl Date: Wed, 6 May 2026 09:14:17 +0800 Subject: [PATCH] fix: ci --- .../container/view/CustomerVideoView.java | 65 ++++--------------- 1 file changed, 13 insertions(+), 52 deletions(-) diff --git a/app/src/main/java/qianmu/container/view/CustomerVideoView.java b/app/src/main/java/qianmu/container/view/CustomerVideoView.java index 8f642c6..082d8f0 100644 --- a/app/src/main/java/qianmu/container/view/CustomerVideoView.java +++ b/app/src/main/java/qianmu/container/view/CustomerVideoView.java @@ -14,6 +14,7 @@ import android.widget.FrameLayout; import androidx.annotation.NonNull; +import com.google.android.exoplayer2.DefaultRenderersFactory; import com.google.android.exoplayer2.ExoPlayer; import com.google.android.exoplayer2.MediaItem; import com.google.android.exoplayer2.PlaybackException; @@ -61,8 +62,18 @@ public class CustomerVideoView extends FrameLayout { playerView = new StyledPlayerView(context); addView(playerView); // 2. 初始化播放器 - initializePlayer(); - + DefaultRenderersFactory factory = + new DefaultRenderersFactory(context); + factory.setEnableDecoderFallback(true); + player = new SimpleExoPlayer.Builder(context, factory) + .setTrackSelector(new DefaultTrackSelector(context)) + .build(); + player.setPlayWhenReady(false); + // 设置播放器到 PlayerView + playerView.setPlayer(player); + setupPlayerListeners(); + // 默认设置(可以根据需要调整) + playerView.setUseController(false); // 透明设置 playerView.setBackgroundColor(Color.TRANSPARENT); playerView.setShutterBackgroundColor(Color.TRANSPARENT); @@ -70,56 +81,6 @@ public class CustomerVideoView extends FrameLayout { playerView.setDefaultArtwork(null); // 增加拉伸铺满 playerView.setResizeMode(AspectRatioFrameLayout.RESIZE_MODE_FILL); - replaceSurfaceWithTextureView(); - } - - /** - * 安全替换 SurfaceView 为 TextureView - */ - private void replaceSurfaceWithTextureView() { - if (playerView == null) return; - - // 延迟获取,确保 View 已创建 - playerView.post(() -> { - View videoView = playerView.getVideoSurfaceView(); - if (!(videoView instanceof SurfaceView)) return; - - SurfaceView oldSurface = (SurfaceView) videoView; - ViewGroup parent = (ViewGroup) oldSurface.getParent(); - if (parent == null) return; - - // 创建 TextureView - mTextureView = new TextureView(getContext()); - mTextureView.setLayoutParams(oldSurface.getLayoutParams()); - - // 替换 - int index = parent.indexOfChild(oldSurface); - parent.removeView(oldSurface); - parent.addView(mTextureView, index); - - // 绑定到播放器 - if (player != null) { - player.setVideoTextureView(mTextureView); - } - }); - } - - private void initializePlayer() { - // 创建 ExoPlayer 实例 - player = new SimpleExoPlayer.Builder(getContext()) - .setTrackSelector(new DefaultTrackSelector(getContext())) - .build(); - player.setPlayWhenReady(false); - // 设置播放器到 PlayerView - playerView.setPlayer(player); - setupPlayerListeners(); - // 拉伸铺满 - playerView.setResizeMode(AspectRatioFrameLayout.RESIZE_MODE_FILL); - // 默认设置(可以根据需要调整) - playerView.setUseController(false); - // 默认设置 Surface 在底部 - // setZOrderOnTop(false); - //setZOrderMediaOverlay(false); } private void setupPlayerListeners() {