onWTNDataMessageReceived method
FutureOr<void>
onWTNDataMessageReceived(
- dynamic streamId,
- dynamic message,
- dynamic sourceType
override
@detail callback
@valid since 3.60.
@author hanchenchen
@brief 回调 WTN 流中包含的数据信息。
通过 subscribeWTNAudioStream{@link #IWTNStream#subscribeWTNAudioStream}/subscribeWTNVideoStream{@link #IWTNStream#subscribeWTNVideoStream} 订阅 WTN 流后,通过监听本回调获取 WTN 流中的数据消息,包括调用 Open API 发送的 SEI 消息和音量回调。
@param streamId WTN 流 ID
@param message 收到的数据消息内容,如下:
- 调用 WTN 流 OpenAPI 发送的自定义消息。
- 媒体流音量变化,需要通过 WTN 流 OpenAPI 开启回调。JSON 格式说明如下:
{
"Type" : "VolumeIndication", //具体业务类型
"VolumeInfos" : [ // 业务类型对应信息
{
"RoomId":"1000001", // 房间 ID
"UserId":"1000001", // 用户 ID
"StreamType":0, // 0:摄像头流;1:屏幕流
"LinearVolume":1 // 线性音量大小
}
@param sourceType 数据消息来源,参看 DataMessageSourceType{@link #DataMessageSourceType}。 @note 通过调用客户端 API 插入的 SEI 信息,应通过回调 onWTNSEIMessageReceived{@link #IWTNStreamEventHandler#onWTNSEIMessageReceived} 获取。 @order 6
Implementation
FutureOr<void> onWTNDataMessageReceived(
dynamic streamId, dynamic message, dynamic sourceType) async {
if ($instance == null || $instance is! IWTNStreamEventHandler) {
return;
}
return ($instance as IWTNStreamEventHandler).onWTNDataMessageReceived?.call(
streamId.toString(),
message,
t_DataMessageSourceType.android_to_code(
$p_a.DataMessageSourceType.values.firstWhere(
(t) => t.$value == sourceType || t.name == sourceType)));
}