app-starlock/lib/talk/startChart/handle/scp_message_base_handle.dart

56 lines
1.6 KiB
Dart

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();
}
}