rtcEngine$onRemoteVideoStateChanged$info$withVideoState$withVideoStateReason method
FutureOr<void>
rtcEngine$onRemoteVideoStateChanged$info$withVideoState$withVideoStateReason(
- dynamic engine,
- dynamic streamId,
- dynamic info,
- dynamic state,
- dynamic reason,
override
@detail callback @author shenpengliang @brief 远端视频流的状态发生改变时,房间内订阅此流的用户会收到该事件。 @param engine ByteRTCEngine 对象 @param streamId 远端流 ID。 @param info 远端流信息,参看 ByteRTCStreamInfo{@link #ByteRTCStreamInfo}。 @param state 远端视频流的当前状态,参看 ByteRTCRemoteVideoState{@link #ByteRTCRemoteVideoState} @param reason 远端视频流状态改变的原因,参看 ByteRTCRemoteVideoStateChangeReason{@link #ByteRTCRemoteVideoStateChangeReason} @note 本回调仅适用于主流,不适用于屏幕流。
Implementation
FutureOr<void>
rtcEngine$onRemoteVideoStateChanged$info$withVideoState$withVideoStateReason(
dynamic engine,
dynamic streamId,
dynamic info,
dynamic state,
dynamic reason) async {
if ($instance == null || $instance is! IRTCEngineEventHandler) {
return;
}
return ($instance as IRTCEngineEventHandler)
.onRemoteVideoStateChanged
?.call(
streamId.toString(),
packObject(
info,
() => StreamInfo.fromMap(StreamInfo.deepPackedMapValues(
StreamInfo.mapMemberToConstructorParams(info)))),
t_RemoteVideoState.ios_to_code($p_i.ByteRTCRemoteVideoState.values
.firstWhere((t) => t.$value == state || t.name == state)),
t_RemoteVideoStateChangeReason.ios_to_code($p_i
.ByteRTCRemoteVideoStateChangeReason.values
.firstWhere((t) => t.$value == reason || t.name == reason)));
}