CallHandleImpl class
一个通话的句柄(《sdk-web/3.接口设计》第 14 节,《sdk-web/2.功能概述文档》第 15 节)。 Flutter 没有多个标签页:媒体连接、心跳、令牌续期都在这个进程中;来电振铃和通话中保持后台连接(《2.功能概述文档》第 8 节)。
- Implemented types
Constructors
- CallHandleImpl(Core _core, CallsService _module, JsonMap call, String? _me)
Properties
- callId → String
-
final
-
currentTracks
→ List<
CallTrackEvent> -
当前的轨道(按 media_uid 和种类,deeprespond_im_call 渲染画面时使用)。
no setter
-
data
→ Stream<
CallDataMessage> -
经媒体服务收到的数据消息。
no setteroverride
- ended → bool
-
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
- holding → bool
-
正在连接或已经连上媒体。
no setter
- mediaSession → MediaSession?
-
当前的媒体连接(deeprespond_im_call 用它切换摄像头、扬声器和渲染画面);没有为 null。
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- snapshot → CallSnapshot
-
当前快照,不可变。
no setteroverride
-
stream
→ Stream<
CallSnapshot> -
订阅时先发出当前快照,之后每次变化发出新快照;通话结束后不再变化。
no setteroverride
-
tracks
→ Stream<
CallTrackEvent> -
本地和远端的媒体轨道(轨道对象由媒体适配给出)。
no setteroverride
Methods
-
applyCall(
JsonMap rawCall, {Object? self = absentArg, JsonMap? inviter, Object? group = absentArg, JsonMap? change}) → bool -
应用快照,返回是否有变化:只应用版本号比本地大的(每个都是完整快照,版本号跳了也直接应用);给出
self时总是应用。 -
attachMedia(
JsonMap mediaJson, [int? heartbeatSeconds]) → Future< void> - 连接媒体:按 media.provider 选择适配;连上后第一次心跳带 media_connected。
-
end(
) → Future< void> -
结束群通话(发起人、群主、管理员);一对一等同挂断。
override
-
forceEnd(
) → void - 本地有、服务端没有而又取不到详情的通话:按已结束处理。
-
hangup(
) → Future< void> -
override
-
invite(
List< String> usernames) → Future<List< CallInviteResult> > -
按被邀请的人数计算额度,超出的人在结果中为 rate_limited,不重试。
override
-
join(
) → Future< void> -
接听或加入;成功后连接媒体,打开麦克风(视频通话另打开摄像头)。得不到设备时以 permission_required、device_error 拒绝,
这时已经接听,App 引导授权后再调用 setMicrophoneEnabled、setCameraEnabled。
override
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
reject(
{RejectReason reason = RejectReason.declined}) → Future< void> -
override
-
resume(
) → Future< void> -
App 被杀后重新打开(resumable):续期令牌、连接媒体。
override
-
sendData(
List< int> data) → Future<void> -
经媒体服务的数据消息(只供 App 使用)。
override
-
setCameraEnabled(
bool on) → Future< void> -
音频通话中打开摄像头以 invalid_state 拒绝(媒体凭据只允许发布麦克风)。
override
-
setMicrophoneEnabled(
bool on) → Future< void> -
override
-
teardown(
bool isFinal) → Future< void> -
断开媒体、停止心跳和续期;通话已结束(或
isFinal)的句柄结束:快照不再变化。 -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited