import 'package:audioplayers/audioplayers.dart'; import 'package:flutter_local_notifications/flutter_local_notifications.dart'; import 'package:star_lock/app_settings/app_settings.dart'; import 'package:star_lock/talk/other/audio_player_manager.dart'; import 'package:star_lock/talk/startChart/constant/udp_constant.dart'; import 'package:star_lock/talk/startChart/handle/other/overtime_timer_manger.dart'; import 'package:star_lock/talk/startChart/proto/generic.pb.dart'; import 'package:star_lock/talk/startChart/start_chart_manage.dart'; import 'package:star_lock/talk/startChart/start_chart_talk_status.dart'; class ScpMessageBaseHandle { final startChartManage = StartChartManage(); final audioManager = AudioPlayerManager(); // 通话保持超时监听定时器管理 final talkePingOverTimeTimerManager = OverTimeTimerManager( timeoutInSeconds: 5, ); // 通话数据超时定时器 final talkDataOverTimeTimerManager = OverTimeTimerManager( timeoutInSeconds: 3, ); // 获取 StartChartTalkStatus 的唯一实例 StartChartTalkStatus talkStatus = StartChartTalkStatus.instance; bool checkGenericRespSuccess(GenericResp genericResp) { if (genericResp == null) return false; final code = genericResp.code; final message = genericResp.message; return code == UdpConstant.genericRespSuccessCode && message == UdpConstant.genericRespSuccessMsg; } void log({required String text}) { AppLog.log('==========${text}'); } // 播放铃声 void playRingtone() async { await audioManager.playRingtone(); } // 停止播放铃声 void stopRingtone() async { await audioManager.stopRingtone(); } }