DataStreamConfig
数据流设置。
Dart
class DataStreamConfig {
const DataStreamConfig({this.syncWithAudio, this.ordered});
(name: 'syncWithAudio')
final bool? syncWithAudio;
(name: 'ordered')
final bool? ordered;
factory DataStreamConfig.fromJson(Map<String, dynamic> json) =>
_$DataStreamConfigFromJson(json);
Map<String, dynamic> toJson() => _$DataStreamConfigToJson(this);
}
下表展示不同的参数设置下,SDK 的行为:
syncWithAudio | ordered | SDK 行为 |
---|---|---|
false | false | 接收端接收到数据包后,SDK 立刻触发 onStreamMessage 回调。 |
true | false | 如果数据包的延迟在音频延迟的范围内,SDK 会在播放音频的同时触发与该音频包同步的 onStreamMessage 回调。如果数据包的延迟超出了音频延迟,SDK 会在接收到该数据包时立刻触发 onStreamMessage 回调;此情况会造成音频包和数据包的不同步。 |
false | true | 如果数据包的延迟在 5 秒以内,SDK 会修正数据包的乱序问题。如果数据包的延迟超出 5 秒,SDK 会丢弃该数据包。 |
true | true | 如果数据包的延迟在音频延迟的范围内,SDK 会修正数据包的乱序问题。如果数据包的延迟超出音频延迟,SDK 会丢弃该数据包。 |
syncWithAudio
是否与本地发送的音频流同步。
true
: 数据流与音频流同步。该设置适用于歌词同步等特殊场景。false
: 数据流与音频流不同步。该设置适用于需要数据包立刻到达接收端的场景。
ordered
是否保证接收到的数据按发送的顺序排列。
true
: 保证 SDK 按照发送方发送的顺序输出数据包。false
: 不保证 SDK 按照发送方发送的顺序输出数据包。
true
。