Update to 3.0
This commit is contained in:
parent
5bdb9879a7
commit
7995c4af1d
@ -1,88 +1,88 @@
|
||||
import 'package:flutter_openim_sdk/flutter_openim_sdk.dart';
|
||||
|
||||
/// 信令监听
|
||||
class OnSignalingListener {
|
||||
final Function(SignalingInfo info)? onInvitationCancelled;
|
||||
final Function(SignalingInfo info)? onInvitationTimeout;
|
||||
final Function(SignalingInfo info)? onInviteeAccepted;
|
||||
final Function(SignalingInfo info)? onInviteeRejected;
|
||||
final Function(SignalingInfo info)? onReceiveNewInvitation;
|
||||
final Function(SignalingInfo info)? onInviteeRejectedByOtherDevice;
|
||||
final Function(SignalingInfo info)? onInviteeAcceptedByOtherDevice;
|
||||
final Function(SignalingInfo info)? onHangup;
|
||||
final Function(RoomCallingInfo info)? onRoomParticipantConnected;
|
||||
final Function(RoomCallingInfo info)? onRoomParticipantDisconnected;
|
||||
final Function(MeetingStreamEvent event)? onMeetingStreamChanged;
|
||||
final Function(CustomSignaling info)? onReceiveCustomSignal;
|
||||
|
||||
OnSignalingListener({
|
||||
this.onInvitationCancelled,
|
||||
this.onInvitationTimeout,
|
||||
this.onInviteeAccepted,
|
||||
this.onInviteeRejected,
|
||||
this.onReceiveNewInvitation,
|
||||
this.onInviteeAcceptedByOtherDevice,
|
||||
this.onInviteeRejectedByOtherDevice,
|
||||
this.onHangup,
|
||||
this.onRoomParticipantConnected,
|
||||
this.onRoomParticipantDisconnected,
|
||||
this.onMeetingStreamChanged,
|
||||
this.onReceiveCustomSignal,
|
||||
});
|
||||
|
||||
/// 被邀请者收到:邀请者取消音视频通话
|
||||
void invitationCancelled(SignalingInfo info) {
|
||||
onInvitationCancelled?.call(info);
|
||||
}
|
||||
|
||||
/// 邀请者收到:被邀请者超时未接通
|
||||
void invitationTimeout(SignalingInfo info) {
|
||||
onInvitationTimeout?.call(info);
|
||||
}
|
||||
|
||||
/// 邀请者收到:被邀请者同意音视频通话
|
||||
void inviteeAccepted(SignalingInfo info) {
|
||||
onInviteeAccepted?.call(info);
|
||||
}
|
||||
|
||||
/// 邀请者收到:被邀请者拒绝音视频通话
|
||||
void inviteeRejected(SignalingInfo info) {
|
||||
onInviteeRejected?.call(info);
|
||||
}
|
||||
|
||||
/// 被邀请者收到:音视频通话邀请
|
||||
void receiveNewInvitation(SignalingInfo info) {
|
||||
onReceiveNewInvitation?.call(info);
|
||||
}
|
||||
|
||||
/// 被邀请者(其他端)收到:比如被邀请者在手机拒接,在pc上会收到此回调
|
||||
void inviteeAcceptedByOtherDevice(SignalingInfo info) {
|
||||
onInviteeAcceptedByOtherDevice?.call(info);
|
||||
}
|
||||
|
||||
/// 被邀请者(其他端)收到:比如被邀请者在手机拒接,在pc上会收到此回调
|
||||
void inviteeRejectedByOtherDevice(SignalingInfo info) {
|
||||
onInviteeRejectedByOtherDevice?.call(info);
|
||||
}
|
||||
|
||||
/// 被挂断
|
||||
void hangup(SignalingInfo info) {
|
||||
onHangup?.call(info);
|
||||
}
|
||||
|
||||
void roomParticipantConnected(RoomCallingInfo info) {
|
||||
onRoomParticipantConnected?.call(info);
|
||||
}
|
||||
|
||||
void roomParticipantDisconnected(RoomCallingInfo info) {
|
||||
onRoomParticipantDisconnected?.call(info);
|
||||
}
|
||||
|
||||
void streamChangedEvent(MeetingStreamEvent event) {
|
||||
onMeetingStreamChanged?.call(event);
|
||||
}
|
||||
|
||||
void receiveCustomSignal(CustomSignaling info) {
|
||||
onReceiveCustomSignal?.call(info);
|
||||
}
|
||||
}
|
||||
// import 'package:flutter_openim_sdk/flutter_openim_sdk.dart';
|
||||
//
|
||||
// /// 信令监听
|
||||
// class OnSignalingListener {
|
||||
// final Function(SignalingInfo info)? onInvitationCancelled;
|
||||
// final Function(SignalingInfo info)? onInvitationTimeout;
|
||||
// final Function(SignalingInfo info)? onInviteeAccepted;
|
||||
// final Function(SignalingInfo info)? onInviteeRejected;
|
||||
// final Function(SignalingInfo info)? onReceiveNewInvitation;
|
||||
// final Function(SignalingInfo info)? onInviteeRejectedByOtherDevice;
|
||||
// final Function(SignalingInfo info)? onInviteeAcceptedByOtherDevice;
|
||||
// final Function(SignalingInfo info)? onHangup;
|
||||
// final Function(RoomCallingInfo info)? onRoomParticipantConnected;
|
||||
// final Function(RoomCallingInfo info)? onRoomParticipantDisconnected;
|
||||
// final Function(MeetingStreamEvent event)? onMeetingStreamChanged;
|
||||
// final Function(CustomSignaling info)? onReceiveCustomSignal;
|
||||
//
|
||||
// OnSignalingListener({
|
||||
// this.onInvitationCancelled,
|
||||
// this.onInvitationTimeout,
|
||||
// this.onInviteeAccepted,
|
||||
// this.onInviteeRejected,
|
||||
// this.onReceiveNewInvitation,
|
||||
// this.onInviteeAcceptedByOtherDevice,
|
||||
// this.onInviteeRejectedByOtherDevice,
|
||||
// this.onHangup,
|
||||
// this.onRoomParticipantConnected,
|
||||
// this.onRoomParticipantDisconnected,
|
||||
// this.onMeetingStreamChanged,
|
||||
// this.onReceiveCustomSignal,
|
||||
// });
|
||||
//
|
||||
// /// 被邀请者收到:邀请者取消音视频通话
|
||||
// void invitationCancelled(SignalingInfo info) {
|
||||
// onInvitationCancelled?.call(info);
|
||||
// }
|
||||
//
|
||||
// /// 邀请者收到:被邀请者超时未接通
|
||||
// void invitationTimeout(SignalingInfo info) {
|
||||
// onInvitationTimeout?.call(info);
|
||||
// }
|
||||
//
|
||||
// /// 邀请者收到:被邀请者同意音视频通话
|
||||
// void inviteeAccepted(SignalingInfo info) {
|
||||
// onInviteeAccepted?.call(info);
|
||||
// }
|
||||
//
|
||||
// /// 邀请者收到:被邀请者拒绝音视频通话
|
||||
// void inviteeRejected(SignalingInfo info) {
|
||||
// onInviteeRejected?.call(info);
|
||||
// }
|
||||
//
|
||||
// /// 被邀请者收到:音视频通话邀请
|
||||
// void receiveNewInvitation(SignalingInfo info) {
|
||||
// onReceiveNewInvitation?.call(info);
|
||||
// }
|
||||
//
|
||||
// /// 被邀请者(其他端)收到:比如被邀请者在手机拒接,在pc上会收到此回调
|
||||
// void inviteeAcceptedByOtherDevice(SignalingInfo info) {
|
||||
// onInviteeAcceptedByOtherDevice?.call(info);
|
||||
// }
|
||||
//
|
||||
// /// 被邀请者(其他端)收到:比如被邀请者在手机拒接,在pc上会收到此回调
|
||||
// void inviteeRejectedByOtherDevice(SignalingInfo info) {
|
||||
// onInviteeRejectedByOtherDevice?.call(info);
|
||||
// }
|
||||
//
|
||||
// /// 被挂断
|
||||
// void hangup(SignalingInfo info) {
|
||||
// onHangup?.call(info);
|
||||
// }
|
||||
//
|
||||
// void roomParticipantConnected(RoomCallingInfo info) {
|
||||
// onRoomParticipantConnected?.call(info);
|
||||
// }
|
||||
//
|
||||
// void roomParticipantDisconnected(RoomCallingInfo info) {
|
||||
// onRoomParticipantDisconnected?.call(info);
|
||||
// }
|
||||
//
|
||||
// void streamChangedEvent(MeetingStreamEvent event) {
|
||||
// onMeetingStreamChanged?.call(event);
|
||||
// }
|
||||
//
|
||||
// void receiveCustomSignal(CustomSignaling info) {
|
||||
// onReceiveCustomSignal?.call(info);
|
||||
// }
|
||||
// }
|
||||
|
@ -14,7 +14,7 @@ class IMManager {
|
||||
late UserManager userManager;
|
||||
|
||||
// late OfflinePushManager offlinePushManager;
|
||||
late SignalingManager signalingManager;
|
||||
// late SignalingManager signalingManager;
|
||||
|
||||
// late WorkMomentsManager workMomentsManager;
|
||||
// late OrganizationManager organizationManager;
|
||||
@ -35,7 +35,7 @@ class IMManager {
|
||||
groupManager = GroupManager(_channel);
|
||||
userManager = UserManager(_channel);
|
||||
// offlinePushManager = OfflinePushManager(_channel);
|
||||
signalingManager = SignalingManager(_channel);
|
||||
// signalingManager = SignalingManager(_channel);
|
||||
// workMomentsManager = WorkMomentsManager(_channel);
|
||||
// organizationManager = OrganizationManager(_channel);
|
||||
_addNativeCallback(_channel);
|
||||
@ -278,7 +278,8 @@ class IMManager {
|
||||
friendshipManager.listener.friendInfoChanged(u);
|
||||
break;
|
||||
}
|
||||
} else if (call.method == ListenerType.signalingListener) {
|
||||
}
|
||||
/*else if (call.method == ListenerType.signalingListener) {
|
||||
String type = call.arguments['type'];
|
||||
dynamic data = call.arguments['data'];
|
||||
dynamic info;
|
||||
@ -337,7 +338,7 @@ class IMManager {
|
||||
break;
|
||||
}
|
||||
}
|
||||
/*else if (call.method == ListenerType.workMomentsListener) {
|
||||
else if (call.method == ListenerType.workMomentsListener) {
|
||||
String type = call.arguments['type'];
|
||||
switch (type) {
|
||||
case 'OnRecvNewNotification':
|
||||
|
@ -1,307 +1,307 @@
|
||||
import 'package:flutter/services.dart';
|
||||
|
||||
import '../../flutter_openim_sdk.dart';
|
||||
|
||||
class SignalingManager {
|
||||
MethodChannel _channel;
|
||||
late OnSignalingListener listener;
|
||||
|
||||
SignalingManager(this._channel);
|
||||
|
||||
/// 信令监听
|
||||
Future setSignalingListener(OnSignalingListener listener) {
|
||||
this.listener = listener;
|
||||
return _channel.invokeMethod('setSignalingListener', _buildParam({}));
|
||||
}
|
||||
|
||||
/// 邀请个人加入音视频
|
||||
/// [info] 信令对象[SignalingInfo]
|
||||
Future<SignalingCertificate> signalingInvite({
|
||||
required SignalingInfo info,
|
||||
String? operationID,
|
||||
}) =>
|
||||
_channel
|
||||
.invokeMethod(
|
||||
'signalingInvite',
|
||||
_buildParam({
|
||||
'signalingInfo': info.toJson(),
|
||||
'operationID': Utils.checkOperationID(operationID),
|
||||
}))
|
||||
.then((value) =>
|
||||
Utils.toObj(value, (map) => SignalingCertificate.fromJson(map)));
|
||||
|
||||
/// 邀请群里某些人加入音视频
|
||||
/// [info] 信令对象[SignalingInfo]
|
||||
Future<SignalingCertificate> signalingInviteInGroup({
|
||||
required SignalingInfo info,
|
||||
String? operationID,
|
||||
}) =>
|
||||
_channel
|
||||
.invokeMethod(
|
||||
'signalingInviteInGroup',
|
||||
_buildParam({
|
||||
'signalingInfo': info.toJson(),
|
||||
'operationID': Utils.checkOperationID(operationID),
|
||||
}))
|
||||
.then((value) =>
|
||||
Utils.toObj(value, (map) => SignalingCertificate.fromJson(map)));
|
||||
|
||||
/// 同意某人音视频邀请
|
||||
/// [info] 信令对象[SignalingInfo]
|
||||
Future<SignalingCertificate> signalingAccept({
|
||||
required SignalingInfo info,
|
||||
String? operationID,
|
||||
}) =>
|
||||
_channel
|
||||
.invokeMethod(
|
||||
'signalingAccept',
|
||||
_buildParam({
|
||||
'signalingInfo': info.toJson(),
|
||||
'operationID': Utils.checkOperationID(operationID),
|
||||
}))
|
||||
.then((value) =>
|
||||
Utils.toObj(value, (map) => SignalingCertificate.fromJson(map)));
|
||||
|
||||
/// 拒绝某人音视频邀请
|
||||
/// [info] 信令对象[SignalingInfo]
|
||||
Future<dynamic> signalingReject({
|
||||
required SignalingInfo info,
|
||||
String? operationID,
|
||||
}) =>
|
||||
_channel.invokeMethod(
|
||||
'signalingReject',
|
||||
_buildParam({
|
||||
'signalingInfo': info.toJson(),
|
||||
'operationID': Utils.checkOperationID(operationID),
|
||||
}));
|
||||
|
||||
/// 邀请者取消音视频通话
|
||||
/// [info] 信令对象[SignalingInfo]
|
||||
Future<dynamic> signalingCancel({
|
||||
required SignalingInfo info,
|
||||
String? operationID,
|
||||
}) =>
|
||||
_channel.invokeMethod(
|
||||
'signalingCancel',
|
||||
_buildParam({
|
||||
'signalingInfo': info.toJson(),
|
||||
'operationID': Utils.checkOperationID(operationID),
|
||||
}));
|
||||
|
||||
/// 挂断
|
||||
/// [info] 信令对象[SignalingInfo]
|
||||
Future<dynamic> signalingHungUp({
|
||||
required SignalingInfo info,
|
||||
String? operationID,
|
||||
}) =>
|
||||
_channel.invokeMethod(
|
||||
'signalingHungUp',
|
||||
_buildParam({
|
||||
'signalingInfo': info.toJson(),
|
||||
'operationID': Utils.checkOperationID(operationID),
|
||||
}));
|
||||
|
||||
/// 获取当前群通话信息
|
||||
/// [groupID] 当前群ID
|
||||
Future<RoomCallingInfo> signalingGetRoomByGroupID({
|
||||
required String groupID,
|
||||
String? operationID,
|
||||
}) =>
|
||||
_channel
|
||||
.invokeMethod(
|
||||
'signalingGetRoomByGroupID',
|
||||
_buildParam({
|
||||
'groupID': groupID,
|
||||
'operationID': Utils.checkOperationID(operationID),
|
||||
}))
|
||||
.then((value) =>
|
||||
Utils.toObj(value, (map) => RoomCallingInfo.fromJson(map)));
|
||||
|
||||
/// 获取进入房间的信息
|
||||
/// [roomID] 当前房间ID
|
||||
Future<SignalingCertificate> signalingGetTokenByRoomID({
|
||||
required String roomID,
|
||||
String? operationID,
|
||||
}) =>
|
||||
_channel
|
||||
.invokeMethod(
|
||||
'signalingGetTokenByRoomID',
|
||||
_buildParam({
|
||||
'roomID': roomID,
|
||||
'operationID': Utils.checkOperationID(operationID),
|
||||
}))
|
||||
.then((value) => Utils.toObj(
|
||||
value,
|
||||
(map) => SignalingCertificate.fromJson(
|
||||
map..addAll({'roomID': roomID}))));
|
||||
|
||||
/// 会议设置
|
||||
/// required String roomID,
|
||||
/// String? meetingName,
|
||||
/// String? ex,
|
||||
/// int startTime = 0,
|
||||
/// int endTime = 0,
|
||||
/// bool participantCanUnmuteSelf = true,
|
||||
/// bool participantCanEnableVideo = true,
|
||||
/// bool onlyHostInviteUser = true,
|
||||
/// bool onlyHostShareScreen = true,
|
||||
/// bool joinDisableMicrophone = true,
|
||||
/// bool joinDisableVideo = true,
|
||||
/// bool isMuteAllVideo = true,
|
||||
/// bool isMuteAllMicrophone = true,
|
||||
/// List<String> addCanScreenUserIDList = const [],
|
||||
/// List<String> reduceCanScreenUserIDList = const [],
|
||||
/// List<String> addDisableMicrophoneUserIDList = const [],
|
||||
/// List<String> reduceDisableMicrophoneUserIDList = const [],
|
||||
/// List<String> addDisableVideoUserIDList = const [],
|
||||
/// List<String> reduceDisableVideoUserIDList = const [],
|
||||
/// List<String> addPinedUserIDList = const [],
|
||||
/// List<String> reducePinedUserIDList = const [],
|
||||
/// List<String> addBeWatchedUserIDList = const [],
|
||||
/// List<String> reduceBeWatchedUserIDList = const [],
|
||||
Future<dynamic> signalingUpdateMeetingInfo({
|
||||
required Map info,
|
||||
String? operationID,
|
||||
}) {
|
||||
if (info['meetingID'] != null) {
|
||||
info['roomID'] = info['meetingID'];
|
||||
}
|
||||
assert(info['roomID'] != null);
|
||||
return _channel.invokeMethod(
|
||||
'signalingUpdateMeetingInfo',
|
||||
_buildParam({
|
||||
'info': info,
|
||||
'operationID': Utils.checkOperationID(operationID),
|
||||
}));
|
||||
}
|
||||
|
||||
/// 创建会议室
|
||||
/// [meetingName] 会议主题
|
||||
/// [meetingHostUserID] 会议主持人ID
|
||||
/// [startTime] 开始时间s
|
||||
/// [meetingDuration] 会议时长s
|
||||
/// [inviteeUserIDList] 被邀请人ID列表
|
||||
/// [ex] 其他
|
||||
Future<SignalingCertificate> signalingCreateMeeting({
|
||||
required String meetingName,
|
||||
String? meetingHostUserID,
|
||||
int? startTime,
|
||||
int? meetingDuration,
|
||||
List<String> inviteeUserIDList = const [],
|
||||
String? ex,
|
||||
String? operationID,
|
||||
}) =>
|
||||
_channel
|
||||
.invokeMethod(
|
||||
'signalingCreateMeeting',
|
||||
_buildParam({
|
||||
'info': {
|
||||
'meetingName': meetingName,
|
||||
'meetingHostUserID': meetingHostUserID,
|
||||
'startTime': startTime,
|
||||
'meetingDuration': meetingDuration,
|
||||
'inviteeUserIDList': inviteeUserIDList,
|
||||
'ex': ex,
|
||||
},
|
||||
'operationID': Utils.checkOperationID(operationID),
|
||||
}))
|
||||
.then((value) =>
|
||||
Utils.toObj(value, (map) => SignalingCertificate.fromJson(map)));
|
||||
|
||||
/// 加入会议室
|
||||
/// [meetingID] 会议ID
|
||||
/// [meetingName] 会议主题
|
||||
/// [participantNickname] 加入房间显示的名称
|
||||
Future<SignalingCertificate> signalingJoinMeeting({
|
||||
required String meetingID,
|
||||
String? meetingName,
|
||||
String? participantNickname,
|
||||
String? operationID,
|
||||
}) =>
|
||||
_channel
|
||||
.invokeMethod(
|
||||
'signalingJoinMeeting',
|
||||
_buildParam({
|
||||
'info': {
|
||||
'meetingID': meetingID,
|
||||
'meetingName': meetingName,
|
||||
'participantNickname': participantNickname,
|
||||
},
|
||||
'operationID': Utils.checkOperationID(operationID),
|
||||
}))
|
||||
.then((value) =>
|
||||
Utils.toObj(value, (map) => SignalingCertificate.fromJson(map)));
|
||||
|
||||
/// 会议室 管理员对指定的某一个入会人员设置禁言
|
||||
/// [roomID] 会议ID
|
||||
/// [streamType] video/audio
|
||||
/// [userID] 被禁言的用户ID
|
||||
/// [mute] true:禁言
|
||||
/// [muteAll] true:video/audio 一起设置
|
||||
Future<dynamic> signalingOperateStream({
|
||||
required String roomID,
|
||||
String? streamType,
|
||||
required String userID,
|
||||
bool mute = false,
|
||||
bool muteAll = false,
|
||||
String? operationID,
|
||||
}) =>
|
||||
_channel.invokeMethod(
|
||||
'signalingOperateStream',
|
||||
_buildParam({
|
||||
'roomID': roomID,
|
||||
'streamType': streamType,
|
||||
'userID': userID,
|
||||
'mute': mute,
|
||||
'muteAll': muteAll,
|
||||
'operationID': Utils.checkOperationID(operationID),
|
||||
}));
|
||||
|
||||
/// 获取所有的未完成会议
|
||||
/// [roomID] 会议ID
|
||||
Future<MeetingInfoList> signalingGetMeetings({
|
||||
String? operationID,
|
||||
}) =>
|
||||
_channel
|
||||
.invokeMethod(
|
||||
'signalingGetMeetings',
|
||||
_buildParam({
|
||||
'operationID': Utils.checkOperationID(operationID),
|
||||
}))
|
||||
.then((value) =>
|
||||
Utils.toObj(value, (map) => MeetingInfoList.fromJson(map)));
|
||||
|
||||
/// 结束会议
|
||||
/// [roomID] 会议ID
|
||||
Future<dynamic> signalingCloseRoom({
|
||||
required String roomID,
|
||||
String? operationID,
|
||||
}) =>
|
||||
_channel.invokeMethod(
|
||||
'signalingCloseRoom',
|
||||
_buildParam({
|
||||
'roomID': roomID,
|
||||
'operationID': Utils.checkOperationID(operationID),
|
||||
}));
|
||||
|
||||
/// 自定义信令
|
||||
/// [roomID] 会议ID
|
||||
/// [customInfo] 自定义信令
|
||||
Future<dynamic> signalingSendCustomSignal({
|
||||
required String roomID,
|
||||
required String customInfo,
|
||||
String? operationID,
|
||||
}) =>
|
||||
_channel.invokeMethod(
|
||||
'signalingSendCustomSignal',
|
||||
_buildParam({
|
||||
'roomID': roomID,
|
||||
'customInfo': customInfo,
|
||||
'operationID': Utils.checkOperationID(operationID),
|
||||
}));
|
||||
|
||||
static Map _buildParam(Map param) {
|
||||
param["ManagerName"] = "signalingManager";
|
||||
return param;
|
||||
}
|
||||
}
|
||||
// import 'package:flutter/services.dart';
|
||||
//
|
||||
// import '../../flutter_openim_sdk.dart';
|
||||
//
|
||||
// class SignalingManager {
|
||||
// MethodChannel _channel;
|
||||
// late OnSignalingListener listener;
|
||||
//
|
||||
// SignalingManager(this._channel);
|
||||
//
|
||||
// /// 信令监听
|
||||
// Future setSignalingListener(OnSignalingListener listener) {
|
||||
// this.listener = listener;
|
||||
// return _channel.invokeMethod('setSignalingListener', _buildParam({}));
|
||||
// }
|
||||
//
|
||||
// /// 邀请个人加入音视频
|
||||
// /// [info] 信令对象[SignalingInfo]
|
||||
// Future<SignalingCertificate> signalingInvite({
|
||||
// required SignalingInfo info,
|
||||
// String? operationID,
|
||||
// }) =>
|
||||
// _channel
|
||||
// .invokeMethod(
|
||||
// 'signalingInvite',
|
||||
// _buildParam({
|
||||
// 'signalingInfo': info.toJson(),
|
||||
// 'operationID': Utils.checkOperationID(operationID),
|
||||
// }))
|
||||
// .then((value) =>
|
||||
// Utils.toObj(value, (map) => SignalingCertificate.fromJson(map)));
|
||||
//
|
||||
// /// 邀请群里某些人加入音视频
|
||||
// /// [info] 信令对象[SignalingInfo]
|
||||
// Future<SignalingCertificate> signalingInviteInGroup({
|
||||
// required SignalingInfo info,
|
||||
// String? operationID,
|
||||
// }) =>
|
||||
// _channel
|
||||
// .invokeMethod(
|
||||
// 'signalingInviteInGroup',
|
||||
// _buildParam({
|
||||
// 'signalingInfo': info.toJson(),
|
||||
// 'operationID': Utils.checkOperationID(operationID),
|
||||
// }))
|
||||
// .then((value) =>
|
||||
// Utils.toObj(value, (map) => SignalingCertificate.fromJson(map)));
|
||||
//
|
||||
// /// 同意某人音视频邀请
|
||||
// /// [info] 信令对象[SignalingInfo]
|
||||
// Future<SignalingCertificate> signalingAccept({
|
||||
// required SignalingInfo info,
|
||||
// String? operationID,
|
||||
// }) =>
|
||||
// _channel
|
||||
// .invokeMethod(
|
||||
// 'signalingAccept',
|
||||
// _buildParam({
|
||||
// 'signalingInfo': info.toJson(),
|
||||
// 'operationID': Utils.checkOperationID(operationID),
|
||||
// }))
|
||||
// .then((value) =>
|
||||
// Utils.toObj(value, (map) => SignalingCertificate.fromJson(map)));
|
||||
//
|
||||
// /// 拒绝某人音视频邀请
|
||||
// /// [info] 信令对象[SignalingInfo]
|
||||
// Future<dynamic> signalingReject({
|
||||
// required SignalingInfo info,
|
||||
// String? operationID,
|
||||
// }) =>
|
||||
// _channel.invokeMethod(
|
||||
// 'signalingReject',
|
||||
// _buildParam({
|
||||
// 'signalingInfo': info.toJson(),
|
||||
// 'operationID': Utils.checkOperationID(operationID),
|
||||
// }));
|
||||
//
|
||||
// /// 邀请者取消音视频通话
|
||||
// /// [info] 信令对象[SignalingInfo]
|
||||
// Future<dynamic> signalingCancel({
|
||||
// required SignalingInfo info,
|
||||
// String? operationID,
|
||||
// }) =>
|
||||
// _channel.invokeMethod(
|
||||
// 'signalingCancel',
|
||||
// _buildParam({
|
||||
// 'signalingInfo': info.toJson(),
|
||||
// 'operationID': Utils.checkOperationID(operationID),
|
||||
// }));
|
||||
//
|
||||
// /// 挂断
|
||||
// /// [info] 信令对象[SignalingInfo]
|
||||
// Future<dynamic> signalingHungUp({
|
||||
// required SignalingInfo info,
|
||||
// String? operationID,
|
||||
// }) =>
|
||||
// _channel.invokeMethod(
|
||||
// 'signalingHungUp',
|
||||
// _buildParam({
|
||||
// 'signalingInfo': info.toJson(),
|
||||
// 'operationID': Utils.checkOperationID(operationID),
|
||||
// }));
|
||||
//
|
||||
// /// 获取当前群通话信息
|
||||
// /// [groupID] 当前群ID
|
||||
// Future<RoomCallingInfo> signalingGetRoomByGroupID({
|
||||
// required String groupID,
|
||||
// String? operationID,
|
||||
// }) =>
|
||||
// _channel
|
||||
// .invokeMethod(
|
||||
// 'signalingGetRoomByGroupID',
|
||||
// _buildParam({
|
||||
// 'groupID': groupID,
|
||||
// 'operationID': Utils.checkOperationID(operationID),
|
||||
// }))
|
||||
// .then((value) =>
|
||||
// Utils.toObj(value, (map) => RoomCallingInfo.fromJson(map)));
|
||||
//
|
||||
// /// 获取进入房间的信息
|
||||
// /// [roomID] 当前房间ID
|
||||
// Future<SignalingCertificate> signalingGetTokenByRoomID({
|
||||
// required String roomID,
|
||||
// String? operationID,
|
||||
// }) =>
|
||||
// _channel
|
||||
// .invokeMethod(
|
||||
// 'signalingGetTokenByRoomID',
|
||||
// _buildParam({
|
||||
// 'roomID': roomID,
|
||||
// 'operationID': Utils.checkOperationID(operationID),
|
||||
// }))
|
||||
// .then((value) => Utils.toObj(
|
||||
// value,
|
||||
// (map) => SignalingCertificate.fromJson(
|
||||
// map..addAll({'roomID': roomID}))));
|
||||
//
|
||||
// /// 会议设置
|
||||
// /// required String roomID,
|
||||
// /// String? meetingName,
|
||||
// /// String? ex,
|
||||
// /// int startTime = 0,
|
||||
// /// int endTime = 0,
|
||||
// /// bool participantCanUnmuteSelf = true,
|
||||
// /// bool participantCanEnableVideo = true,
|
||||
// /// bool onlyHostInviteUser = true,
|
||||
// /// bool onlyHostShareScreen = true,
|
||||
// /// bool joinDisableMicrophone = true,
|
||||
// /// bool joinDisableVideo = true,
|
||||
// /// bool isMuteAllVideo = true,
|
||||
// /// bool isMuteAllMicrophone = true,
|
||||
// /// List<String> addCanScreenUserIDList = const [],
|
||||
// /// List<String> reduceCanScreenUserIDList = const [],
|
||||
// /// List<String> addDisableMicrophoneUserIDList = const [],
|
||||
// /// List<String> reduceDisableMicrophoneUserIDList = const [],
|
||||
// /// List<String> addDisableVideoUserIDList = const [],
|
||||
// /// List<String> reduceDisableVideoUserIDList = const [],
|
||||
// /// List<String> addPinedUserIDList = const [],
|
||||
// /// List<String> reducePinedUserIDList = const [],
|
||||
// /// List<String> addBeWatchedUserIDList = const [],
|
||||
// /// List<String> reduceBeWatchedUserIDList = const [],
|
||||
// Future<dynamic> signalingUpdateMeetingInfo({
|
||||
// required Map info,
|
||||
// String? operationID,
|
||||
// }) {
|
||||
// if (info['meetingID'] != null) {
|
||||
// info['roomID'] = info['meetingID'];
|
||||
// }
|
||||
// assert(info['roomID'] != null);
|
||||
// return _channel.invokeMethod(
|
||||
// 'signalingUpdateMeetingInfo',
|
||||
// _buildParam({
|
||||
// 'info': info,
|
||||
// 'operationID': Utils.checkOperationID(operationID),
|
||||
// }));
|
||||
// }
|
||||
//
|
||||
// /// 创建会议室
|
||||
// /// [meetingName] 会议主题
|
||||
// /// [meetingHostUserID] 会议主持人ID
|
||||
// /// [startTime] 开始时间s
|
||||
// /// [meetingDuration] 会议时长s
|
||||
// /// [inviteeUserIDList] 被邀请人ID列表
|
||||
// /// [ex] 其他
|
||||
// Future<SignalingCertificate> signalingCreateMeeting({
|
||||
// required String meetingName,
|
||||
// String? meetingHostUserID,
|
||||
// int? startTime,
|
||||
// int? meetingDuration,
|
||||
// List<String> inviteeUserIDList = const [],
|
||||
// String? ex,
|
||||
// String? operationID,
|
||||
// }) =>
|
||||
// _channel
|
||||
// .invokeMethod(
|
||||
// 'signalingCreateMeeting',
|
||||
// _buildParam({
|
||||
// 'info': {
|
||||
// 'meetingName': meetingName,
|
||||
// 'meetingHostUserID': meetingHostUserID,
|
||||
// 'startTime': startTime,
|
||||
// 'meetingDuration': meetingDuration,
|
||||
// 'inviteeUserIDList': inviteeUserIDList,
|
||||
// 'ex': ex,
|
||||
// },
|
||||
// 'operationID': Utils.checkOperationID(operationID),
|
||||
// }))
|
||||
// .then((value) =>
|
||||
// Utils.toObj(value, (map) => SignalingCertificate.fromJson(map)));
|
||||
//
|
||||
// /// 加入会议室
|
||||
// /// [meetingID] 会议ID
|
||||
// /// [meetingName] 会议主题
|
||||
// /// [participantNickname] 加入房间显示的名称
|
||||
// Future<SignalingCertificate> signalingJoinMeeting({
|
||||
// required String meetingID,
|
||||
// String? meetingName,
|
||||
// String? participantNickname,
|
||||
// String? operationID,
|
||||
// }) =>
|
||||
// _channel
|
||||
// .invokeMethod(
|
||||
// 'signalingJoinMeeting',
|
||||
// _buildParam({
|
||||
// 'info': {
|
||||
// 'meetingID': meetingID,
|
||||
// 'meetingName': meetingName,
|
||||
// 'participantNickname': participantNickname,
|
||||
// },
|
||||
// 'operationID': Utils.checkOperationID(operationID),
|
||||
// }))
|
||||
// .then((value) =>
|
||||
// Utils.toObj(value, (map) => SignalingCertificate.fromJson(map)));
|
||||
//
|
||||
// /// 会议室 管理员对指定的某一个入会人员设置禁言
|
||||
// /// [roomID] 会议ID
|
||||
// /// [streamType] video/audio
|
||||
// /// [userID] 被禁言的用户ID
|
||||
// /// [mute] true:禁言
|
||||
// /// [muteAll] true:video/audio 一起设置
|
||||
// Future<dynamic> signalingOperateStream({
|
||||
// required String roomID,
|
||||
// String? streamType,
|
||||
// required String userID,
|
||||
// bool mute = false,
|
||||
// bool muteAll = false,
|
||||
// String? operationID,
|
||||
// }) =>
|
||||
// _channel.invokeMethod(
|
||||
// 'signalingOperateStream',
|
||||
// _buildParam({
|
||||
// 'roomID': roomID,
|
||||
// 'streamType': streamType,
|
||||
// 'userID': userID,
|
||||
// 'mute': mute,
|
||||
// 'muteAll': muteAll,
|
||||
// 'operationID': Utils.checkOperationID(operationID),
|
||||
// }));
|
||||
//
|
||||
// /// 获取所有的未完成会议
|
||||
// /// [roomID] 会议ID
|
||||
// Future<MeetingInfoList> signalingGetMeetings({
|
||||
// String? operationID,
|
||||
// }) =>
|
||||
// _channel
|
||||
// .invokeMethod(
|
||||
// 'signalingGetMeetings',
|
||||
// _buildParam({
|
||||
// 'operationID': Utils.checkOperationID(operationID),
|
||||
// }))
|
||||
// .then((value) =>
|
||||
// Utils.toObj(value, (map) => MeetingInfoList.fromJson(map)));
|
||||
//
|
||||
// /// 结束会议
|
||||
// /// [roomID] 会议ID
|
||||
// Future<dynamic> signalingCloseRoom({
|
||||
// required String roomID,
|
||||
// String? operationID,
|
||||
// }) =>
|
||||
// _channel.invokeMethod(
|
||||
// 'signalingCloseRoom',
|
||||
// _buildParam({
|
||||
// 'roomID': roomID,
|
||||
// 'operationID': Utils.checkOperationID(operationID),
|
||||
// }));
|
||||
//
|
||||
// /// 自定义信令
|
||||
// /// [roomID] 会议ID
|
||||
// /// [customInfo] 自定义信令
|
||||
// Future<dynamic> signalingSendCustomSignal({
|
||||
// required String roomID,
|
||||
// required String customInfo,
|
||||
// String? operationID,
|
||||
// }) =>
|
||||
// _channel.invokeMethod(
|
||||
// 'signalingSendCustomSignal',
|
||||
// _buildParam({
|
||||
// 'roomID': roomID,
|
||||
// 'customInfo': customInfo,
|
||||
// 'operationID': Utils.checkOperationID(operationID),
|
||||
// }));
|
||||
//
|
||||
// static Map _buildParam(Map param) {
|
||||
// param["ManagerName"] = "signalingManager";
|
||||
// return param;
|
||||
// }
|
||||
// }
|
||||
|
Loading…
x
Reference in New Issue
Block a user