setAudioAlignmentProperty method
@detail api
@hidden internal use only
@author majun.lvhiei
@brief 在听众端,设置订阅的所有远端音频流精准对齐后播放。
@param streamId 作为对齐基准的远端音频流对应的id。
一般选择主唱的音频流。
你必须在收到 rtcRoom:onUserPublishStreamAudio:info:isPublish:{@link #ByteRTCRoomDelegate#rtcRoom:onUserPublishStreamAudio:info:isPublish},确认此音频流已发布后,调用此 API。
@param mode 是否对齐,默认不对齐。参看 ByteRTCAudioAlignmentMode{@link #ByteRTCAudioAlignmentMode}。
@return
- 0: 调用成功。
- < 0 : 调用失败。查看 ByteRTCReturnStatus{@link #ByteRTCReturnStatus} 获得更多错误说明
@note
- 你必须在实时合唱场景下使用此功能。在加入房间时,所有人应设置 ByteRTCRoomProfile{@link #ByteRTCRoomProfile} 为 ByteRTCRoomProfileChorus。
- 订阅的所有远端流必须通过 startAudioMixing:filePath:config: 开启了背景音乐混音,并将 ByteRTCAudioMixingConfig 中的 syncProgressToRecordFrame 设置为 true。
- 如果订阅的某个音频流延迟过大,可能无法实现精准对齐。
- 合唱的参与者不应调用此 API,因为调用此 API 会增加延迟。如果希望从听众变为合唱参与者,应关闭对齐功能。
Implementation
FutureOr<int> setAudioAlignmentProperty(
NSString streamId, ByteRTCAudioAlignmentMode mode) async {
return await nativeCall(
'setAudioAlignmentProperty:withMode:', [streamId, mode.$value]);
}