Просмотр исходного кода

直接关闭 和最低截屏配置

User 5 месяцев назад
Родитель
Сommit
61ae93aa7f
2 измененных файлов с 31 добавлено и 8 удалено
  1. 24 1
      main.js
  2. 7 7
      src/pages/ScreenShot/ScrcpyConfig.js

+ 24 - 1
main.js

@@ -106,6 +106,22 @@ function createWindow() {
     // 不阻止关闭事件,直接关闭窗口
     // 不阻止关闭事件,直接关闭窗口
     // 如果需要清理资源,可以在这里添加
     // 如果需要清理资源,可以在这里添加
   });
   });
+  
+  // 禁用 webContents 的 beforeunload 确认对话框
+  mainWindow.webContents.on('will-prevent-unload', (event) => {
+    // 不阻止卸载,直接关闭
+    // 注意:这里不需要调用 event.preventDefault(),因为我们要允许关闭
+  });
+  
+  // 禁用 beforeunload 事件(前端页面可能触发的确认对话框)
+  mainWindow.webContents.setWindowOpenHandler(() => {
+    return { action: 'allow' };
+  });
+  
+  // 禁用所有可能阻止关闭的事件
+  mainWindow.webContents.on('beforeunload', (event) => {
+    // 不阻止卸载
+  });
 
 
   if (isDev) {
   if (isDev) {
     mainWindow.loadURL('http://localhost:5173');
     mainWindow.loadURL('http://localhost:5173');
@@ -474,12 +490,19 @@ app.whenReady().then(() => {
       createWindow();
       createWindow();
     }
     }
   });
   });
+  
+  // 禁用 before-quit 事件的确认对话框
+  app.on('before-quit', (event) => {
+    // 不阻止退出,直接退出应用
+    // 如果需要清理资源,可以在这里添加
+  });
 });
 });
 
 
 // 应用关闭逻辑:macOS 保持运行,其他平台退出
 // 应用关闭逻辑:macOS 保持运行,其他平台退出
 app.on('window-all-closed', () => {
 app.on('window-all-closed', () => {
   if (process.platform !== 'darwin') {
   if (process.platform !== 'darwin') {
-    app.quit();
+    // 直接退出,不询问
+    app.exit(0);
   }
   }
 });
 });
 
 

+ 7 - 7
src/pages/ScreenShot/ScrcpyConfig.js

@@ -4,13 +4,13 @@
 
 
 const ScrcpyConfig = {
 const ScrcpyConfig = {
 	// 视频编码参数
 	// 视频编码参数
-	"bitrate": "1M",
+	"bitrate": "2M",
 	// 比特率:控制视频质量和网络带宽
 	// 比特率:控制视频质量和网络带宽
 	// 范围:1M - 50M(推荐:2M - 16M)
 	// 范围:1M - 50M(推荐:2M - 16M)
 	// 值越小延迟越低但画质越差,值越大画质越好但延迟越高
 	// 值越小延迟越低但画质越差,值越大画质越好但延迟越高
 	// 选项:数字+M(如 "2M", "8M", "16M")或数字(如 2000000 表示 2Mbps)
 	// 选项:数字+M(如 "2M", "8M", "16M")或数字(如 2000000 表示 2Mbps)
 	
 	
-	"max-fps": 120,
+	"max-fps": 1,
 	// 最大帧率:限制视频的最大帧率
 	// 最大帧率:限制视频的最大帧率
 	// 范围:1 - 120(推荐:15 - 60)
 	// 范围:1 - 120(推荐:15 - 60)
 	// 值越小延迟越低但流畅度越差,值越大流畅度越好但延迟越高
 	// 值越小延迟越低但流畅度越差,值越大流畅度越好但延迟越高
@@ -37,12 +37,12 @@ const ScrcpyConfig = {
 	// png: 无损,文件较大,延迟较高
 	// png: 无损,文件较大,延迟较高
 	// jpg: 有损,文件较小,延迟较低(推荐用于降低延迟)
 	// jpg: 有损,文件较小,延迟较低(推荐用于降低延迟)
 	
 	
-	"screencap-quality": 60,
+	"screencap-quality": 1,
 	// 截图质量(仅当 format 为 jpeg 时有效)
 	// 截图质量(仅当 format 为 jpeg 时有效)
 	// 范围:1 - 100(推荐:60 - 90)
 	// 范围:1 - 100(推荐:60 - 90)
 	// 值越小文件越小延迟越低但画质越差,值越大画质越好但延迟越高
 	// 值越小文件越小延迟越低但画质越差,值越大画质越好但延迟越高
 	
 	
-	"screencap-scale": 1.0,
+	"screencap-scale": 0.1,
 	// 截图缩放比例:降低分辨率以减少数据量
 	// 截图缩放比例:降低分辨率以减少数据量
 	// 范围:0.1 - 1.0(推荐:0.5 - 1.0)
 	// 范围:0.1 - 1.0(推荐:0.5 - 1.0)
 	// 值越小延迟越低但清晰度越差,值越大清晰度越好但延迟越高
 	// 值越小延迟越低但清晰度越差,值越大清晰度越好但延迟越高
@@ -53,20 +53,20 @@ const ScrcpyConfig = {
 	// 是否使用 TCP/IP 连接(网络调试)
 	// 是否使用 TCP/IP 连接(网络调试)
 	// 选项:true(网络连接,延迟可能较高), false(USB连接,延迟较低)
 	// 选项:true(网络连接,延迟可能较高), false(USB连接,延迟较低)
 	
 	
-	"buffer-size": 1048576,
+	"buffer-size": 262144,
 	// 缓冲区大小:控制数据传输缓冲区
 	// 缓冲区大小:控制数据传输缓冲区
 	// 范围:65536 - 10485760(64KB - 10MB,推荐:512KB - 2MB)
 	// 范围:65536 - 10485760(64KB - 10MB,推荐:512KB - 2MB)
 	// 值越小延迟越低但可能不稳定,值越大稳定性越好但延迟越高
 	// 值越小延迟越低但可能不稳定,值越大稳定性越好但延迟越高
 	// 选项:数字(字节数,如 524288 表示 512KB)
 	// 选项:数字(字节数,如 524288 表示 512KB)
 	
 	
 	// 轮询和延迟参数(当前项目使用轮询截图)
 	// 轮询和延迟参数(当前项目使用轮询截图)
-	"poll-interval": 1,
+	"poll-interval": 50,
 	// 轮询间隔:两次截图之间的等待时间(毫秒)
 	// 轮询间隔:两次截图之间的等待时间(毫秒)
 	// 范围:50 - 1000(推荐:50 - 200)
 	// 范围:50 - 1000(推荐:50 - 200)
 	// 值越小延迟越低但CPU占用越高,值越大CPU占用越低但延迟越高
 	// 值越小延迟越低但CPU占用越高,值越大CPU占用越低但延迟越高
 	// 选项:数字(毫秒,如 50, 100, 200)
 	// 选项:数字(毫秒,如 50, 100, 200)
 	
 	
-	"image-load-timeout": 500,
+	"image-load-timeout": 200,
 	// 图片加载超时时间:等待图片加载的最大时间(毫秒)
 	// 图片加载超时时间:等待图片加载的最大时间(毫秒)
 	// 范围:100 - 2000(推荐:300 - 800)
 	// 范围:100 - 2000(推荐:300 - 800)
 	// 值越小响应越快但可能丢失帧,值越大稳定性越好但延迟越高
 	// 值越小响应越快但可能丢失帧,值越大稳定性越好但延迟越高