From 4e9449c0f2fc79f6cb24c78f0a655eef4d5b3155 Mon Sep 17 00:00:00 2001 From: gaozl Date: Fri, 6 Mar 2026 16:43:34 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E8=A7=86=E9=A2=91?= =?UTF-8?q?=E6=92=AD=E6=94=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activity/H5/UpdateFileActivity.java | 2 +- .../activity/H5/WebViewActivity.java | 3 +- .../activity/program/MyPresentation.java | 50 ++++++------------- .../activity/program/ViewScreenSaver.java | 17 ++++++- .../java/qianmu/container/app/Constant.java | 3 -- 5 files changed, 33 insertions(+), 42 deletions(-) diff --git a/app/src/main/java/qianmu/container/activity/H5/UpdateFileActivity.java b/app/src/main/java/qianmu/container/activity/H5/UpdateFileActivity.java index 52cea18..b5f8a2c 100644 --- a/app/src/main/java/qianmu/container/activity/H5/UpdateFileActivity.java +++ b/app/src/main/java/qianmu/container/activity/H5/UpdateFileActivity.java @@ -211,7 +211,7 @@ public class UpdateFileActivity extends BaseActivity { sendEmptyMessageDelayed(TYPE_REQUEST_DATA, 1000); break; - case TYPE_DOWNLOAD_FILE://下载文件 + case TYPE_DOWNLOAD_FILE: //下载文件 ContainerService.initFirstTime(); binding.tvCurrentNumber.setText(StringUtil.strSplice("文件下载进度:", String.valueOf(currentCount), " / ", String.valueOf(bigFiles.size() ))); //图片下载完毕进入主界面 diff --git a/app/src/main/java/qianmu/container/activity/H5/WebViewActivity.java b/app/src/main/java/qianmu/container/activity/H5/WebViewActivity.java index d15ae6d..82d0587 100644 --- a/app/src/main/java/qianmu/container/activity/H5/WebViewActivity.java +++ b/app/src/main/java/qianmu/container/activity/H5/WebViewActivity.java @@ -327,8 +327,9 @@ public class WebViewActivity extends BaseActivity { @Override public void onAnimationEnd(Animator animation) { super.onAnimationEnd(animation); + // proVideo.seekTo(0); proVideo.pause(); - proVideo.stopPlayback(); + //proVideo.stopPlayback(); proVideo.setVisibility(View.GONE); proVideo.setAlpha(1.0f); } diff --git a/app/src/main/java/qianmu/container/activity/program/MyPresentation.java b/app/src/main/java/qianmu/container/activity/program/MyPresentation.java index 044f40a..54310d9 100644 --- a/app/src/main/java/qianmu/container/activity/program/MyPresentation.java +++ b/app/src/main/java/qianmu/container/activity/program/MyPresentation.java @@ -10,6 +10,7 @@ import android.graphics.drawable.Drawable; import android.media.MediaPlayer; import android.os.Bundle; import android.os.Handler; +import android.os.Looper; import android.os.Message; import android.text.TextUtils; import android.util.Log; @@ -2805,43 +2806,23 @@ class MyPresentation extends Presentation { videoPlayCount1++; } - //上传播放记录 - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); - String playTime = format.format(System.currentTimeMillis()); -// ScreenSaverData.uploadPlayRecord(materials0.getMaterialCode(), materials0.getDuration(), playTime, null, null); - if(materials0.getDuration()>0){ //视频 handler.sendEmptyMessageDelayed(TYPE_UPDATE_VIDE,materials0.getDuration()*1000); - Log.e("(双面屏)TAG","设置视频路径"); - videoView.setVideoPath(localPath); - - //获取节目第一个视频的第一帧 - -// if(videoPlayCount==0){ -// MediaMetadataRetriever media = new MediaMetadataRetriever(); -// media.setDataSource(localPath); -// Bitmap bitmap = media.getFrameAtTime(0); -// if(bitmap==null){ -// Log.e("TAG","第一帧为空"); -// }else { -// String[] b = StringUtil.strSplice(Constant.CACHE_PATH, materials0.getFileUrl()).split("\\."); -// String imgUrl = b[0]+".jpg"; -// -// if(!new File(imgUrl).exists()){ -// try { -// FileOutputStream fileOutputStream = new FileOutputStream(imgUrl); -// bitmap.compress(Bitmap.CompressFormat.JPEG,100,fileOutputStream); -// } catch (FileNotFoundException e) { -// e.printStackTrace(); -// } -// } -// } -// //获取视频中的第一帧照片,设置为封面 -//// Bitmap bitmap = media.getFrameAtTime(1, MediaMetadataRetriever.OPTION_CLOSEST_SYNC ); -// -// } - + try { + if (videoView.isPlaying()) { + videoView.stopPlayback(); + } + new Handler(Looper.getMainLooper()).postDelayed(() -> { + try { + videoView.setVideoPath(localPath); + } catch (IllegalStateException e) { + Log.e("ViewScreenSaver", "Error setting video path", e); + } + }, 100); + } catch (IllegalStateException e) { + Log.e("ViewScreenSaver", "Error stopping video", e); + } }else { //图片 if(TYPE_UPDATE_VIDE==TYPE_UPDATE_VIDEO0){ @@ -2862,7 +2843,6 @@ class MyPresentation extends Presentation { handler.sendEmptyMessageDelayed(TYPE_UPDATE_VIDE,videoComponents.getConfig().getTransitionPeriod()*1000); Drawable drawable = new BitmapDrawable(localPath); videoView.setBackground(drawable); - } } diff --git a/app/src/main/java/qianmu/container/activity/program/ViewScreenSaver.java b/app/src/main/java/qianmu/container/activity/program/ViewScreenSaver.java index b28ecdc..d56d7ee 100644 --- a/app/src/main/java/qianmu/container/activity/program/ViewScreenSaver.java +++ b/app/src/main/java/qianmu/container/activity/program/ViewScreenSaver.java @@ -14,6 +14,7 @@ import android.media.MediaPlayer; import android.net.Uri; import android.os.Bundle; import android.os.Handler; +import android.os.Looper; import android.os.Message; import android.text.TextUtils; import android.util.Log; @@ -2904,8 +2905,20 @@ public class ViewScreenSaver extends ViewBase { } if(materials0.getDuration()>0){ - //视频 - videoView.setVideoPath(localPath); + try { + if (videoView.isPlaying()) { + videoView.stopPlayback(); + } + new Handler(Looper.getMainLooper()).postDelayed(() -> { + try { + videoView.setVideoPath(localPath); + } catch (IllegalStateException e) { + Log.e("ViewScreenSaver", "Error setting video path", e); + } + }, 100); + } catch (IllegalStateException e) { + Log.e("ViewScreenSaver", "Error stopping video", e); + } }else { //图片 if(TYPE_UPDATE_VIDE==TYPE_UPDATE_VIDEO0){ diff --git a/app/src/main/java/qianmu/container/app/Constant.java b/app/src/main/java/qianmu/container/app/Constant.java index 7ad05e5..92b254a 100644 --- a/app/src/main/java/qianmu/container/app/Constant.java +++ b/app/src/main/java/qianmu/container/app/Constant.java @@ -73,13 +73,10 @@ public class Constant { public static final String ACTION_MEDIA_UPDATE_COMPLETE = "action_media_complete"; // U盘更新完成 public static final String INPUT_PASSWORD = "input_password"; // - public static final String ACTION_CONNECT_WEB_SOCKET = "action_connect_web_socket"; // - public static final String ACTION_CLOSE_WEB_SOCKET = "action_close_web_socket"; public static final String ACTION_CONNECT_LOCAL_SOCKET = "action_connect_local_web_socket"; // public static final String ACTION_CLOSE_LOCAL_SOCKET = "action_close_local_web_socket"; public static final String ACTION_START_SOCKET_SERVER = "action_start_socket_server"; public static final String ACTION_STOP_SOCKET_SERVER = "action_stop_socket_server"; - public static final String ACTION_NETWORK = "action_network";// 网络通知 public static final String ACTION_MQTT_STATE = "action_mqtt_state";// 通知mqtt检测连接状态,如果断开进行重连 public static final String ACTION_MQTT_ALIVE = "action_mqtt_alive";// 通知mqtt检测连接状态,如果断开进行重连 public static final String ACTION_SHOW_UPDATE_H5 = "action_show_update_h5";// H5更新完成,通知页面更新