onRemoteVideoStateChanged method
FutureOr<void>
onRemoteVideoStateChanged(
- dynamic streamId,
- dynamic streamInfo,
- dynamic videoState,
- dynamic videoStateReason,
override
@detail callback @author shenpengliang @brief When the state of a remote video stream changes, users in the room who subscribe to this stream receive the event. @param streamId Remote stream ID @param streamInfo Remote Stream Information. See StreamInfo{@link #StreamInfo} @param videoState Remote video stream status. See RemoteVideoState{@link #RemoteVideoState} @param videoStateReason Remote video stream status change reason. See RemoteVideoStateChangeReason{@link #RemoteVideoStateChangeReason} @note The callback works for video stream captured by the camera, not for screen stream.
Implementation
FutureOr<void> onRemoteVideoStateChanged(dynamic streamId, dynamic streamInfo,
dynamic videoState, dynamic videoStateReason) async {
if ($instance == null || $instance is! IRTCEngineEventHandler) {
return;
}
return ($instance as IRTCEngineEventHandler)
.onRemoteVideoStateChanged
?.call(
streamId.toString(),
packObject(
streamInfo,
() => StreamInfo.fromMap(StreamInfo.deepPackedMapValues(
StreamInfo.mapMemberToConstructorParams(streamInfo)))),
t_RemoteVideoState.android_to_code($p_a
.RemoteVideoState.values
.firstWhere(
(t) => t.$value == videoState || t.name == videoState)),
t_RemoteVideoStateChangeReason.android_to_code(
$p_a.RemoteVideoStateChangeReason.values.firstWhere((t) =>
t.$value == videoStateReason ||
t.name == videoStateReason)));
}