AgoraDataStreamConfig
数据流设置。
Objective-C
__attribute__((visibility("default"))) @interface AgoraDataStreamConfig: NSObject
@property (assign, nonatomic) BOOL ordered;
@property (assign, nonatomic) BOOL syncWithAudio;
@end
下表展示不同的参数设置下,SDK 的行为:
syncWithAudio | ordered | SDK 行为 |
---|---|---|
NO | NO | 接收端接收到数据包后,SDK 立刻触发 rtcEngine:receiveStreamMessageFromUid:streamId:data: 回调。 |
YES | NO | 如果数据包的延迟在音频延迟的范围内,SDK 会在播放音频的同时触发与该音频包同步的 rtcEngine:receiveStreamMessageFromUid:streamId:data: 回调。如果数据包的延迟超出了音频延迟,SDK 会在接收到该数据包时立刻触发 rtcEngine:receiveStreamMessageFromUid:streamId:data: 回调;此情况会造成音频包和数据包的不同步。 |
NO | YES | 如果数据包的延迟在 5 秒以内,SDK 会修正数据包的乱序问题。如果数据包的延迟超出 5 秒,SDK 会丢弃该数据包。 |
YES | YES | 如果数据包的延迟在音频延迟的范围内,SDK 会修正数据包的乱序问题。如果数据包的延迟超出音频延迟,SDK 会丢弃该数据包。 |
syncWithAudio
是否与本地发送的音频流同步。
YES
: 数据流与音频流同步。该设置适用于歌词同步等特殊场景。NO
: 数据流与音频流不同步。该设置适用于需要数据包立刻到达接收端的场景。
ordered
是否保证接收到的数据按发送的顺序排列。
YES
: 保证 SDK 按照发送方发送的顺序输出数据包。NO
: 不保证 SDK 按照发送方发送的顺序输出数据包。
YES
。