@byteplus/react-native-rtc 1.1.2 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +88 -57
  2. package/android/build.gradle +23 -14
  3. package/android/proguard-rules.pro +1 -1
  4. package/android/src/live/java/com/volcengine/reactnative/vertc/live/VertcLive.java +76 -8
  5. package/android/src/main/java/com/volcengine/reactnative/vertc/NativeVariableManager.java +0 -5
  6. package/android/src/main/java/com/volcengine/reactnative/vertc/ScreenCaptureHelper.java +13 -18
  7. package/android/src/main/java/com/volcengine/reactnative/vertc/VertcApiEngineManager.java +5 -5
  8. package/android/src/main/java/com/volcengine/reactnative/vertc/VertcHelper.java +30 -0
  9. package/android/src/main/java/com/volcengine/reactnative/vertc/VertcImpl.java +68 -0
  10. package/android/src/main/java/com/volcengine/reactnative/vertc/events/ClassHelper.java +24 -1
  11. package/android/src/main/java/com/volcengine/reactnative/vertc/events/IRTCRoomEventHandlerImpl.java +53 -8
  12. package/android/src/main/java/com/volcengine/reactnative/vertc/events/IRTCVideoEventHandlerImpl.java +62 -19
  13. package/android/src/newarch/com/volcengine/reactnative/vertc/VertcModule.java +86 -0
  14. package/android/src/{main/java → oldarch}/com/volcengine/reactnative/vertc/VertcModule.java +11 -17
  15. package/ios/core/RTCHeader.h +1 -0
  16. package/ios/core/VertcHelper.h +9 -3
  17. package/ios/core/VertcHelper.m +72 -1
  18. package/ios/live/VertcLive.m +164 -12
  19. package/ios/new_arch_core/RCTVertc.h +23 -0
  20. package/ios/new_arch_core/RCTVertc.mm +89 -0
  21. package/ios/new_arch_core/VertcImpl.h +33 -0
  22. package/ios/new_arch_core/VertcImpl.m +53 -0
  23. package/ios/new_arch_core/VertcViewManager.m +51 -0
  24. package/lib/commonjs/index.js +1609 -806
  25. package/lib/module/index.js +1608 -808
  26. package/lib/typescript/codegen/android/api.d.ts +152 -8
  27. package/lib/typescript/codegen/android/callback.d.ts +13 -5
  28. package/lib/typescript/codegen/android/keytype.d.ts +105 -7
  29. package/lib/typescript/codegen/ios/api.d.ts +152 -16
  30. package/lib/typescript/codegen/ios/callback.d.ts +65 -5
  31. package/lib/typescript/codegen/ios/keytype.d.ts +171 -5
  32. package/lib/typescript/codegen/pack/api.d.ts +94 -83
  33. package/lib/typescript/codegen/pack/callback.d.ts +158 -40
  34. package/lib/typescript/codegen/pack/keytype.d.ts +121 -21
  35. package/lib/typescript/interface.d.ts +43 -10
  36. package/lib/typescript/module.d.ts +7 -0
  37. package/lib/typescript/platforms/android/vertc.d.ts +4 -1
  38. package/lib/typescript/platforms/ios/vertc.d.ts +2 -1
  39. package/lib/typescript/platforms/turboModule/NativeVertc.d.ts +26 -0
  40. package/lib/typescript/platforms/turboModule/index.d.ts +4 -0
  41. package/lib/typescript/proxy.d.ts +1 -1
  42. package/lib/typescript/util.d.ts +1 -0
  43. package/package.json +11 -2
  44. package/react-native-rtc.podspec +35 -31
  45. package/src/platforms/turboModule/NativeVertc.ts +33 -0
  46. package/src/platforms/turboModule/index.ts +1 -0
  47. /package/android/src/{main/java → oldarch}/com/volcengine/reactnative/vertc/VertcModuleSpec.java +0 -0
  48. /package/ios/{core → original_arch_core}/VertcModule.h +0 -0
  49. /package/ios/{core → original_arch_core}/VertcModule.m +0 -0
  50. /package/ios/{core → original_arch_core}/VertcViewManager.m +0 -0
@@ -4,8 +4,8 @@
4
4
  import * as $p_a from '../android/index';
5
5
  import * as $p_i from '../ios/index';
6
6
  import { WarningCode, ErrorCode, LoginErrorCode, UserMessageSendResult, AudioRecordingErrorCode, PublicStreamErrorCode, RoomMessageSendResult, SubtitleErrorCode } from './errorcode';
7
- import { RTCNetworkType, LocalAudioStreamState, LocalAudioStreamError, RemoteAudioState, RemoteAudioStateChangeReason, StreamIndex, LocalVideoStreamState, LocalVideoStreamError, RemoteVideoState, RemoteVideoStateChangeReason, ConnectionState, AudioRoute, SEIStreamUpdateEventType, LogoutReason, UserOnlineStatus, NetworkDetectionLinkType, NetworkQuality, NetworkDetectionStopReason, PerformanceAlarmMode, PerformanceAlarmReason, FirstFrameSendState, FirstFramePlayState, AudioDeviceType, MediaDeviceState, MediaDeviceError, VideoDeviceType, MediaDeviceWarning, RecordingState, RecordingErrorCode, AudioRecordingState, SyncInfoStreamType, DataMessageSourceType, EchoTestResult, HardwareEchoDetectionResult, LocalProxyType, LocalProxyState, LocalProxyError, MuteState, AudioPlaybackDevice, MediaDeviceType, AudioMixingState, AudioMixingError, SysStats, RemoteStreamKey, VideoFrameInfo, RemoteStreamSwitchEvent, SourceWantedData, RTCUser, RecordingInfo, RecordingProgress, LocalAudioPropertiesInfo, RemoteAudioPropertiesInfo, AVSyncState, RTCUserOfflineReason, MediaStreamType, StreamRemoveReason, SubscribeState, SetRoomExtraInfoResult, UserVisibilityChangeError, SubtitleState, RTCRoomStats, UserInfo, LocalStreamStats, RemoteStreamStats, SubscribeConfig, ForwardStreamStateInfo, ForwardStreamEventInfo, NetworkQualityStats, SubtitleMessage, RTCStream, PlayerState, PlayerError, RTCStreamSinglePushEvent, RTCEncodedVideoFrame, FaceDetectionResult, ByteRTCStreamMixingEvent, RTCStreamMixingErrorCode, MixedStreamType, IAudioFrame } from './keytype';
8
- import { ByteBuffer } from './types';
7
+ import { RTCNetworkType, LocalAudioStreamState, LocalAudioStreamError, RemoteAudioState, RemoteAudioStateChangeReason, StreamIndex, LocalVideoStreamState, LocalVideoStreamError, RemoteVideoState, RemoteVideoStateChangeReason, ConnectionState, AudioRoute, SEIStreamUpdateEventType, LogoutReason, UserOnlineStatus, NetworkDetectionLinkType, NetworkQuality, NetworkDetectionStopReason, PerformanceAlarmMode, PerformanceAlarmReason, FirstFrameSendState, FirstFramePlayState, AudioDeviceType, MediaDeviceState, MediaDeviceError, VideoDeviceType, MediaDeviceWarning, RecordingState, RecordingErrorCode, AudioRecordingState, SyncInfoStreamType, DataMessageSourceType, EchoTestResult, HardwareEchoDetectionResult, LocalProxyType, LocalProxyState, LocalProxyError, MuteState, AudioPlaybackDevice, MediaDeviceType, AudioMixingState, AudioMixingError, SysStats, RemoteStreamKey, VideoFrameInfo, RemoteStreamSwitchEvent, SourceWantedData, RTCUser, RecordingInfo, RecordingProgress, LocalAudioPropertiesInfo, RemoteAudioPropertiesInfo, AVSyncState, RTCUserOfflineReason, SubscribeState, SetRoomExtraInfoResult, UserVisibilityChangeError, SubtitleState, RTCRoomStats, UserInfo, LocalStreamStats, RemoteStreamStats, SubscribeConfig, ForwardStreamStateInfo, ForwardStreamEventInfo, NetworkQualityStats, SubtitleMessage, RTCStream, PlayerState, PlayerError, RTCStreamSinglePushEvent, RTCEncodedVideoFrame, FaceDetectionResult, ByteRTCStreamMixingEvent, RTCStreamMixingErrorCode, MixedStreamType, IAudioFrame, SubscribeStateChangeReason, PublishStateChangeReason, PublishState } from './keytype';
8
+ import { BOOL, ByteBuffer, NSString } from './types';
9
9
  export interface RTCVideoEventHandler {
10
10
  /** {en}
11
11
  * @detail callback
@@ -1011,50 +1011,100 @@ export interface RTCRoomEventHandler {
1011
1011
  onSubscribePrivilegeTokenWillExpire?(): void;
1012
1012
  /** {en}
1013
1013
  * @detail callback
1014
- * @region Multi-room
1015
- * @author shenpengliang
1016
- * @brief Callback on new media streams captured by camera/microphone in the room.
1017
- * @param uid The ID of the remote user who published the stream.
1018
- * @param type Media stream type. See {@link MediaStreamType MediaStreamType}.
1019
- * @note You will receive this callback after a remote user successfully published media streams captured by camera/microphone in the room with {@link publishStream publishStream}. Then you can choose whether to call {@link subscribeStream subscribeStream} to subscribe to the streams or not.
1014
+ * @author xuyiling.x10
1015
+ * @brief Video publish state change callback.
1016
+ * @param roomId Room ID.
1017
+ * @param uid User ID.
1018
+ * @param state Publish state code, see PublishState{@link #PublishState}.
1019
+ * @param reason The specific reason why the local video stream publish state changed, see PublishStateChangeReason{@link #PublishStateChangeReason}.
1020
+ * @order 0
1020
1021
  *
1021
1022
  */
1022
- onUserPublishStream?(uid: string, type: MediaStreamType): void;
1023
+ onVideoPublishStateChanged?(roomId: string, uid: string, state: PublishState, reason: PublishStateChangeReason): void;
1023
1024
  /** {en}
1024
1025
  * @detail callback
1025
- * @region Room management
1026
- * @author shenpengliang
1027
- * @brief Callback on removal of remote media stream captured by camera/microphone.
1028
- * @param uid The ID of the remote user who removed the stream.
1029
- * @param type Media stream type. See {@link MediaStreamType MediaStreamType}.
1030
- * @param reason The reason for the removal, see {@link StreamRemoveReason StreamRemoveReason}.
1031
- * @note After receiving this callback, you can choose whether to call {@link unsubscribeStream unsubscribeStream} to unsubscribe from the streams or not.
1026
+ * @author xuyiling.x10
1027
+ * @brief Audio publish state change callback.
1028
+ * @param roomId Room ID.
1029
+ * @param uid User ID.
1030
+ * @param state Publish state code, see PublishState{@link #PublishState}.
1031
+ * @param reason The specific reason why the local audio stream publish state changed, see PublishStateChangeReason{@link #PublishStateChangeReason}.
1032
+ * @order 0
1032
1033
  *
1033
1034
  */
1034
- onUserUnpublishStream?(uid: string, type: MediaStreamType, reason: StreamRemoveReason): void;
1035
+ onAudioPublishStateChanged?(roomId: string, uid: string, state: PublishState, reason: PublishStateChangeReason): void;
1035
1036
  /** {en}
1036
1037
  * @detail callback
1037
- * @region Room management
1038
- * @author shenpengliang
1039
- * @brief Callback on new screen sharing media streams from remote users in the room.
1040
- * @param uid The ID of the remote user who published the stream.
1041
- * @param type Media stream type. See {@link MediaStreamType MediaStreamType}.
1042
- * @note You will receive this callback after a remote user successfully published screen sharing streams in the room with {@link publishScreen publishScreen}. Then you can choose whether to call {@link subscribeScreen subscribeScreen} to subscribe to the streams or not.
1038
+ * @author xuyiling.x10
1039
+ * @brief Screen video publish state change callback.
1040
+ * @param roomId Room ID.
1041
+ * @param uid User ID.
1042
+ * @param state Publish state code, see PublishState{@link #PublishState}.
1043
+ * @param reason The specific reason why the local screen video stream publish state changed, see PublishStateChangeReason{@link #PublishStateChangeReason}.
1044
+ * @order 0
1043
1045
  *
1044
1046
  */
1045
- onUserPublishScreen?(uid: string, type: MediaStreamType): void;
1047
+ onScreenVideoPublishStateChanged?(roomId: string, uid: string, state: PublishState, reason: PublishStateChangeReason): void;
1046
1048
  /** {en}
1047
1049
  * @detail callback
1048
- * @region Room management
1049
- * @author shenpengliang
1050
- * @brief Callback on removal of screen sharing media streams from remote users in the room.
1051
- * @param uid The ID of the remote user who removed the stream.
1052
- * @param type Media stream type. See {@link MediaStreamType MediaStreamType}.
1053
- * @param reason The reason for the removal, see {@link StreamRemoveReason StreamRemoveReason}.
1054
- * @note After receiving this callback, you can choose whether to call {@link unsubscribeScreen unsubscribeScreen} to unsubscribe from the streams or not.
1050
+ * @author xuyiling.x10
1051
+ * @brief Screen audio publish state change callback.
1052
+ * @param roomId Room ID.
1053
+ * @param uid User ID.
1054
+ * @param state Publish state code, see PublishState{@link #PublishState}.
1055
+ * @param reason The specific reason why the local screen audio stream publish state changed, see PublishStateChangeReason{@link #PublishStateChangeReason}.
1056
+ * @order 0
1057
+ *
1058
+ */
1059
+ onScreenAudioPublishStateChanged?(roomId: string, uid: string, state: PublishState, reason: PublishStateChangeReason): void;
1060
+ /** {en}
1061
+ * @detail callback
1062
+ * @author xuyiling.x10
1063
+ * @brief Video subscribe state change callback.
1064
+ * @param roomId Room ID.
1065
+ * @param uid User ID.
1066
+ * @param state Subscribe state code, see SubscribeState{@link #SubscribeState}.
1067
+ * @param reason The specific reason why the local video stream subscribe state changed, see SubscribeStateChangeReason{@link #SubscribeStateChangeReason}.
1068
+ * @order 0
1069
+ *
1070
+ */
1071
+ onVideoSubscribeStateChanged?(roomId: string, uid: string, state: SubscribeState, reason: SubscribeStateChangeReason): void;
1072
+ /** {en}
1073
+ * @detail callback
1074
+ * @author xuyiling.x10
1075
+ * @brief Audio subscribe state change callback.
1076
+ * @param roomId Room ID.
1077
+ * @param uid User ID.
1078
+ * @param state Subscribe state code, see SubscribeState{@link #SubscribeState}.
1079
+ * @param reason The specific reason why the local audio stream subscribe state changed, see SubscribeStateChangeReason{@link #SubscribeStateChangeReason}.
1080
+ * @order 0
1081
+ *
1082
+ */
1083
+ onAudioSubscribeStateChanged?(roomId: string, uid: string, state: SubscribeState, reason: SubscribeStateChangeReason): void;
1084
+ /** {en}
1085
+ * @detail callback
1086
+ * @author xuyiling.x10
1087
+ * @brief Screen video subscribe state change callback.
1088
+ * @param roomId Room ID.
1089
+ * @param uid User ID.
1090
+ * @param state Subscribe state code, see SubscribeState{@link #SubscribeState}.
1091
+ * @param reason The specific reason why the local screen video stream subscribe state changed, see SubscribeStateChangeReason{@link #SubscribeStateChangeReason}.
1092
+ * @order 0
1093
+ *
1094
+ */
1095
+ onScreenVideoSubscribeStateChanged?(roomId: string, uid: string, state: SubscribeState, reason: SubscribeStateChangeReason): void;
1096
+ /** {en}
1097
+ * @detail callback
1098
+ * @author xuyiling.x10
1099
+ * @brief Screen audio subscribe state change callback.
1100
+ * @param roomId Room ID.
1101
+ * @param uid User ID.
1102
+ * @param state Subscribe state code, see SubscribeState{@link #SubscribeState}.
1103
+ * @param reason The specific reason why the local screen audio stream subscribe state changed, see SubscribeStateChangeReason{@link #SubscribeStateChangeReason}.
1104
+ * @order 0
1055
1105
  *
1056
1106
  */
1057
- onUserUnpublishScreen?(uid: string, type: MediaStreamType, reason: StreamRemoveReason): void;
1107
+ onScreenAudioSubscribeStateChanged?(roomId: string, uid: string, state: SubscribeState, reason: SubscribeStateChangeReason): void;
1058
1108
  /** {en}
1059
1109
  * @detail callback
1060
1110
  * @region Multi-room
@@ -1090,6 +1140,58 @@ export interface RTCRoomEventHandler {
1090
1140
  *
1091
1141
  */
1092
1142
  onStreamSubscribed?(stateCode: SubscribeState, userId: string, info: SubscribeConfig): void;
1143
+ /** {en}
1144
+ * @detail callback
1145
+ * @region Room management
1146
+ * @author xuyiling.x10
1147
+ * @brief Callback on remote media streams captured by camera.
1148
+ * @param roomId Room ID.
1149
+ * @param uid The ID of the user who published the stream.
1150
+ * @param isPublish True if the stream is published, false if the stream is removed.
1151
+ * @note Local users will receive this callback when a remote user successfully publishes media streams captured by camera by calling publishStreamVideo{@link #IRTCRoom#publishStreamVideo}.
1152
+ * @order 2
1153
+ *
1154
+ */
1155
+ onUserPublishStreamVideo?(roomId: string, uid: string, isPublish: boolean): void;
1156
+ /** {en}
1157
+ * @detail callback
1158
+ * @region Room management
1159
+ * @author xuyiling.x10
1160
+ * @brief Callback on remote media streams captured by microphone.
1161
+ * @param roomId Room ID.
1162
+ * @param uid The ID of the user who published the stream.
1163
+ * @param isPublish True if the stream is published, false if the stream is removed.
1164
+ * @note Local users will receive this callback when a remote user successfully publishes media streams captured by microphone by calling publishStreamAudio{@link #IRTCRoom#publishStreamAudio}.
1165
+ * @order 2
1166
+ *
1167
+ */
1168
+ onUserPublishStreamAudio?(roomId: string, uid: string, isPublish: boolean): void;
1169
+ /** {en}
1170
+ * @detail callback
1171
+ * @region Room management
1172
+ * @author xuyiling.x10
1173
+ * @brief Callback on remote screen sharing video streams.
1174
+ * @param roomId Room ID.
1175
+ * @param uid The ID of the user who published the stream.
1176
+ * @param isPublish True if the stream is published, false if the stream is removed.
1177
+ * @note Local users will receive this callback when a remote user successfully publishes screen sharing video streams by calling publishScreenVideo{@link #IRTCRoom#publishScreenVideo}.
1178
+ * @order 2
1179
+ *
1180
+ */
1181
+ onUserPublishScreenVideo?(roomId: string, uid: string, isPublish: boolean): void;
1182
+ /** {en}
1183
+ * @detail callback
1184
+ * @region Room management
1185
+ * @author xuyiling.x10
1186
+ * @brief Callback on remote screen sharing audio streams.
1187
+ * @param roomId Room ID.
1188
+ * @param uid The ID of the user who published the stream.
1189
+ * @param isPublish True if the stream is published, false if the stream is removed.
1190
+ * @note Local users will receive this callback when a remote user successfully publishes screen sharing audio streams by calling publishScreenAudio{@link #IRTCRoom#publishScreenAudio}.
1191
+ * @order 2
1192
+ *
1193
+ */
1194
+ onUserPublishScreenAudio?(roomId: string, uid: string, isPublish: boolean): void;
1093
1195
  /** {en}
1094
1196
  * @detail callback
1095
1197
  * @region Multi-room
@@ -1693,13 +1795,21 @@ export declare class android_RTCRoomEventHandler extends $p_a.IRTCRoomEventHandl
1693
1795
  onTokenWillExpire(): void;
1694
1796
  onPublishPrivilegeTokenWillExpire(): void;
1695
1797
  onSubscribePrivilegeTokenWillExpire(): void;
1696
- onUserPublishStream(uid: string, type: $p_a.MediaStreamType): void;
1697
- onUserUnpublishStream(uid: string, type: $p_a.MediaStreamType, reason: $p_a.StreamRemoveReason): void;
1698
- onUserPublishScreen(uid: string, type: $p_a.MediaStreamType): void;
1699
- onUserUnpublishScreen(uid: string, type: $p_a.MediaStreamType, reason: $p_a.StreamRemoveReason): void;
1798
+ onVideoPublishStateChanged(roomId: string, uid: string, state: $p_a.PublishState, reason: $p_a.PublishStateChangeReason): void;
1799
+ onAudioPublishStateChanged(roomId: string, uid: string, state: $p_a.PublishState, reason: $p_a.PublishStateChangeReason): void;
1800
+ onScreenVideoPublishStateChanged(roomId: string, uid: string, state: $p_a.PublishState, reason: $p_a.PublishStateChangeReason): void;
1801
+ onScreenAudioPublishStateChanged(roomId: string, uid: string, state: $p_a.PublishState, reason: $p_a.PublishStateChangeReason): void;
1802
+ onVideoSubscribeStateChanged(roomId: string, uid: string, state: $p_a.SubscribeState, reason: $p_a.SubscribeStateChangeReason): void;
1803
+ onAudioSubscribeStateChanged(roomId: string, uid: string, state: $p_a.SubscribeState, reason: $p_a.SubscribeStateChangeReason): void;
1804
+ onScreenVideoSubscribeStateChanged(roomId: string, uid: string, state: $p_a.SubscribeState, reason: $p_a.SubscribeStateChangeReason): void;
1805
+ onScreenAudioSubscribeStateChanged(roomId: string, uid: string, state: $p_a.SubscribeState, reason: $p_a.SubscribeStateChangeReason): void;
1700
1806
  onLocalStreamStats(stats: $p_a.LocalStreamStats): void;
1701
1807
  onRemoteStreamStats(stats: $p_a.RemoteStreamStats): void;
1702
1808
  onStreamSubscribed(stateCode: $p_a.int, userId: string, info: $p_a.SubscribeConfig): void;
1809
+ onUserPublishStreamVideo(roomId: string, uid: string, isPublish: boolean): void;
1810
+ onUserPublishStreamAudio(roomId: string, uid: string, isPublish: boolean): void;
1811
+ onUserPublishScreenVideo(roomId: string, uid: string, isPublish: boolean): void;
1812
+ onUserPublishScreenAudio(roomId: string, uid: string, isPublish: boolean): void;
1703
1813
  onRoomMessageReceived(uid: string, message: string): void;
1704
1814
  onRoomBinaryMessageReceived(uid: string, message: $p_a.ByteBuffer): void;
1705
1815
  onUserMessageReceived(uid: string, message: string): void;
@@ -1733,10 +1843,18 @@ export declare class ios_RTCRoomEventHandler extends $p_i.ByteRTCRoomDelegate {
1733
1843
  onTokenWillExpire(rtcRoom: $p_i.ByteRTCRoom): void;
1734
1844
  onPublishPrivilegeTokenWillExpire(rtcRoom: $p_i.ByteRTCRoom): void;
1735
1845
  onSubscribePrivilegeTokenWillExpire(rtcRoom: $p_i.ByteRTCRoom): void;
1736
- rtcRoom$onUserPublishStream$type(rtcRoom: $p_i.ByteRTCRoom, userId: $p_i.NSString, type: $p_i.ByteRTCMediaStreamType): void;
1737
- rtcRoom$onUserUnpublishStream$type$reason(rtcRoom: $p_i.ByteRTCRoom, userId: $p_i.NSString, type: $p_i.ByteRTCMediaStreamType, reason: $p_i.ByteRTCStreamRemoveReason): void;
1738
- rtcRoom$onUserPublishScreen$type(rtcRoom: $p_i.ByteRTCRoom, userId: $p_i.NSString, type: $p_i.ByteRTCMediaStreamType): void;
1739
- rtcRoom$onUserUnpublishScreen$type$reason(rtcRoom: $p_i.ByteRTCRoom, userId: $p_i.NSString, type: $p_i.ByteRTCMediaStreamType, reason: $p_i.ByteRTCStreamRemoveReason): void;
1846
+ rtcRoom$onUserPublishStreamVideo$uid$isPublish(rtcRoom: $p_i.ByteRTCRoom, roomId: NSString, uid: NSString, isPublish: BOOL): void;
1847
+ rtcRoom$onUserPublishStreamAudio$uid$isPublish(rtcRoom: $p_i.ByteRTCRoom, roomId: NSString, uid: NSString, isPublish: BOOL): void;
1848
+ rtcRoom$onUserPublishScreenVideo$uid$isPublish(rtcRoom: $p_i.ByteRTCRoom, roomId: NSString, uid: NSString, isPublish: BOOL): void;
1849
+ rtcRoom$onUserPublishScreenAudio$uid$isPublish(rtcRoom: $p_i.ByteRTCRoom, roomId: NSString, uid: NSString, isPublish: BOOL): void;
1850
+ rtcRoom$onVideoPublishStateChanged$Uid$state$reason(rtcRoom: $p_i.ByteRTCRoom, roomId: NSString, uid: NSString, state: $p_i.ByteRTCPublishState, reason: $p_i.ByteRTCPublishStateChangeReason): void;
1851
+ rtcRoom$onAudioPublishStateChanged$Uid$state$reason(rtcRoom: $p_i.ByteRTCRoom, roomId: NSString, uid: NSString, state: $p_i.ByteRTCPublishState, reason: $p_i.ByteRTCPublishStateChangeReason): void;
1852
+ rtcRoom$onScreenVideoPublishStateChanged$Uid$state$reason(rtcRoom: $p_i.ByteRTCRoom, roomId: NSString, uid: NSString, state: $p_i.ByteRTCPublishState, reason: $p_i.ByteRTCPublishStateChangeReason): void;
1853
+ rtcRoom$onScreenAudioPublishStateChanged$Uid$state$reason(rtcRoom: $p_i.ByteRTCRoom, roomId: NSString, uid: NSString, state: $p_i.ByteRTCPublishState, reason: $p_i.ByteRTCPublishStateChangeReason): void;
1854
+ rtcRoom$onVideoSubscribeStateChanged$Uid$state$reason(rtcRoom: $p_i.ByteRTCRoom, roomId: NSString, uid: NSString, state: $p_i.ByteRTCSubscribeState, reason: $p_i.ByteRTCSubscribeStateChangeReason): void;
1855
+ rtcRoom$onAudioSubscribeStateChanged$Uid$state$reason(rtcRoom: $p_i.ByteRTCRoom, roomId: NSString, uid: NSString, state: $p_i.ByteRTCSubscribeState, reason: $p_i.ByteRTCSubscribeStateChangeReason): void;
1856
+ rtcRoom$onScreenVideoSubscribeStateChanged$Uid$state$reason(rtcRoom: $p_i.ByteRTCRoom, roomId: NSString, uid: NSString, state: $p_i.ByteRTCSubscribeState, reason: $p_i.ByteRTCSubscribeStateChangeReason): void;
1857
+ rtcRoom$onScreenAudioSubscribeStateChanged$Uid$state$reason(rtcRoom: $p_i.ByteRTCRoom, roomId: NSString, uid: NSString, state: $p_i.ByteRTCSubscribeState, reason: $p_i.ByteRTCSubscribeStateChangeReason): void;
1740
1858
  rtcRoom$onLocalStreamStats(rtcRoom: $p_i.ByteRTCRoom, stats: $p_i.ByteRTCLocalStreamStats): void;
1741
1859
  rtcRoom$onRemoteStreamStats(rtcRoom: $p_i.ByteRTCRoom, stats: $p_i.ByteRTCRemoteStreamStats): void;
1742
1860
  rtcRoom$onStreamSubscribed$userId$subscribeConfig(rtcRoom: $p_i.ByteRTCRoom, state: $p_i.ByteRTCSubscribeState, userId: $p_i.NSString, info: $p_i.ByteRTCSubscribeConfig): void;
@@ -19,6 +19,38 @@ export declare enum RTCNetworkType {
19
19
  NONE = 7,
20
20
  ByteRTCNetworkTypeDisconnected = 8
21
21
  }
22
+ export declare enum SubscribeStateChangeReason {
23
+ SUBSCRIBE = 0,
24
+ UNSUBSCRIBE = 1,
25
+ REMOTE_PUBLISH = 2,
26
+ REMOTE_UNPUBLISH = 3,
27
+ STREAM_FAILED_5XX = 4,
28
+ STREAM_FAILED_404 = 5,
29
+ OVER_STREAM_SUBSCRIBE_LIMIT = 6,
30
+ NO_SUBSCRIBE_PERMISSION = 7
31
+ }
32
+ export declare enum PublishStateChangeReason {
33
+ PUBLISH = 0,
34
+ UNPUBLISH = 1,
35
+ NO_PUBLISH_PERMISSION = 2,
36
+ OVER_STREAM_PUBLISH_LIMIT = 3,
37
+ MULTIROOM_UNPUBLISH_FAILED = 4,
38
+ PUBLISH_STREAM_FAILED = 5,
39
+ PUBLISH_STREAM_FORBIDEN = 6,
40
+ USER_IN_PUBLISH = 7
41
+ }
42
+ export declare enum PublishState {
43
+ /** {en}
44
+ * @brief Successfully published.
45
+ *
46
+ */
47
+ PUBLISHED = 0,
48
+ /** {en}
49
+ * @brief Failed to publish.
50
+ *
51
+ */
52
+ UNPUBLISHED = 1
53
+ }
22
54
  export declare enum RTCUserOfflineReason {
23
55
  ByteRTCUserOfflineReasonQuit = 0,
24
56
  ByteRTCUserOfflineReasonDropped = 1,
@@ -1364,11 +1396,17 @@ export declare enum RemoteMirrorType {
1364
1396
  RENDER = 1
1365
1397
  }
1366
1398
  export declare enum SubscribeState {
1367
- SUBSCRIBE_STATE_SUCCESS = 0,
1368
- SUBSCRIBE_STATE_FAILED_NOT_IN_ROOM = 1,
1369
- SUBSCRIBE_STATE_FAILED_STREAM_NOT_FOUND = 2,
1370
- SUBSCRIBE_STATE_FAILED_SIGNAL = 3,
1371
- ByteRTCSubscribeStateFailedOverLimit = 4
1399
+ /** {en}
1400
+ * @platform android
1401
+ * @brief Successfully subscribed.
1402
+ *
1403
+ */
1404
+ SUBSCRIBED = 0,
1405
+ /** {en}
1406
+ * @brief Failed to subscribe.
1407
+ *
1408
+ */
1409
+ UNSUBSCRIBED = 1
1372
1410
  }
1373
1411
  export declare class VirtualBackgroundSource {
1374
1412
  protected _instance: any;
@@ -1891,30 +1929,35 @@ export declare enum AVSyncState {
1891
1929
  AV_SYNC_STATE_STREAM_SYNC_BEGIN = 2
1892
1930
  }
1893
1931
  export declare class RTCRoomConfig {
1894
- constructor(channelProfile: ChannelProfile, isAutoPublish: boolean, isAutoSubscribeAudio: boolean, isAutoSubscribeVideo: boolean, remoteVideoConfig: RemoteVideoConfig);
1895
- constructor(channelProfile: ChannelProfile, isAutoPublish: boolean, isAutoSubscribeAudio: boolean, isAutoSubscribeVideo: boolean);
1932
+ constructor(channelProfile: ChannelProfile, isPublishAudio: boolean, isPublishVideo: boolean, isAutoSubscribeAudio: boolean, isAutoSubscribeVideo: boolean);
1896
1933
  constructor();
1897
1934
  protected _instance: any;
1898
1935
  /** {en}
1899
- * @brief Room profile. See {@link ChannelProfile ChannelProfile}. The default is `CHANNEL_PROFILE_COMMUNICATION`. The setting cannot be changed after joining the room.
1900
- *
1936
+ * @brief Room profile. See ChannelProfile{@link #ChannelProfile}. The default is `CHANNEL_PROFILE_COMMUNICATION`. The setting cannot be changed after joining the room.
1901
1937
  *
1902
1938
  */
1903
1939
  get profile(): ChannelProfile;
1904
1940
  set profile(value: ChannelProfile);
1905
1941
  /** {en}
1906
- * @brief Whether to publish media streams automatically. The default is automatic publishing. <br>
1907
- * Only one of the rooms the user joined can be set to auto-publish. If no settings are made in each room, the stream is automatically published in the first room joined by default. <br>
1908
- * If you call {@link setUserVisibility setUserVisibility} to set your own visibility to false, you will not publish media streams regardless of the value of `isAutoPublish`.
1942
+ * @brief Whether to publish media streams automatically. The default is automatic publishing.
1943
+ * + Changing the user role to audience via `setUserVisibility` will void this setting.
1944
+ * + You can publish streams in only one of the rooms you have participated. If you have joined multiple rooms with the automatically publishing setting, the stream will be added into the first room you have joined only.
1945
+ *
1946
+ */
1947
+ get isPublishAudio(): boolean;
1948
+ set isPublishAudio(value: boolean);
1949
+ /** {en}
1950
+ * @brief Whether to publish media streams automatically. The default is automatic publishing.
1951
+ * + Changing the user role to audience via `setUserVisibility` will void this setting.
1952
+ * + You can publish streams in only one of the rooms you have participated. If you have joined multiple rooms with the automatically publishing setting, the stream will be added into the first room you have joined only.
1909
1953
  *
1910
1954
  */
1911
- get isAutoPublish(): boolean;
1912
- set isAutoPublish(value: boolean);
1955
+ get isPublishVideo(): boolean;
1956
+ set isPublishVideo(value: boolean);
1913
1957
  /** {en}
1914
1958
  * @brief Whether to automatically subscribe to the audio stream. The default is automatic subscription. <br>
1915
1959
  * This setting affects both the main stream and the screen-sharing stream.
1916
1960
  *
1917
- *
1918
1961
  */
1919
1962
  get isAutoSubscribeAudio(): boolean;
1920
1963
  set isAutoSubscribeAudio(value: boolean);
@@ -1925,14 +1968,15 @@ export declare class RTCRoomConfig {
1925
1968
  */
1926
1969
  get isAutoSubscribeVideo(): boolean;
1927
1970
  set isAutoSubscribeVideo(value: boolean);
1928
- /** {en}
1929
- * @brief Expected configuration of remote video stream, see {@link RemoteVideoConfig RemoteVideoConfig}.
1930
- *
1931
- */
1932
- get remoteVideoConfig(): RemoteVideoConfig;
1933
- set remoteVideoConfig(value: RemoteVideoConfig);
1934
1971
  protected __init(...args: any[]): void;
1935
1972
  protected __new_instance(...args: any[]): any;
1973
+ /**
1974
+ * @platform android
1975
+ */
1976
+ /**
1977
+ * @platform android
1978
+ */
1979
+ android_isPublishAudio$(): boolean;
1936
1980
  }
1937
1981
  export declare class Rectangle {
1938
1982
  constructor(x: number, y: number, w: number, h: number);
@@ -5970,12 +6014,50 @@ export declare enum MediaDeviceState {
5970
6014
  *
5971
6015
  */
5972
6016
  MEDIA_DEVICE_STATE_INTERRUPTION_ENDED = 6,
6017
+ /** {en}
6018
+ * @platform ios
6019
+ * @brief On
6020
+ *
6021
+ */
5973
6022
  ByteRTCMediaDeviceStateStarted = 7,
6023
+ /** {en}
6024
+ * @platform ios
6025
+ * @brief Off
6026
+ *
6027
+ */
5974
6028
  ByteRTCMediaDeviceStateStopped = 8,
6029
+ /** {en}
6030
+ * @platform ios
6031
+ * @brief Runtime error <br>
6032
+ * For example, when the media device is expected to be working but no data is received.
6033
+ *
6034
+ */
5975
6035
  ByteRTCMediaDeviceStateRuntimeError = 9,
6036
+ /** {en}
6037
+ * @platform ios
6038
+ * @brief Added <br>
6039
+ * Call enumerate-device api to update the device list when you get this notification.
6040
+ *
6041
+ */
5976
6042
  ByteRTCMediaDeviceStateAdded = 10,
6043
+ /** {en}
6044
+ * @platform ios
6045
+ * @brief Removed <br>
6046
+ * Call enumerate-device api to update the device list when you get this notification.
6047
+ *
6048
+ */
5977
6049
  ByteRTCMediaDeviceStateRemoved = 11,
6050
+ /** {en}
6051
+ * @platform ios
6052
+ * @brief Phone calls, locking screen or the other Apps interrupted the RTC call. RTC call will resume once the call ends or the other Apps release the media devices.
6053
+ *
6054
+ */
5978
6055
  ByteRTCMediaDeviceStateInterruptionBegan = 12,
6056
+ /** {en}
6057
+ * @platform ios
6058
+ * @brief RTC call resumed from the interruption caused by the phone calls or the other Apps.
6059
+ *
6060
+ */
5979
6061
  ByteRTCMediaDeviceStateInterruptionEnded = 13
5980
6062
  }
5981
6063
  export declare enum LocalProxyType {
@@ -6866,6 +6948,24 @@ export declare class t_RTCNetworkType {
6866
6948
  static ts_to_ios(value: RTCNetworkType): $p_i.ByteRTCNetworkType;
6867
6949
  static ios_to_ts(value: $p_i.ByteRTCNetworkType): RTCNetworkType;
6868
6950
  }
6951
+ export declare class t_SubscribeStateChangeReason {
6952
+ static ts_to_android(value: SubscribeStateChangeReason): $p_a.SubscribeStateChangeReason;
6953
+ static android_to_ts(value: $p_a.SubscribeStateChangeReason): SubscribeStateChangeReason;
6954
+ static ts_to_ios(value: SubscribeStateChangeReason): $p_i.ByteRTCSubscribeStateChangeReason;
6955
+ static ios_to_ts(value: $p_i.ByteRTCSubscribeStateChangeReason): SubscribeStateChangeReason;
6956
+ }
6957
+ export declare class t_PublishStateChangeReason {
6958
+ static ts_to_android(value: PublishStateChangeReason): $p_a.PublishStateChangeReason;
6959
+ static android_to_ts(value: $p_a.PublishStateChangeReason): PublishStateChangeReason;
6960
+ static ts_to_ios(value: PublishStateChangeReason): $p_i.ByteRTCPublishStateChangeReason;
6961
+ static ios_to_ts(value: $p_i.ByteRTCPublishStateChangeReason): PublishStateChangeReason;
6962
+ }
6963
+ export declare class t_PublishState {
6964
+ static ts_to_android(value: PublishState): $p_a.PublishState;
6965
+ static android_to_ts(value: $p_a.PublishState): PublishState;
6966
+ static ts_to_ios(value: PublishState): $p_i.ByteRTCPublishState;
6967
+ static ios_to_ts(value: $p_i.ByteRTCPublishState): PublishState;
6968
+ }
6869
6969
  export declare class t_RTCUserOfflineReason {
6870
6970
  static ts_to_android(value: RTCUserOfflineReason): $p_a.UserOfflineReason;
6871
6971
  static android_to_ts(value: $p_a.UserOfflineReason): RTCUserOfflineReason;
@@ -1,7 +1,7 @@
1
1
  // Copyright © 2022 BytePlusRTC All rights reserved.
2
2
  // SPDX-License-Identifier: MIT
3
3
 
4
- import { StreamIndex, type RenderMode, ChannelProfile, RTCRoom, AudioReportMode, AudioPropertiesMode, IAudioEffectPlayer as AudioEffectPlayer, AudioMixingType, IMediaPlayer, ScreenMediaType, ProblemFeedbackOption, SyncInfoStreamType, ReturnStatus, RTCScreenVideoEncoderPreference, LocalLogLevel, ByteRTCStreamMixingType, RTCVideoEncoderPreference } from './codegen/pack';
4
+ import { StreamIndex, type RenderMode, ChannelProfile, RTCRoom, AudioReportMode, AudioPropertiesMode, IAudioEffectPlayer as AudioEffectPlayer, AudioMixingType, IMediaPlayer, ScreenMediaType, ProblemFeedbackOption, SyncInfoStreamType, ReturnStatus, RTCScreenVideoEncoderPreference, LocalLogLevel, ByteRTCStreamMixingType, RTCVideoEncoderPreference, RemoteUserPriority } from './codegen/pack/index';
5
5
  import { RTCVideo } from './core/rtc-video';
6
6
  /** {en}
7
7
  * @detail api
@@ -28,7 +28,7 @@ export type IEngine = Omit<RTCVideo, 'setLocalVideoCanvas' | 'createRTCRoom' | '
28
28
  * @return
29
29
  * - 0: Success.
30
30
  * - < 0 : Fail. See {@link ReturnStatus ReturnStatus} for more details
31
- * @note When the local user leaves the room, the setting will be invalid. The remote user leaving the room does not affect the setting.
31
+ * @noteWhen the local user leaves the room, the setting will be invalid. The remote user leaving the room does not affect the setting.
32
32
  */
33
33
  setRemoteVideoCanvas: (remoteInfo: IRemoteInfo, videoCanvas: IVideoCanvas) => ReturnStatus;
34
34
  /** {en}
@@ -77,7 +77,7 @@ export type IEngine = Omit<RTCVideo, 'setLocalVideoCanvas' | 'createRTCRoom' | '
77
77
  * @return API call result: <br>
78
78
  * - 0: Success.
79
79
  * - <0: Failure. See {@link ReturnStatus ReturnStatus} for specific reasons.
80
- * @note Suppose a remote user A is always within the range of the target user whose playback volume will be adjusted, <br>
80
+ * @noteSuppose a remote user A is always within the range of the target user whose playback volume will be adjusted, <br>
81
81
  * - If you use both this method and {@link setRemoteRoomAudioPlaybackVolume setRemoteRoomAudioPlaybackVolume}, the volume that the local user hears from user A is the volume set by the method called later.
82
82
  * - If you use both this method and {@link setPlaybackVolume setPlaybackVolume}, the volume that the local user hears from user A is the overlay of both settings.
83
83
  */
@@ -88,7 +88,7 @@ export type IEngine = Omit<RTCVideo, 'setLocalVideoCanvas' | 'createRTCRoom' | '
88
88
  * @return
89
89
  * - 0: Success.
90
90
  * - !0: Failure.
91
- * @note We recommend that you set the encoding configuration before video capture. Otherwise, the video will be captured based on the default configuration(1080p@15fps).
91
+ * @noteWe recommend that you set the encoding configuration before video capture. Otherwise, the video will be captured based on the default configuration(1080p@15fps).
92
92
  */
93
93
  setScreenVideoEncoderConfig: (config: IScreenSolution) => number;
94
94
  /** {en}
@@ -111,7 +111,7 @@ export type IEngine = Omit<RTCVideo, 'setLocalVideoCanvas' | 'createRTCRoom' | '
111
111
  * @return
112
112
  * - 0: Success.
113
113
  * - <0: Fail. See {@link ReturnStatus ReturnStatus} for more details.
114
- * @note Call this API before {@link joinRoom joinRoom} and {@link startAudioCapture startAudioCapture}.
114
+ * @noteCall this API before {@link joinRoom joinRoom} and {@link startAudioCapture startAudioCapture}.
115
115
  */
116
116
  setRuntimeParameters: (params: Record<string, string>) => number;
117
117
  /** {en}
@@ -123,7 +123,7 @@ export type IEngine = Omit<RTCVideo, 'setLocalVideoCanvas' | 'createRTCRoom' | '
123
123
  * - -1: Failed to report, not yet joined the room
124
124
  * - -2: Failed to report, data analysis error
125
125
  * - -3: Failed to report, missing fields
126
- * @note If the user is in the room when reporting, the report leads to the room / rooms where the user is currently located; <br>
126
+ * @noteIf the user is in the room when reporting, the report leads to the room / rooms where the user is currently located; <br>
127
127
  * If the user is not in the room when reporting, the report leads to the previously exited Room.
128
128
  */
129
129
  feedback(options: ProblemFeedbackOption[], info: IFeedbackProblemInfo): number;
@@ -180,7 +180,7 @@ export type IEngine = Omit<RTCVideo, 'setLocalVideoCanvas' | 'createRTCRoom' | '
180
180
  startVodPlayerCapture(player: any): number;
181
181
  /** {en}
182
182
  * @brief Stop all vod player observer in rtc.
183
- * @note Once you invoke this api, you should invoke `startVodPlayerCapture` to observe vod player.
183
+ * @noteOnce you invoke this api, you should invoke `startVodPlayerCapture` to observe vod player.
184
184
  */
185
185
  stopVodPlayerCapture(player: any): number;
186
186
  /** {en}
@@ -199,6 +199,27 @@ export type IEngine = Omit<RTCVideo, 'setLocalVideoCanvas' | 'createRTCRoom' | '
199
199
  * - Since this API does not perform encoding and decoding, the video stream pushed to RTMP will change according to the resolution, encoding method, and turning off the camera of the end of pushing streams.
200
200
  */
201
201
  startPushSingleStreamToCDN(taskId: string, params: IPushSingleStreamParam): number;
202
+ /** {en}
203
+ * @detail api
204
+ * @region audio & video fallback
205
+ * @author panjian.fishing
206
+ * @brief Set user priority.
207
+ * @param roomid Room ID
208
+ * @param uid <br>
209
+ * The ID of the remote user.
210
+ * @param priority <br>
211
+ * Priority for remote users. See enumeration type RemoteUserPriority{@link #RemoteUserPriority}.
212
+ * @return
213
+ * - 0: Success.
214
+ * - < 0: Failed.
215
+ * @note
216
+ * - This method is used with setSubscribeFallbackOption{@link #RTCVideo#setSubscribeFallbackOption}.
217
+ * - If the subscription flow fallback option is turned on, weak connections or insufficient performance will give priority to ensuring the quality of the flow received by high-priority users.
218
+ * - This method can be used before and after entering the room, and the priority of the remote user can be modified.
219
+ *
220
+ */
221
+ setRemoteUserPriority(roomId: string, uid: string, priority: RemoteUserPriority): number;
222
+ setAudioScene(scene: AudioSceneType): Promise<number>;
202
223
  };
203
224
  /** {en}
204
225
  * @detail api
@@ -410,11 +431,17 @@ export interface IJoinRoomProps {
410
431
  */
411
432
  profile?: ChannelProfile;
412
433
  /** {en}
413
- * @brief Whether to publish media streams automatically. The default is automatic publishing.
434
+ * @brief Whether to publish video streams automatically. The default is automatic publishing.
414
435
  * Only one of the rooms the user joined can be set to auto-publish. If no settings are made in each room, the stream is automatically published in the first room joined by default.
415
- * If you call {@link setUserVisibility setUserVisibility} to set your own visibility to false, you will not publish media streams regardless of the value of `isAutoPublish`.
436
+ * If you call {@link setUserVisibility setUserVisibility} to set your own visibility to false, you will not publish video streams regardless of the value of `isAutoPublishVideo`.
416
437
  */
417
- isAutoPublish?: boolean;
438
+ isAutoPublishVideo?: boolean;
439
+ /** {en}
440
+ * @brief Whether to publish audio streams automatically. The default is automatic publishing.
441
+ * Only one of the rooms the user joined can be set to auto-publish. If no settings are made in each room, the stream is automatically published in the first room joined by default.
442
+ * If you call {@link setUserVisibility setUserVisibility} to set your own visibility to false, you will not publish audio streams regardless of the value of `isAutoPublishAudio`.
443
+ */
444
+ isAutoPublishAudio?: boolean;
418
445
  /** {en}
419
446
  * @brief Whether to automatically subscribe to the audio stream. The default is automatic subscription.
420
447
  * This setting affects both the main stream and the screen-sharing stream.
@@ -843,3 +870,9 @@ export interface IMixedStreamSpatialAudioConfig {
843
870
  */
844
871
  export interface IMixedStreamServerControlConfig {
845
872
  }
873
+ export declare enum AudioSceneType {
874
+ AUDIO_SCENE_DEFAULT = 0,
875
+ AUDIO_SCENE_CHATROOM = 1,
876
+ AUDIO_SCENE_HIGH_QUALITY_CHATROOM = 2,
877
+ AUDIO_SCENE_LOW_LATENCY = 3
878
+ }
@@ -0,0 +1,7 @@
1
+ // Copyright © 2022 BytePlusRTC All rights reserved.
2
+ // SPDX-License-Identifier: MIT
3
+
4
+ declare const isTurboModuleEnabled: boolean;
5
+ declare const Vertc: any;
6
+ export default Vertc;
7
+ export { isTurboModuleEnabled };
@@ -3,10 +3,13 @@
3
3
 
4
4
  import { NativeProxyService } from '@vcloud-lux/hybrid-runtime';
5
5
  import { MirrorType, RTCVideo, VideoEncoderConfig } from '../../codegen/android';
6
- import { IPushSingleStreamParam } from '../../interface';
6
+ import { AudioSceneType, IPushSingleStreamParam } from '../../interface';
7
+ import { ScreenMediaType } from '../..';
7
8
  export declare class VertcHelper extends NativeProxyService {
8
9
  static getInstance(): VertcHelper;
9
10
  invokeSetVideoEncoderConfig(video: RTCVideo, channelSolutions: VideoEncoderConfig[]): Promise<number>;
10
11
  invokeSetLocalVideoMirrorType(video: RTCVideo, mirrorType: MirrorType): Promise<number>;
11
12
  invokeStartPushSingleStreamToCDN(video: RTCVideo, taskId: string, param: IPushSingleStreamParam): Promise<number>;
13
+ invokeStartScreenCapture(video: RTCVideo, mediaType: ScreenMediaType): Promise<number>;
14
+ invokeSetAudioScene(video: RTCVideo, scene: AudioSceneType): Promise<number>;
12
15
  }
@@ -2,10 +2,11 @@
2
2
  // SPDX-License-Identifier: MIT
3
3
 
4
4
  import { ByteRTCVideo } from '../../codegen/ios';
5
- import { IPushSingleStreamParam } from '../../interface';
5
+ import { AudioSceneType, IPushSingleStreamParam } from '../../interface';
6
6
  export declare class VertcHelper {
7
7
  init(): this;
8
8
  static getInstance(): VertcHelper;
9
9
  invokeStartPushSingleStreamToCDN(video: ByteRTCVideo, taskId: string, param: IPushSingleStreamParam): Promise<number>;
10
10
  static isUnionLiveModeEnable(): Promise<boolean>;
11
+ invokeSetAudioScene(video: ByteRTCVideo, scene: AudioSceneType): Promise<number>;
11
12
  }