fix:(对讲铃声)调整路由页面昵称;调整铃声播放逻辑

This commit is contained in:
liyi 2025-06-12 16:35:55 +08:00
parent ceb889c3a3
commit c0b2114683
4 changed files with 22 additions and 10 deletions

View File

@ -516,7 +516,7 @@ abstract class Routers {
static const String doubleLockLinkPage = '/doubleLockLinkPage'; // static const String doubleLockLinkPage = '/doubleLockLinkPage'; //
static const String starChartPage = '/starChartPage'; // static const String starChartPage = '/starChartPage'; //
static const String starChartTalkView = '/starChartTalkView'; // static const String starChartTalkView = '/starChartTalkView'; //
static const String h264WebView = '/h264WebView'; // static const String h264View = '/h264View'; //
static const String imageTransmissionView = static const String imageTransmissionView =
'/imageTransmissionView'; //() '/imageTransmissionView'; //()
static const String permissionGuidancePage = static const String permissionGuidancePage =
@ -1192,7 +1192,7 @@ abstract class AppRouters {
GetPage<dynamic>( GetPage<dynamic>(
name: Routers.starChartTalkView, page: () => const TalkViewPage()), name: Routers.starChartTalkView, page: () => const TalkViewPage()),
GetPage<dynamic>( GetPage<dynamic>(
name: Routers.h264WebView, page: () => TalkViewNativeDecodePage()), name: Routers.h264View, page: () => TalkViewNativeDecodePage()),
// //
GetPage<dynamic>( GetPage<dynamic>(
name: Routers.imageTransmissionView, name: Routers.imageTransmissionView,
@ -1202,6 +1202,6 @@ abstract class AppRouters {
name: Routers.permissionGuidancePage, name: Routers.permissionGuidancePage,
page: () => PermissionGuidancePage()), page: () => PermissionGuidancePage()),
// //
// GetPage<dynamic>(name: Routers.h264WebView, page: () => H264WebView()), // webview播放页面 // GetPage<dynamic>(name: Routers.h264View, page: () => H264WebView()), // webview播放页面
]; ];
} }

View File

@ -16,14 +16,22 @@ class AudioPlayerManager {
// AudioPlayer // AudioPlayer
final AudioPlayer _audioPlayer = AudioPlayer(); final AudioPlayer _audioPlayer = AudioPlayer();
//
bool _isPlaying = false;
// //
Future<void> playRingtone() async { Future<void> playRingtone() async {
if (_isPlaying) {
log(text: 'Ringtone is already playing.');
return;
}
try { try {
await _audioPlayer.setReleaseMode(ReleaseMode.loop); await _audioPlayer.setReleaseMode(ReleaseMode.loop);
await _audioPlayer.play(AssetSource('ring1.mp3')); await _audioPlayer.play(AssetSource('ring1.mp3'));
_isPlaying = true;
log(text: 'Ringtone started playing.'); log(text: 'Ringtone started playing.');
} catch (e) { } catch (e) {
_isPlaying = false;
log(text: 'Error playing ringtone: $e'); log(text: 'Error playing ringtone: $e');
} }
} }
@ -31,12 +39,12 @@ class AudioPlayerManager {
// //
Future<void> stopRingtone() async { Future<void> stopRingtone() async {
try { try {
// ReleaseMode
_audioPlayer.setReleaseMode(ReleaseMode.loop); _audioPlayer.setReleaseMode(ReleaseMode.loop);
await _audioPlayer.stop(); await _audioPlayer.stop();
_isPlaying = false;
log(text: 'Ringtone stopped.'); log(text: 'Ringtone stopped.');
} catch (e) { } catch (e) {
_isPlaying = false;
log(text: 'Error stopping ringtone: $e'); log(text: 'Error stopping ringtone: $e');
} }
} }
@ -45,8 +53,10 @@ class AudioPlayerManager {
Future<void> pauseRingtone() async { Future<void> pauseRingtone() async {
try { try {
await _audioPlayer.pause(); await _audioPlayer.pause();
_isPlaying = false;
log(text: 'Ringtone paused.'); log(text: 'Ringtone paused.');
} catch (e) { } catch (e) {
_isPlaying = false;
log(text: 'Error pausing ringtone: $e'); log(text: 'Error pausing ringtone: $e');
} }
} }
@ -54,8 +64,10 @@ class AudioPlayerManager {
Future<void> resumeRingtone() async { Future<void> resumeRingtone() async {
try { try {
await _audioPlayer.resume(); await _audioPlayer.resume();
_isPlaying = true;
log(text: 'Ringtone resumed.'); log(text: 'Ringtone resumed.');
} catch (e) { } catch (e) {
_isPlaying = false;
log(text: 'Error resuming ringtone: $e'); log(text: 'Error resuming ringtone: $e');
} }
} }

View File

@ -41,9 +41,6 @@ class UdpTalkExpectHandler extends ScpMessageBaseHandle
final TalkExpectResp talkExpectResp = scpMessage.Payload; final TalkExpectResp talkExpectResp = scpMessage.Payload;
if (talkExpectResp != null) { if (talkExpectResp != null) {
//
//test:使
playRingtone();
// print('收到预期音视频数据回复,scpMessage:$scpMessage'); // print('收到预期音视频数据回复,scpMessage:$scpMessage');
// //
startChartManage.stopTalkExpectMessageTimer(); startChartManage.stopTalkExpectMessageTimer();
@ -66,6 +63,8 @@ class UdpTalkExpectHandler extends ScpMessageBaseHandle
talkStatus.setAnsweredSuccessfully(); talkStatus.setAnsweredSuccessfully();
// ping // ping
startChartManage.startTalkPingMessageTimer(); startChartManage.startTalkPingMessageTimer();
} else if (talkStatus.status != TalkStatus.answeredSuccessfully) {
playRingtone();
} }
AppLog.log( AppLog.log(
'视频画面需要旋转:${talkExpectResp.rotate},画面宽高:${talkExpectResp.width}-${talkExpectResp.height}'); '视频画面需要旋转:${talkExpectResp.rotate},画面宽高:${talkExpectResp.width}-${talkExpectResp.height}');
@ -97,6 +96,7 @@ class UdpTalkExpectHandler extends ScpMessageBaseHandle
talkExpectResp.width == 640 && talkExpectResp.width == 640 &&
talkExpectResp.height == 480)) { talkExpectResp.height == 480)) {
Get.toNamed(Routers.imageTransmissionView); Get.toNamed(Routers.imageTransmissionView);
return; return;
} }
if (startChartManage if (startChartManage
@ -104,7 +104,7 @@ class UdpTalkExpectHandler extends ScpMessageBaseHandle
.videoType .videoType
.contains(VideoTypeE.H264)) { .contains(VideoTypeE.H264)) {
Get.toNamed( Get.toNamed(
Routers.h264WebView, Routers.h264View,
); );
} else { } else {
Get.toNamed( Get.toNamed(

View File

@ -430,7 +430,7 @@ class StartChartManage {
// 使H264MJPEG // 使H264MJPEG
if (isH264) { if (isH264) {
Get.toNamed( Get.toNamed(
Routers.h264WebView, Routers.h264View,
); );
} else if (isMJpeg) { } else if (isMJpeg) {
Get.toNamed( Get.toNamed(