diff --git a/lib/talk/starChart/handle/impl/udp_talk_request_handler.dart b/lib/talk/starChart/handle/impl/udp_talk_request_handler.dart index d9a8c2db..f6c90d0e 100644 --- a/lib/talk/starChart/handle/impl/udp_talk_request_handler.dart +++ b/lib/talk/starChart/handle/impl/udp_talk_request_handler.dart @@ -81,22 +81,24 @@ class UdpTalkRequestHandler extends ScpMessageBaseHandle // 收到来电请求时进行本地通知 Future _showTalkRequestNotification( {required String talkObjectName}) async { - final Map message = { - 'platform': 'all', - 'audience': 'all', - 'notification': >{ - 'android': { - 'title': '呼叫提醒'.tr, - 'alert': '${'收到来自'.tr}($talkObjectName)${'锁的呼叫'.tr}。', - 'extras': { - 'image_url': - 'https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=d&word=视频通话图标&step_word=&hs=0&pn=18&spn=0&di=7456461798821068801&pi=0&rn=1&tn=baiduimagedetail&is=0%2C0&istype=0&ie=utf-8&oe=utf-8&in=&cl=2&lm=-1&st=undefined&cs=3670633426%2C2210940696&os=2119936476%2C3383901310&simid=3670633426%2C2210940696&adpicid=0&lpn=0&ln=1216&fr=&fmq=1738909566404_R&fm=&ic=undefined&s=undefined&hd=undefined&latest=undefined©right=undefined&se=&sme=&tab=0&width=undefined&height=undefined&face=undefined&ist=&jit=&cg=&bdtype=0&oriquery=&objurl=https%3A%2F%2Ftenfei03.cfp.cn%2Fcreative%2Fvcg%2Fnowarter800%2Fnew%2FVCG211249198901.jpg&fromurl=ippr_z2C%24qAzdH3FAzdH3Fooo_z%26e3Bev2_z%26e3Bv54AzdH3Fv6jwptejAzdH3F8dnla9lla0&gsm=1e&rpstart=0&rpnum=0&islist=&querylist=&nojc=undefined&dyTabStr=MCwxMiwzLDEsMiwxMyw3LDYsNSw5&lid=9610633549467928081' + if (Platform.isAndroid) { + final Map message = { + 'platform': 'all', + 'audience': 'all', + 'notification': >{ + 'android': { + 'title': '呼叫提醒'.tr, + 'alert': '${'收到来自'.tr}($talkObjectName)${'锁的呼叫'.tr}。', + 'extras': { + 'image_url': + 'https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=d&word=视频通话图标&step_word=&hs=0&pn=18&spn=0&di=7456461798821068801&pi=0&rn=1&tn=baiduimagedetail&is=0%2C0&istype=0&ie=utf-8&oe=utf-8&in=&cl=2&lm=-1&st=undefined&cs=3670633426%2C2210940696&os=2119936476%2C3383901310&simid=3670633426%2C2210940696&adpicid=0&lpn=0&ln=1216&fr=&fmq=1738909566404_R&fm=&ic=undefined&s=undefined&hd=undefined&latest=undefined©right=undefined&se=&sme=&tab=0&width=undefined&height=undefined&face=undefined&ist=&jit=&cg=&bdtype=0&oriquery=&objurl=https%3A%2F%2Ftenfei03.cfp.cn%2Fcreative%2Fvcg%2Fnowarter800%2Fnew%2FVCG211249198901.jpg&fromurl=ippr_z2C%24qAzdH3FAzdH3Fooo_z%26e3Bev2_z%26e3Bv54AzdH3Fv6jwptejAzdH3F8dnla9lla0&gsm=1e&rpstart=0&rpnum=0&islist=&querylist=&nojc=undefined&dyTabStr=MCwxMiwzLDEsMiwxMyw3LDYsNSw5&lid=9610633549467928081' + } } } - } - }; + }; - XSJPushProvider().showCustomNotification(message); + XSJPushProvider().showCustomNotification(message); + } /* const AndroidNotificationDetails androidPlatformChannelSpecifics = AndroidNotificationDetails('1', 'flutter_channel', diff --git a/lib/talk/starChart/views/talkView/talk_view_logic.dart b/lib/talk/starChart/views/talkView/talk_view_logic.dart index f947d584..4d468fe8 100644 --- a/lib/talk/starChart/views/talkView/talk_view_logic.dart +++ b/lib/talk/starChart/views/talkView/talk_view_logic.dart @@ -3,6 +3,7 @@ import 'dart:io'; import 'dart:ui' as ui; import 'dart:math'; // Import the math package to use sqrt +import 'package:flutter/foundation.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter/services.dart'; import 'package:flutter_pcm_sound/flutter_pcm_sound.dart'; @@ -576,12 +577,18 @@ class TalkViewLogic extends BaseGetXController { } } +// 音频帧处理 Future _onFrame(List frame) async { + // 预处理和转码操作放到异步计算线程 + // final processedFrame = await compute(preprocessAudio, frame); + // final list = listLinearToALaw(processedFrame); final List processedFrame = preprocessAudio(frame); final List list = listLinearToALaw(processedFrame); + final int ms = DateTime.now().millisecondsSinceEpoch - state.startRecordingAudioTime.value.millisecondsSinceEpoch; - // 发送音频数据 + + // 发送音频数据到UDP await StartChartManage().sendTalkDataMessage( talkData: TalkData( content: list, @@ -591,8 +598,8 @@ class TalkViewLogic extends BaseGetXController { ); } +// 错误监听 void _onError(VoiceProcessorException error) { - // state.errorMessage.value = error.message!; AppLog.log(error.message!); } @@ -601,7 +608,7 @@ class TalkViewLogic extends BaseGetXController { final List processedList = []; for (int pcmVal in pcmList) { // 简单的降噪示例:将小于阈值的信号置为0 - if (pcmVal.abs() < 300) { + if (pcmVal.abs() < 200) { pcmVal = 0; } processedList.add(pcmVal);