diff --git a/lib/main/lockDetail/monitoring/monitoring/lockMonitoring_page.dart b/lib/main/lockDetail/monitoring/monitoring/lockMonitoring_page.dart index 61385d0f..b640ed92 100755 --- a/lib/main/lockDetail/monitoring/monitoring/lockMonitoring_page.dart +++ b/lib/main/lockDetail/monitoring/monitoring/lockMonitoring_page.dart @@ -155,8 +155,9 @@ class _LockMonitoringPageState extends State { label: '挂断'.tr, color: Colors.red, onTap: () async { - logic.stopProcessing(); - CallTalk().finishAVData(); + // logic.stopProcessing(); + // CallTalk().finishAVData(); + if (!state.isClickHangUp.value) { // logic.initiateUdpHangUpAction(3); logic.initiateHangUpCommand(); diff --git a/lib/main/lockDetail/monitoring/monitoring/star_chart_logic.dart b/lib/main/lockDetail/monitoring/monitoring/star_chart_logic.dart index 6f7bdb92..759f60fa 100644 --- a/lib/main/lockDetail/monitoring/monitoring/star_chart_logic.dart +++ b/lib/main/lockDetail/monitoring/monitoring/star_chart_logic.dart @@ -90,6 +90,7 @@ class StarChartLogic extends BaseGetXController { // 拒绝 StartChartManage().sendTalkRejectMessage(); } + Get.back(); } Future _onFrame(List frame) async { diff --git a/lib/talk/other/audio_player_manager.dart b/lib/talk/other/audio_player_manager.dart index 1e429d15..ff6ffa4c 100644 --- a/lib/talk/other/audio_player_manager.dart +++ b/lib/talk/other/audio_player_manager.dart @@ -17,7 +17,6 @@ class AudioPlayerManager { // 单例的 AudioPlayer 实例 final AudioPlayer _audioPlayer = AudioPlayer(); - // 播放铃声 Future playRingtone() async { try { @@ -33,7 +32,9 @@ class AudioPlayerManager { Future stopRingtone() async { try { // 不需要设置 ReleaseMode,在停止时保持默认即可 + _audioPlayer.setReleaseMode(ReleaseMode.loop); await _audioPlayer.stop(); + log(text: 'Ringtone stopped.'); } catch (e) { log(text: 'Error stopping ringtone: $e'); diff --git a/lib/talk/startChart/handle/impl/udp_talk_accept_handler.dart b/lib/talk/startChart/handle/impl/udp_talk_accept_handler.dart index 63bbc600..025b1215 100644 --- a/lib/talk/startChart/handle/impl/udp_talk_accept_handler.dart +++ b/lib/talk/startChart/handle/impl/udp_talk_accept_handler.dart @@ -34,6 +34,7 @@ class UdpTalkAcceptHandler extends ScpMessageBaseHandle _handleStartSendTalkExpectDataRequest(); // 设置状态为接听中 talkStatus.setDuringCall(); + stopRingtone(); } } diff --git a/lib/talk/startChart/handle/impl/udp_talk_hangup_handler.dart b/lib/talk/startChart/handle/impl/udp_talk_hangup_handler.dart index 09899649..86b00c1e 100644 --- a/lib/talk/startChart/handle/impl/udp_talk_hangup_handler.dart +++ b/lib/talk/startChart/handle/impl/udp_talk_hangup_handler.dart @@ -23,6 +23,7 @@ class UdpTalkHangUpHandler extends ScpMessageBaseHandle startChartManage.stopTalkPingMessageTimer(); startChartManage.stopTalkExpectMessageTimer(); talkStatus.setEnd(); + stopRingtone(); } @override @@ -32,7 +33,7 @@ class UdpTalkHangUpHandler extends ScpMessageBaseHandle startChartManage.stopTalkPingMessageTimer(); startChartManage.stopTalkExpectMessageTimer(); talkStatus.setEnd(); - + stopRingtone(); } @override