diff --git a/android/app/build.gradle b/android/app/build.gradle
index 41903854..0386ff73 100755
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -357,4 +357,9 @@ dependencies {
implementation 'com.umeng.umsdk:common:9.7.9'
implementation 'com.umeng.umsdk:asms:1.8.5'
//
+ //
+ implementation 'cn.jiguang.sdk.plugin:fcm:5.2.3'
+ implementation 'com.google.firebase:firebase-messaging:23.0.5'
+ //
+
}
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index db2e332c..236a8fbe 100755
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -78,6 +78,8 @@
+
diff --git a/lan/lan_hk.json b/lan/lan_hk.json
index 74281ce1..bd9baa49 100644
--- a/lan/lan_hk.json
+++ b/lan/lan_hk.json
@@ -603,7 +603,7 @@
"开门方式": "開門方法",
"请选择": "請選擇",
"家人": "家人",
- "保存": "救",
+ "保存": "保存",
"APP推送": "APP推送",
"管理员": "管理",
"未启用": "未啟用",
diff --git a/lib/main.dart b/lib/main.dart
index b1785d2e..872b7a26 100755
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -61,7 +61,7 @@ FutureOr main() async {
// ], child: MyApp(isLogin: isLogin)));
runApp(MyApp(isLogin: isLogin));
}, onException: (FlutterErrorDetails details) async {
- debugPrint("FlutterErrorDetails $details");
+ debugPrint('FlutterErrorDetails ${details.exceptionAsString()}');
});
if (AppPlatform.isAndroid) {
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 10f7c784..c55043bc 100644
--- a/lib/talk/starChart/handle/impl/udp_talk_request_handler.dart
+++ b/lib/talk/starChart/handle/impl/udp_talk_request_handler.dart
@@ -91,22 +91,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 a090325e..5033bca3 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';
@@ -573,12 +574,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,
@@ -588,8 +595,8 @@ class TalkViewLogic extends BaseGetXController {
);
}
+// 错误监听
void _onError(VoiceProcessorException error) {
- // state.errorMessage.value = error.message!;
AppLog.log(error.message!);
}
@@ -598,7 +605,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);
diff --git a/lib/tools/push/xs_jPhush.dart b/lib/tools/push/xs_jPhush.dart
index bbeaa07a..3ce9adf3 100755
--- a/lib/tools/push/xs_jPhush.dart
+++ b/lib/tools/push/xs_jPhush.dart
@@ -1,5 +1,6 @@
import 'dart:io';
+import 'package:flutter/foundation.dart';
import 'package:jpush_flutter/jpush_flutter.dart';
import 'package:star_lock/flavors.dart';
import 'package:star_lock/mine/minePersonInfo/minePersonInfoEditAccount/minePersonInfoEditAccount/mineUnbindPhoneOrEmail_entity.dart';
@@ -49,28 +50,39 @@ class XSJPushProvider {
//极光推送事件处理方法
void addJPushEventHandler() {
jpush.addEventHandler(
+ onCommandResult: (Map message) async {
+ AppLog.log('onCommandResult: $message');
+ debugPrint("addJPushEventHandler onCommandResult:$message");
+ },
onReceiveNotification: (Map message) async {
AppLog.log('onReceiveNotification: $message');
+ debugPrint("addJPushEventHandler onReceiveNotification:$message");
// showCustomNotification(message);
},
onOpenNotification: (Map message) async {
AppLog.log('onOpenNotification: $message');
+ debugPrint("addJPushEventHandler onOpenNotification:$message");
},
onReceiveMessage: (Map message) async {
AppLog.log('onReceiveMessage: $message');
+ debugPrint("addJPushEventHandler onReceiveMessage:$message");
//这里接收自定义消息
MessageManagement.shunting(message);
},
onReceiveNotificationAuthorization: (Map message) async {
AppLog.log('onReceiveNotificationAuthorization: $message');
+ debugPrint(
+ "addJPushEventHandler onReceiveNotificationAuthorization:$message");
},
onInAppMessageShow: (Map message) async {
AppLog.log('onInAppMessageShow: $message');
+ debugPrint("addJPushEventHandler onInAppMessageShow:$message");
},
onConnected: (Map message) async {
//绑定设备id
final String rid = await jpush.getRegistrationID();
AppLog.log('onConnected registration id : $rid');
+ debugPrint("addJPushEventHandler onConnected:$message");
await Storage.setString(pushDeviceID, rid);
await pushBindDeviceID(rid);
diff --git a/pubspec.lock b/pubspec.lock
index 1f831260..f09c8feb 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -991,10 +991,11 @@ packages:
jpush_flutter:
dependency: "direct main"
description:
- name: jpush_flutter
- sha256: bb29ce650c6765a54ecbdd8f448840ecea83b4e24564e554d11eba20ed3b37d9
- url: "https://pub.dev"
- source: hosted
+ path: "."
+ ref: main
+ resolved-ref: aa93729f48762421658675800be68aee27b6d8fb
+ url: "git@code-internal.star-lock.cn:StarlockTeam/jpush_flutter.git"
+ source: git
version: "2.5.8"
js:
dependency: transitive
diff --git a/pubspec.yaml b/pubspec.yaml
index 42517986..2305f135 100755
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -211,7 +211,10 @@ dependencies:
cached_network_image: ^3.2.0
webview_flutter: ^4.5.0
- jpush_flutter: ^2.5.1
+ jpush_flutter:
+ git:
+ url: git@code-internal.star-lock.cn:StarlockTeam/jpush_flutter.git
+ ref: main
#视频播放器
video_player: ^2.9.2