From d8515847be12a3984120d5d28db2713bf908db6a Mon Sep 17 00:00:00 2001 From: tanlongsheng <252620078@qq.com> Date: Mon, 28 Jul 2025 11:12:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=A0=A1=E9=AA=8C=E6=98=AF?= =?UTF-8?q?=E5=90=A6=E9=9F=B3=E9=A2=91=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controllers/meeting_home_controller.dart | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/lib/modules/meeting/controllers/meeting_home_controller.dart b/lib/modules/meeting/controllers/meeting_home_controller.dart index a2daa919e..1b5af2369 100644 --- a/lib/modules/meeting/controllers/meeting_home_controller.dart +++ b/lib/modules/meeting/controllers/meeting_home_controller.dart @@ -308,6 +308,19 @@ class MeetingHomeController extends GetxController { ); if (result != null) { PlatformFile file = result.files.first; + + if (!_isAudioFile(file.name)) { + Get.snackbar( + 'error'.tr, // 错误 + '请选择音频文件', + snackPosition: SnackPosition.TOP, + backgroundColor: Colors.red.withOpacity(0.1), + colorText: Colors.red, + ); + EasyLoading.dismiss(); + return; + } + filePath = await _saveFile(file); fileName = file.name; } else { @@ -424,4 +437,10 @@ class MeetingHomeController extends GetxController { await file.delete(); } } + + bool _isAudioFile(String fileName) { + const List audioExtensions = ['.mp3', '.wav', '.m4a', '.aac']; + final extension = path.extension(fileName).toLowerCase(); + return audioExtensions.contains(extension); + } }