@@ -12,7 +12,6 @@ import 'package:tencent_trtc_cloud/trtc_cloud_video_view.dart';
12
12
import 'package:tencent_trtc_cloud/trtc_cloud.dart' ;
13
13
import 'package:tencent_trtc_cloud/tx_beauty_manager.dart' ;
14
14
import 'package:tencent_trtc_cloud/tx_device_manager.dart' ;
15
- import 'package:tencent_trtc_cloud/tx_audio_effect_manager.dart' ;
16
15
import 'package:tencent_trtc_cloud/trtc_cloud_def.dart' ;
17
16
import 'package:tencent_trtc_cloud/trtc_cloud_listener.dart' ;
18
17
import 'package:trtc_demo/ui/login.dart' ;
@@ -40,15 +39,14 @@ class MeetingPageState extends State<MeetingPage> with WidgetsBindingObserver {
40
39
late TRTCCloud _trtcCloud;
41
40
late TXDeviceManager _txDeviceManager;
42
41
late TXBeautyManager _txBeautyManager;
43
- late TXAudioEffectManager _txAudioManager;
44
42
45
43
List <UserModel > _userList = [];
46
44
List _screenUserList = [];
47
45
48
46
@override
49
47
initState () {
50
48
super .initState ();
51
- WidgetsBinding .instance! .addObserver (this );
49
+ WidgetsBinding .instance.addObserver (this );
52
50
_meetModel = context.read <MeetingModel >();
53
51
_initRoom ();
54
52
}
@@ -61,7 +59,6 @@ class MeetingPageState extends State<MeetingPage> with WidgetsBindingObserver {
61
59
// Beauty filter and animated effect parameter management
62
60
_txBeautyManager = _trtcCloud.getBeautyManager ();
63
61
// Tencent Cloud Audio Effect Management Module
64
- _txAudioManager = _trtcCloud.getAudioEffectManager ();
65
62
// Register event callback
66
63
_trtcCloud.registerListener (_onRtcListener);
67
64
// trtcCloud.setVideoEncoderParam(TRTCVideoEncParam(
@@ -103,6 +100,8 @@ class MeetingPageState extends State<MeetingPage> with WidgetsBindingObserver {
103
100
break ;
104
101
case AppLifecycleState .detached:
105
102
break ;
103
+ case AppLifecycleState .hidden:
104
+ break ;
106
105
}
107
106
}
108
107
@@ -150,7 +149,7 @@ class MeetingPageState extends State<MeetingPage> with WidgetsBindingObserver {
150
149
151
150
@override
152
151
dispose () {
153
- WidgetsBinding .instance! .removeObserver (this );
152
+ WidgetsBinding .instance.removeObserver (this );
154
153
_destoryRoom ();
155
154
super .dispose ();
156
155
}
@@ -175,6 +174,12 @@ class MeetingPageState extends State<MeetingPage> with WidgetsBindingObserver {
175
174
MeetingTool .toast ('Enter room success' , context);
176
175
}
177
176
}
177
+ if (type == TRTCCloudListener .onAudioRouteChanged) {
178
+ print ("TRTCCloudListener onAudioRouteChanged route:${param ['route' ]}, fromRoute:${param ['fromRoute' ]}" );
179
+ }
180
+ if (type == TRTCCloudListener .onDeviceChange) {
181
+ print ("TRTCCloudListener onDeviceChange deviceId:${param ['deviceId' ]}, type:${param ['type' ]}, state:${param ['state' ]}" );
182
+ }
178
183
if (type == TRTCCloudListener .onExitRoom) {
179
184
if (param > 0 ) {
180
185
MeetingTool .toast ('Exit room success' , context);
@@ -259,6 +264,32 @@ class MeetingPageState extends State<MeetingPage> with WidgetsBindingObserver {
259
264
this .setState (() {});
260
265
_meetModel.setList (_userList);
261
266
}
267
+
268
+ if (type == TRTCCloudListener .onMusicObserverStart) {
269
+ print ('TRTCCloudListener onMusicObserverStart id:${param ['id' ]} errCode:${param ['errCode' ]}' );
270
+ }
271
+ if (type == TRTCCloudListener .onMusicObserverPlayProgress) {
272
+ print ('TRTCCloudListener onMusicObserverPlayProgress id:${param ['id' ]} curPtsMS:${param ['curPtsMS' ]} durationMS:${param ['durationMS' ]}' );
273
+ }
274
+ if (type == TRTCCloudListener .onMusicObserverComplete) {
275
+ print ('TRTCCloudListener onMusicObserverComplete id:${param ['id' ]} errCode:${param ['errCode' ]}' );
276
+ }
277
+
278
+ if (type == TRTCCloudListener .onRecvCustomCmdMsg) {
279
+ print ('TRTCCloudListener onRecvCustomCmdMsg userId:${param ['userId' ]} cmdID:${param ['cmdID' ]} seq:${param ['seq' ]} message:${param ['message' ]}' );
280
+ }
281
+ if (type == TRTCCloudListener .onMissCustomCmdMsg) {
282
+ print ('TRTCCloudListener onMissCustomCmdMsg userId:${param ['userId' ]} cmdID:${param ['cmdID' ]} errCode:${param ['errCode' ]} missed:${param ['missed' ]}' );
283
+ }
284
+ if (type == TRTCCloudListener .onRecvSEIMsg) {
285
+ print ('TRTCCloudListener onRecvSEIMsg userId:${param ['userId' ]} message:${param ['message' ]}' );
286
+ }
287
+ if (type == TRTCCloudListener .onLocalRecordBegin) {
288
+ print ('TRTCCloudListener onLocalRecordBegin errCode:${param ['errCode' ]} storagePath:${param ['storagePath' ]}' );
289
+ }
290
+ if (type == TRTCCloudListener .onLocalRecordComplete) {
291
+ print ('TRTCCloudListener onLocalRecordComplete errCode:${param ['errCode' ]} storagePath:${param ['storagePath' ]}' );
292
+ }
262
293
}
263
294
264
295
Future <bool ?> _showErrordDialog (errorMsg) {
@@ -786,10 +817,12 @@ class MeetingPageState extends State<MeetingPage> with WidgetsBindingObserver {
786
817
Widget build (BuildContext context) {
787
818
return Scaffold (
788
819
key: _scaffoldKey,
789
- body: WillPopScope (
790
- onWillPop: () async {
791
- _trtcCloud.exitRoom ();
792
- return true ;
820
+ body: PopScope (
821
+ canPop: false ,
822
+ onPopInvoked: (value) {
823
+ if (value) {
824
+ _trtcCloud.exitRoom ();
825
+ }
793
826
},
794
827
child: Stack (
795
828
children: < Widget > [
0 commit comments