AgoraDataStreamConfig
配置数据流参数。
Objective-C
@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 会在同步的音频包播放时触发回调;如果数据包延迟超过音频延迟,SDK 会在接收到数据包时立即触发回调。 |
| NO | YES | 如果数据包延迟小于 5 秒,SDK 会对数据包进行顺序校正;如果延迟超过 5 秒,SDK 会丢弃该数据包。 |
| YES | YES | 如果数据包延迟在音频延迟范围内,SDK 会对数据包进行顺序校正;如果延迟超过音频延迟,SDK 会丢弃该数据包。 |
ordered
是否保证接收端按发送顺序接收数据。
- YES:保证接收端按发送顺序接收数据。
- NO:不保证接收端按发送顺序接收数据。
syncWithAudio
是否将数据包与发布的音频包同步。
- YES:将数据包与音频包同步,适用于歌词同步等特殊场景。
- NO:不与音频包同步,适用于需要数据包立即到达接收端的场景。