@tencent-rtc/mcp 1.3.8 → 1.4.0

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 (429) hide show
  1. package/package.json +2 -2
  2. package/resource/doc/{tuicallkit/iOS/faq.md → callkit/faq/android-faq.md} +10 -22
  3. package/resource/doc/{tuicallkit/android/faq.md → callkit/faq/flutter-faq.md} +10 -22
  4. package/resource/doc/{tuicallkit/flutter/faq.md → callkit/faq/ios-faq.md} +10 -22
  5. package/resource/doc/callkit/preset/android/api.md +296 -0
  6. package/resource/doc/callkit/preset/android/integration.md +430 -0
  7. package/resource/doc/callkit/preset/flutter/api.md +410 -0
  8. package/resource/doc/{tuicallkit → callkit/preset}/flutter/integration.md +35 -97
  9. package/resource/doc/callkit/preset/ios/api.md +80 -0
  10. package/resource/doc/{tuicallkit/iOS → callkit/preset/ios}/integration.md +37 -118
  11. package/resource/doc/callkit/preset/react/api.md +501 -0
  12. package/resource/doc/{tuicallkit → callkit/preset}/react/integration.md +5 -20
  13. package/resource/doc/callkit/preset/vue/api.md +501 -0
  14. package/resource/doc/{tuicallkit → callkit/preset}/vue/integration.md +4 -19
  15. package/resource/doc/{chatuikit → chatkit}/android/faq.md +29 -38
  16. package/resource/doc/{chatuikit → chatkit}/android/features/theme.md +22 -166
  17. package/resource/doc/chatkit/android/integration.md +490 -0
  18. package/resource/doc/chatkit/faq/android_sdk/client-api.md +281 -0
  19. package/resource/doc/{chatuikit → chatkit}/faq/common/product.md +0 -1
  20. package/resource/doc/{chatuikit → chatkit}/faq/common/server.md +1 -1
  21. package/resource/doc/chatkit/faq/flutter_sdk/client-api.md +199 -0
  22. package/resource/doc/{chatuikit → chatkit}/faq/flutter_sdk/faq.md +3 -3
  23. package/resource/doc/chatkit/faq/ios_sdk/client-api.md +235 -0
  24. package/resource/doc/{chatuikit → chatkit}/faq/web_sdk/faq.md +3 -3
  25. package/resource/doc/{chatuikit → chatkit}/flutter/features/theme.md +22 -166
  26. package/resource/doc/{chatuikit → chatkit}/flutter/integration.md +19 -88
  27. package/resource/doc/{chatuikit/iOS → chatkit/ios}/faq.md +29 -38
  28. package/resource/doc/{chatuikit/iOS → chatkit/ios}/features/theme.md +27 -176
  29. package/resource/doc/{chatuikit/iOS → chatkit/ios}/integration.md +47 -165
  30. package/resource/doc/{chatuikit → chatkit}/react/components/avatar.md +0 -33
  31. package/resource/doc/{chatuikit → chatkit}/react/components/chat-header.md +8 -49
  32. package/resource/doc/{chatuikit → chatkit}/react/components/chat-setting.md +6 -35
  33. package/resource/doc/{chatuikit → chatkit}/react/components/chat.md +0 -6
  34. package/resource/doc/{chatuikit → chatkit}/react/components/component-list.md +0 -11
  35. package/resource/doc/{chatuikit → chatkit}/react/components/contact-list.md +96 -502
  36. package/resource/doc/chatkit/react/components/conversation-actions.md +174 -0
  37. package/resource/doc/chatkit/react/components/conversation-list.md +333 -0
  38. package/resource/doc/chatkit/react/components/conversation-preview.md +118 -0
  39. package/resource/doc/chatkit/react/components/conversation-search.md +60 -0
  40. package/resource/doc/{chatuikit → chatkit}/react/components/message-input.md +36 -337
  41. package/resource/doc/{chatuikit → chatkit}/react/components/message-list.md +20 -212
  42. package/resource/doc/chatkit/react/components/search.md +243 -0
  43. package/resource/doc/{chatuikit → chatkit}/react/components/tuikit.md +1 -47
  44. package/resource/doc/{chatuikit → chatkit}/react/integration.md +21 -81
  45. package/resource/doc/{chatuikit → chatkit}/vue/components/avatar.md +0 -33
  46. package/resource/doc/{chatuikit → chatkit}/vue/components/chat-header.md +7 -48
  47. package/resource/doc/{chatuikit → chatkit}/vue/components/chat-setting.md +3 -5
  48. package/resource/doc/{chatuikit → chatkit}/vue/components/chat.md +0 -5
  49. package/resource/doc/{chatuikit → chatkit}/vue/components/component-list.md +0 -15
  50. package/resource/doc/chatkit/vue/components/contact-list.md +271 -0
  51. package/resource/doc/chatkit/vue/components/conversation-actions.md +228 -0
  52. package/resource/doc/{chatuikit → chatkit}/vue/components/conversation-list.md +42 -492
  53. package/resource/doc/chatkit/vue/components/conversation-preview.md +213 -0
  54. package/resource/doc/chatkit/vue/components/conversation-search.md +50 -0
  55. package/resource/doc/{chatuikit → chatkit}/vue/components/message-input.md +2 -223
  56. package/resource/doc/{chatuikit → chatkit}/vue/components/message-list.md +23 -252
  57. package/resource/doc/{chatuikit → chatkit}/vue/components/search.md +73 -640
  58. package/resource/doc/{chatuikit → chatkit}/vue/components/tuikit.md +7 -21
  59. package/resource/doc/{chatuikit → chatkit}/vue/components/userpicker.md +3 -62
  60. package/resource/doc/{chatuikit → chatkit}/vue/faq.md +1 -1
  61. package/resource/doc/{chatuikit → chatkit}/vue/integration.md +22 -23
  62. package/resource/doc/livekit/{live → core-sdk/live}/android/live-audience-list.md +18 -89
  63. package/resource/doc/livekit/{live → core-sdk/live}/android/live-audio-effect.md +34 -192
  64. package/resource/doc/livekit/{live → core-sdk/live}/android/live-barrage.md +28 -141
  65. package/resource/doc/livekit/{live → core-sdk/live}/android/live-base-beauty.md +20 -112
  66. package/resource/doc/livekit/{live → core-sdk/live}/android/live-co-guest-interaction.md +59 -193
  67. package/resource/doc/livekit/{live → core-sdk/live}/android/live-gift.md +75 -455
  68. package/resource/doc/livekit/{live → core-sdk/live}/android/live-host-interaction.md +94 -344
  69. package/resource/doc/livekit/{live → core-sdk/live}/android/live-integration.md +107 -515
  70. package/resource/doc/livekit/{live → core-sdk/live}/android/live-live-list.md +33 -173
  71. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-audience-list.md +14 -93
  72. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-audio-effect.md +34 -179
  73. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-barrage.md +19 -107
  74. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-base-beauty.md +24 -166
  75. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-co-guest-interaction.md +56 -163
  76. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-gift.md +69 -443
  77. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-host-interaction.md +117 -364
  78. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-integration.md +107 -492
  79. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-live-list.md +23 -165
  80. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-audience-list.md +35 -111
  81. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-audio-effect.md +35 -193
  82. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-barrage.md +31 -144
  83. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-base-beauty.md +24 -116
  84. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-co-guest-interaction.md +37 -171
  85. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-gift.md +79 -459
  86. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-host-interaction.md +69 -320
  87. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-integration.md +85 -502
  88. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-live-list.md +32 -169
  89. package/resource/doc/livekit/core-sdk/voice/android/voice-audience-list.md +263 -0
  90. package/resource/doc/livekit/core-sdk/voice/android/voice-audio-effect.md +222 -0
  91. package/resource/doc/livekit/core-sdk/voice/android/voice-barrage.md +452 -0
  92. package/resource/doc/livekit/core-sdk/voice/android/voice-co-guest-interaction.md +536 -0
  93. package/resource/doc/livekit/core-sdk/voice/android/voice-gift.md +442 -0
  94. package/resource/doc/livekit/core-sdk/voice/android/voice-host-interaction.md +489 -0
  95. package/resource/doc/livekit/core-sdk/voice/android/voice-integration.md +574 -0
  96. package/resource/doc/livekit/core-sdk/voice/android/voice-room-list.md +435 -0
  97. package/resource/doc/livekit/core-sdk/voice/flutter/voice-co-guest-interaction.md +516 -0
  98. package/resource/doc/livekit/core-sdk/voice/flutter/voice-integration.md +576 -0
  99. package/resource/doc/livekit/core-sdk/voice/ios/voice-audience-list.md +263 -0
  100. package/resource/doc/livekit/core-sdk/voice/ios/voice-audio-effect.md +212 -0
  101. package/resource/doc/livekit/core-sdk/voice/ios/voice-barrage.md +404 -0
  102. package/resource/doc/livekit/core-sdk/voice/ios/voice-co-guest-interaction.md +499 -0
  103. package/resource/doc/livekit/core-sdk/voice/ios/voice-gift.md +403 -0
  104. package/resource/doc/livekit/core-sdk/voice/ios/voice-host-interaction.md +552 -0
  105. package/resource/doc/livekit/core-sdk/voice/ios/voice-integration.md +514 -0
  106. package/resource/doc/livekit/core-sdk/voice/ios/voice-room-list.md +348 -0
  107. package/resource/doc/livekit/faq/common/{error_code.md → error-code.md} +2 -2
  108. package/resource/doc/livekit/preset/live/vue/api-reference/index.md +780 -0
  109. package/resource/doc/livekit/preset/live/vue/components/barrage.md +291 -0
  110. package/resource/doc/livekit/{live → preset/live}/vue/components/co-guest-panel.md +10 -49
  111. package/resource/doc/livekit/{live → preset/live}/vue/components/live-audience-list.md +26 -144
  112. package/resource/doc/livekit/{live → preset/live}/vue/components/live-scene-panel.md +12 -75
  113. package/resource/doc/livekit/{live → preset/live}/vue/components/live-view.md +36 -227
  114. package/resource/doc/livekit/preset/live/vue/components/stream-mixer.md +215 -0
  115. package/resource/doc/livekit/preset/live/vue/faq.md +1 -0
  116. package/resource/doc/livekit/preset/live/vue/live-list-integration.md +241 -0
  117. package/resource/doc/livekit/preset/live/vue/live-player-desk-integration.md +299 -0
  118. package/resource/doc/livekit/preset/live/vue/live-player-h5-integration.md +300 -0
  119. package/resource/doc/livekit/preset/live/vue/live-pusher-integration.md +743 -0
  120. package/resource/doc/roomkit/vue/faq.md +1 -0
  121. package/resource/doc/roomkit/vue/features/call-user-to-room.md +17 -53
  122. package/resource/doc/roomkit/vue/features/device-detection.md +30 -48
  123. package/resource/doc/roomkit/vue/features/device-state.md +24 -44
  124. package/resource/doc/roomkit/vue/features/free-beauty-panel.md +13 -36
  125. package/resource/doc/roomkit/vue/features/room-chat.md +31 -89
  126. package/resource/doc/roomkit/vue/features/room-participant-state.md +28 -50
  127. package/resource/doc/roomkit/vue/features/room-state.md +25 -34
  128. package/resource/doc/roomkit/vue/features/room-view.md +30 -125
  129. package/resource/doc/roomkit/vue/features/schedule-room.md +9 -40
  130. package/resource/doc/roomkit/vue/features/screen-share.md +22 -90
  131. package/resource/doc/roomkit/vue/features/virtual-background.md +13 -29
  132. package/resource/doc/roomkit/vue/integration.md +173 -337
  133. package/resource/doc/rtcengine/faq/common/error_code.md +1 -0
  134. package/resource/doc/rtcengine/faq/web/web.md +14 -24
  135. package/resource/doc/rtcengine/web/api.md +1 -3
  136. package/resource/doc/rtcengine/web/how_to_integrated_web_sdk.md +3 -10
  137. package/resource/doc/rtcengine/web/how_to_run_web_sdk_demo.md +1 -5
  138. package/resource/doc/rtcengine/web/plugin/20-advanced-customized-capture-rendering.md +1 -2
  139. package/resource/doc/rtcengine/web/plugin/21-advanced-auto-play-policy.md +2 -4
  140. package/resource/doc/rtcengine/web/plugin/23-advanced-support-detection.md +3 -5
  141. package/resource/doc/rtcengine/web/plugin/24-advanced-network-quality.md +1 -7
  142. package/resource/doc/rtcengine/web/plugin/25-advanced-device-change.md +0 -2
  143. package/resource/doc/rtcengine/web/plugin/26-advanced-publish-cdn-stream.md +4 -8
  144. package/resource/doc/rtcengine/web/plugin/27-advanced-small-stream.md +11 -11
  145. package/resource/doc/rtcengine/web/plugin/28-advanced-beauty.md +12 -88
  146. package/resource/doc/rtcengine/web/plugin/31-advanced-plugins-overview.md +5 -5
  147. package/resource/doc/rtcengine/web/plugin/34-advanced-proxy.md +30 -37
  148. package/resource/doc/rtcengine/web/plugin/36-advanced-virtual-background.md +13 -90
  149. package/resource/doc/rtcengine/web/plugin/37-advanced-voice-changer.md +1 -2
  150. package/resource/doc/rtcengine/web/plugin/39-advanced-video-decoder.md +1 -2
  151. package/resource/doc/rtcengine/web/plugin/40-advanced-video-mixer.md +19 -19
  152. package/resource/doc/rtcengine/web/plugin/41-advanced-small-stream-auto-switcher.md +1 -1
  153. package/resource/doc/rtcengine/web/plugin/42-advanced-realtime-transcriber.md +4 -5
  154. package/resource/doc/rtcengine/web/plugin/43-advanced-face-detection.md +3 -3
  155. package/resource/doc/trtc/C++/ITRTCCloud.md +686 -2835
  156. package/resource/doc/trtc/C++/ITRTCStatistics.md +53 -308
  157. package/resource/doc/trtc/C++/ITXAudioEffectManager.md +202 -1022
  158. package/resource/doc/trtc/C++/ITXDeviceManager.md +126 -767
  159. package/resource/doc/trtc/C++/TRTCCloudCallback.md +579 -2147
  160. package/resource/doc/trtc/C++/TRTCTypeDef.md +703 -3378
  161. package/resource/doc/trtc/C++/TXLiteAVCode.md +116 -908
  162. package/resource/doc/trtc/android/TRTCCloud.md +606 -2573
  163. package/resource/doc/trtc/android/TRTCCloudDef.md +752 -3640
  164. package/resource/doc/trtc/android/TRTCCloudListener.md +581 -2008
  165. package/resource/doc/trtc/android/TRTCStatistics.md +48 -278
  166. package/resource/doc/trtc/android/TXAudioEffectManager.md +202 -1022
  167. package/resource/doc/trtc/android/TXBeautyManager.md +127 -704
  168. package/resource/doc/trtc/android/TXDeviceManager.md +51 -318
  169. package/resource/doc/trtc/android/TXLiteAVCode.md +114 -892
  170. package/resource/doc/trtc/iOS/TRTCCloud.md +694 -2904
  171. package/resource/doc/trtc/iOS/TRTCCloudDef.md +726 -3498
  172. package/resource/doc/trtc/iOS/TRTCCloudDelegate.md +543 -2028
  173. package/resource/doc/trtc/iOS/TRTCStatistics.md +48 -278
  174. package/resource/doc/trtc/iOS/TXAudioEffectManager.md +174 -877
  175. package/resource/doc/trtc/iOS/TXBeautyManager.md +128 -710
  176. package/resource/doc/trtc/iOS/TXDeviceManager.md +129 -772
  177. package/resource/doc/trtc/iOS/TXLiteAVCode.md +117 -915
  178. package/server.js +1 -5
  179. package/server.js.map +1 -1
  180. package/tools/call/get_callkit_api.js +32 -0
  181. package/tools/call/get_callkit_api.js.map +1 -0
  182. package/tools/call/get_native_call_uikit_integration.js +34 -0
  183. package/tools/call/get_native_call_uikit_integration.js.map +1 -0
  184. package/tools/call/{get-web-call-integration.js → get_web_call_uikit_integration.js} +13 -8
  185. package/tools/call/get_web_call_uikit_integration.js.map +1 -0
  186. package/tools/chat/get_native_chat_uikit_feature_detail.js +34 -0
  187. package/tools/chat/get_native_chat_uikit_feature_detail.js.map +1 -0
  188. package/tools/chat/get_native_chat_uikit_integration.js +45 -0
  189. package/tools/chat/get_native_chat_uikit_integration.js.map +1 -0
  190. package/tools/chat/get_web_chat_uikit_component_detail.js +34 -0
  191. package/tools/chat/get_web_chat_uikit_component_detail.js.map +1 -0
  192. package/tools/chat/get_web_chat_uikit_integration.js +45 -0
  193. package/tools/chat/get_web_chat_uikit_integration.js.map +1 -0
  194. package/tools/common/get_faq.js +265 -0
  195. package/tools/common/get_faq.js.map +1 -0
  196. package/tools/common/{get-usersig.js → get_usersig.js} +6 -3
  197. package/tools/common/get_usersig.js.map +1 -0
  198. package/tools/common/present_framework_choice.js +63 -0
  199. package/tools/common/present_framework_choice.js.map +1 -0
  200. package/tools/definitions/get_callkit_api_def.js +29 -0
  201. package/tools/definitions/get_callkit_api_def.js.map +1 -0
  202. package/tools/definitions/get_faq_def.js +17 -18
  203. package/tools/definitions/get_faq_def.js.map +1 -1
  204. package/tools/definitions/get_native_call_uikit_integration_def.js +15 -18
  205. package/tools/definitions/get_native_call_uikit_integration_def.js.map +1 -1
  206. package/tools/definitions/get_native_chat_uikit_feature_detail_def.js +31 -0
  207. package/tools/definitions/get_native_chat_uikit_feature_detail_def.js.map +1 -0
  208. package/tools/definitions/get_native_chat_uikit_integration_def.js +16 -19
  209. package/tools/definitions/get_native_chat_uikit_integration_def.js.map +1 -1
  210. package/tools/definitions/get_native_livekit_core_features_def.js +34 -0
  211. package/tools/definitions/get_native_livekit_core_features_def.js.map +1 -0
  212. package/tools/definitions/get_native_livekit_core_integration_def.js +34 -0
  213. package/tools/definitions/get_native_livekit_core_integration_def.js.map +1 -0
  214. package/tools/definitions/get_native_trtc_sdk_docs_def.js +32 -0
  215. package/tools/definitions/get_native_trtc_sdk_docs_def.js.map +1 -0
  216. package/tools/definitions/get_usersig_def.js +17 -22
  217. package/tools/definitions/get_usersig_def.js.map +1 -1
  218. package/tools/definitions/get_web_call_uikit_integration_def.js +15 -7
  219. package/tools/definitions/get_web_call_uikit_integration_def.js.map +1 -1
  220. package/tools/definitions/get_web_chat_uikit_component_detail_def.js +17 -49
  221. package/tools/definitions/get_web_chat_uikit_component_detail_def.js.map +1 -1
  222. package/tools/definitions/get_web_chat_uikit_integration_def.js +16 -19
  223. package/tools/definitions/get_web_chat_uikit_integration_def.js.map +1 -1
  224. package/tools/definitions/get_web_live_uikit_integration_def.js +15 -18
  225. package/tools/definitions/get_web_live_uikit_integration_def.js.map +1 -1
  226. package/tools/definitions/get_web_livekit_api_def.js +30 -0
  227. package/tools/definitions/get_web_livekit_api_def.js.map +1 -0
  228. package/tools/definitions/get_web_livekit_component_detail_def.js +32 -0
  229. package/tools/definitions/get_web_livekit_component_detail_def.js.map +1 -0
  230. package/tools/definitions/get_web_room_uikit_integration_def.js +15 -30
  231. package/tools/definitions/get_web_room_uikit_integration_def.js.map +1 -1
  232. package/tools/definitions/get_web_roomkit_feature_detail_def.js +31 -0
  233. package/tools/definitions/get_web_roomkit_feature_detail_def.js.map +1 -0
  234. package/tools/definitions/get_web_trtc_sdk_api_def.js +27 -0
  235. package/tools/definitions/get_web_trtc_sdk_api_def.js.map +1 -0
  236. package/tools/definitions/get_web_trtc_sdk_integration_def.js +27 -0
  237. package/tools/definitions/get_web_trtc_sdk_integration_def.js.map +1 -0
  238. package/tools/definitions/get_web_trtc_sdk_plugin_def.js +27 -0
  239. package/tools/definitions/get_web_trtc_sdk_plugin_def.js.map +1 -0
  240. package/tools/definitions/present_framework_choice_def.js +24 -12
  241. package/tools/definitions/present_framework_choice_def.js.map +1 -1
  242. package/tools/index.js +47 -59
  243. package/tools/index.js.map +1 -1
  244. package/tools/live/get_native_livekit_core_features.js +65 -0
  245. package/tools/live/get_native_livekit_core_features.js.map +1 -0
  246. package/tools/live/get_native_livekit_core_integration.js +59 -0
  247. package/tools/live/get_native_livekit_core_integration.js.map +1 -0
  248. package/tools/live/get_web_live_uikit_integration.js +48 -0
  249. package/tools/live/get_web_live_uikit_integration.js.map +1 -0
  250. package/tools/live/get_web_livekit_api.js +32 -0
  251. package/tools/live/get_web_livekit_api.js.map +1 -0
  252. package/tools/live/get_web_livekit_component_detail.js +34 -0
  253. package/tools/live/get_web_livekit_component_detail.js.map +1 -0
  254. package/tools/room/{get-web-room-integration.js → get_web_room_uikit_integration.js} +13 -14
  255. package/tools/room/get_web_room_uikit_integration.js.map +1 -0
  256. package/tools/room/{get-web-room-feature-detail.js → get_web_roomkit_feature_detail.js} +30 -31
  257. package/tools/room/get_web_roomkit_feature_detail.js.map +1 -0
  258. package/tools/rtcengine/get_web_trtc_sdk_api.js +31 -0
  259. package/tools/rtcengine/get_web_trtc_sdk_api.js.map +1 -0
  260. package/tools/rtcengine/get_web_trtc_sdk_integration.js +31 -0
  261. package/tools/rtcengine/get_web_trtc_sdk_integration.js.map +1 -0
  262. package/tools/rtcengine/get_web_trtc_sdk_plugin.js +31 -0
  263. package/tools/rtcengine/get_web_trtc_sdk_plugin.js.map +1 -0
  264. package/tools/trtc/get_native_trtc_sdk_docs.js +73 -0
  265. package/tools/trtc/get_native_trtc_sdk_docs.js.map +1 -0
  266. package/utils/generate-structured-result.js +61 -17
  267. package/utils/generate-structured-result.js.map +1 -1
  268. package/utils/report-cls-client.js +12 -1
  269. package/utils/report-cls-client.js.map +1 -1
  270. package/utils/report-es-client.js +2 -2
  271. package/resource/doc/chatuikit/android/integration.md +0 -287
  272. package/resource/doc/chatuikit/faq/android_sdk/client-api.md +0 -1371
  273. package/resource/doc/chatuikit/faq/flutter_sdk/client-api.md +0 -932
  274. package/resource/doc/chatuikit/faq/ios_sdk/client-api.md +0 -1119
  275. package/resource/doc/chatuikit/flutter/workflow.md +0 -941
  276. package/resource/doc/chatuikit/iOS/workflow.md +0 -0
  277. package/resource/doc/chatuikit/react/components/conversation-list.md +0 -1017
  278. package/resource/doc/chatuikit/react/components/search.md +0 -745
  279. package/resource/doc/chatuikit/react/create-group.md +0 -23
  280. package/resource/doc/chatuikit/react/init.md +0 -26
  281. package/resource/doc/chatuikit/react/workflow.md +0 -258
  282. package/resource/doc/chatuikit/vue/components/contact-list.md +0 -679
  283. package/resource/doc/chatuikit/vue/create-group.md +0 -25
  284. package/resource/doc/chatuikit/vue/init.md +0 -40
  285. package/resource/doc/chatuikit/vue/workflow.md +0 -395
  286. package/resource/doc/livekit/live/android/workflow.md +0 -320
  287. package/resource/doc/livekit/live/flutter/workflow.md +0 -353
  288. package/resource/doc/livekit/live/ios/workflow.md +0 -454
  289. package/resource/doc/livekit/live/vue/components/barrage.md +0 -616
  290. package/resource/doc/livekit/live/vue/components/stream-mixer.md +0 -446
  291. package/resource/doc/livekit/live/vue/faq.md +0 -0
  292. package/resource/doc/livekit/live/vue/live-list-integration.md +0 -200
  293. package/resource/doc/livekit/live/vue/live-player-desk-integration.md +0 -269
  294. package/resource/doc/livekit/live/vue/live-player-h5-integration.md +0 -269
  295. package/resource/doc/livekit/live/vue/live-pusher-integration.md +0 -595
  296. package/resource/doc/livekit/live/vue/states/live-state.md +0 -3591
  297. package/resource/doc/livekit/live/vue/workflow.md +0 -218
  298. package/resource/doc/native_live/android/V2TXLiveCode_api_android.md +0 -312
  299. package/resource/doc/native_live/android/V2TXLiveDef_api_android.md +0 -430
  300. package/resource/doc/native_live/android/V2TXLivePlayerObserver_api_android.md +0 -679
  301. package/resource/doc/native_live/android/V2TXLivePlayer_api_android.md +0 -671
  302. package/resource/doc/native_live/android/V2TXLivePremier_api_android.md +0 -271
  303. package/resource/doc/native_live/android/V2TXLivePusherObserver_api_android.md +0 -849
  304. package/resource/doc/native_live/android/V2TXLivePusher_api_android.md +0 -1046
  305. package/resource/doc/native_live/flutter/V2TXLiveCode_api_flutter.md +0 -460
  306. package/resource/doc/native_live/flutter/V2TXLiveDef_api_flutter.md +0 -558
  307. package/resource/doc/native_live/flutter/V2TXLivePlayerObserver_api_flutter.md +0 -865
  308. package/resource/doc/native_live/flutter/V2TXLivePlayer_api_flutter.md +0 -657
  309. package/resource/doc/native_live/flutter/V2TXLivePremier_api_flutter.md +0 -437
  310. package/resource/doc/native_live/flutter/V2TXLivePusherObserver_api_flutter.md +0 -335
  311. package/resource/doc/native_live/flutter/V2TXLivePusher_api_flutter.md +0 -748
  312. package/resource/doc/native_live/iOS/V2TXLiveCode_api_iOS.md +0 -327
  313. package/resource/doc/native_live/iOS/V2TXLiveDef_api_iOS.md +0 -507
  314. package/resource/doc/native_live/iOS/V2TXLivePlayerObserver_api_iOS.md +0 -507
  315. package/resource/doc/native_live/iOS/V2TXLivePlayer_api_iOS.md +0 -659
  316. package/resource/doc/native_live/iOS/V2TXLivePremier_api_iOS.md +0 -284
  317. package/resource/doc/native_live/iOS/V2TXLivePusherObserver_api_iOS.md +0 -814
  318. package/resource/doc/native_live/iOS/V2TXLivePusher_api_iOS.md +0 -1000
  319. package/resource/doc/roomkit/vue/features/workflow.md +0 -553
  320. package/resource/doc/roomkit/vue/workflow.md +0 -487
  321. package/resource/doc/tuicallkit/android/integration.md +0 -286
  322. package/resource/doc/tuicallkit/android/workflow.md +0 -0
  323. package/resource/doc/tuicallkit/faq/android_sdk/call-observer-api.md +0 -784
  324. package/resource/doc/tuicallkit/faq/android_sdk/callkit-api.md +0 -610
  325. package/resource/doc/tuicallkit/faq/flutter_sdk/call-define-api.md +0 -938
  326. package/resource/doc/tuicallkit/faq/flutter_sdk/call-observer-api.md +0 -897
  327. package/resource/doc/tuicallkit/faq/flutter_sdk/callkit-api.md +0 -469
  328. package/resource/doc/tuicallkit/faq/ios_sdk/call-observer-api.md +0 -781
  329. package/resource/doc/tuicallkit/faq/ios_sdk/callkit-api.md +0 -398
  330. package/resource/doc/tuicallkit/flutter/workflow.md +0 -331
  331. package/resource/doc/tuicallkit/react/api.md +0 -1404
  332. package/resource/doc/tuicallkit/vue/api.md +0 -1406
  333. package/resource/doc/tuicallkit/vue/faq.md +0 -36
  334. package/tools/call/get-native-call-integration.js +0 -43
  335. package/tools/call/get-native-call-integration.js.map +0 -1
  336. package/tools/call/get-web-call-api.js +0 -27
  337. package/tools/call/get-web-call-api.js.map +0 -1
  338. package/tools/call/get-web-call-integration.js.map +0 -1
  339. package/tools/chat/get-native-chat-feature-detail.js +0 -30
  340. package/tools/chat/get-native-chat-feature-detail.js.map +0 -1
  341. package/tools/chat/get-native-chat-integration.js +0 -45
  342. package/tools/chat/get-native-chat-integration.js.map +0 -1
  343. package/tools/chat/get-web-chat-component-detail.js +0 -31
  344. package/tools/chat/get-web-chat-component-detail.js.map +0 -1
  345. package/tools/chat/get-web-chat-integration.js +0 -45
  346. package/tools/chat/get-web-chat-integration.js.map +0 -1
  347. package/tools/chat/get-web-chat-uikit-init.js +0 -28
  348. package/tools/chat/get-web-chat-uikit-init.js.map +0 -1
  349. package/tools/chat/get-web-create-group-doc.js +0 -28
  350. package/tools/chat/get-web-create-group-doc.js.map +0 -1
  351. package/tools/common/get-faq.js +0 -91
  352. package/tools/common/get-faq.js.map +0 -1
  353. package/tools/common/get-usersig.js.map +0 -1
  354. package/tools/common/present-framework-choice.js +0 -16
  355. package/tools/common/present-framework-choice.js.map +0 -1
  356. package/tools/common/record-prompt.js +0 -55
  357. package/tools/common/record-prompt.js.map +0 -1
  358. package/tools/common/record-result.js +0 -60
  359. package/tools/common/record-result.js.map +0 -1
  360. package/tools/definitions/get_native_chat_feature_detail_def.js +0 -32
  361. package/tools/definitions/get_native_chat_feature_detail_def.js.map +0 -1
  362. package/tools/definitions/get_native_live_api_def.js +0 -23
  363. package/tools/definitions/get_native_live_api_def.js.map +0 -1
  364. package/tools/definitions/get_native_live_uikit_extra_features_def.js +0 -87
  365. package/tools/definitions/get_native_live_uikit_extra_features_def.js.map +0 -1
  366. package/tools/definitions/get_native_live_uikit_integration_def.js +0 -49
  367. package/tools/definitions/get_native_live_uikit_integration_def.js.map +0 -1
  368. package/tools/definitions/get_native_live_uikit_interaction_def.js +0 -74
  369. package/tools/definitions/get_native_live_uikit_interaction_def.js.map +0 -1
  370. package/tools/definitions/get_trtc_native_api_def.js +0 -16
  371. package/tools/definitions/get_trtc_native_api_def.js.map +0 -1
  372. package/tools/definitions/get_web_call_uikit_api_def.js +0 -23
  373. package/tools/definitions/get_web_call_uikit_api_def.js.map +0 -1
  374. package/tools/definitions/get_web_chat_uikit_init_def.js +0 -23
  375. package/tools/definitions/get_web_chat_uikit_init_def.js.map +0 -1
  376. package/tools/definitions/get_web_create_group_doc_def.js +0 -18
  377. package/tools/definitions/get_web_create_group_doc_def.js.map +0 -1
  378. package/tools/definitions/get_web_live_state_detail_def.js +0 -19
  379. package/tools/definitions/get_web_live_state_detail_def.js.map +0 -1
  380. package/tools/definitions/get_web_live_uikit_component_detail_def.js +0 -27
  381. package/tools/definitions/get_web_live_uikit_component_detail_def.js.map +0 -1
  382. package/tools/definitions/get_web_room_feature_detail_def.js +0 -95
  383. package/tools/definitions/get_web_room_feature_detail_def.js.map +0 -1
  384. package/tools/definitions/get_web_room_state_detail_def.js +0 -19
  385. package/tools/definitions/get_web_room_state_detail_def.js.map +0 -1
  386. package/tools/definitions/record_prompt_def.js +0 -53
  387. package/tools/definitions/record_prompt_def.js.map +0 -1
  388. package/tools/definitions/record_result_def.js +0 -30
  389. package/tools/definitions/record_result_def.js.map +0 -1
  390. package/tools/live/get-native-live-uikit-integration.js +0 -101
  391. package/tools/live/get-native-live-uikit-integration.js.map +0 -1
  392. package/tools/live/get-web-live-component-detail.js +0 -31
  393. package/tools/live/get-web-live-component-detail.js.map +0 -1
  394. package/tools/live/get-web-live-state-detail.js +0 -31
  395. package/tools/live/get-web-live-state-detail.js.map +0 -1
  396. package/tools/live/get-web-live-uikit-integration.js +0 -52
  397. package/tools/live/get-web-live-uikit-integration.js.map +0 -1
  398. package/tools/live/get_native_live_uikit_extra_features.js +0 -105
  399. package/tools/live/get_native_live_uikit_extra_features.js.map +0 -1
  400. package/tools/live/get_native_live_uikit_interaction.js +0 -101
  401. package/tools/live/get_native_live_uikit_interaction.js.map +0 -1
  402. package/tools/native_live/get-native-live-api.js +0 -31
  403. package/tools/native_live/get-native-live-api.js.map +0 -1
  404. package/tools/room/get-web-room-feature-detail.js.map +0 -1
  405. package/tools/room/get-web-room-integration.js.map +0 -1
  406. package/tools/rtcengine/get-rtcengine-web-sdk-integration.js +0 -28
  407. package/tools/rtcengine/get-rtcengine-web-sdk-integration.js.map +0 -1
  408. package/tools/rtcengine/get-trtc-sdk-faq.js +0 -32
  409. package/tools/rtcengine/get-trtc-sdk-faq.js.map +0 -1
  410. package/tools/rtcengine/get-trtc-web-sdk-api.js +0 -28
  411. package/tools/rtcengine/get-trtc-web-sdk-api.js.map +0 -1
  412. package/tools/rtcengine/get-trtc-web-sdk-faq.js +0 -30
  413. package/tools/rtcengine/get-trtc-web-sdk-faq.js.map +0 -1
  414. package/tools/rtcengine/get-trtc-web-sdk-integration.js +0 -29
  415. package/tools/rtcengine/get-trtc-web-sdk-integration.js.map +0 -1
  416. package/tools/rtcengine/get-trtc-web-sdk-plugin.js +0 -45
  417. package/tools/rtcengine/get-trtc-web-sdk-plugin.js.map +0 -1
  418. package/tools/trtc/get-trtc-native-api.js +0 -31
  419. package/tools/trtc/get-trtc-native-api.js.map +0 -1
  420. package/utils/handle-component-name.js +0 -33
  421. package/utils/handle-component-name.js.map +0 -1
  422. /package/resource/doc/{chatuikit/android/workflow.md → callkit/core-sdk/.gitkeep} +0 -0
  423. /package/resource/doc/{tuicallkit/faq/common/error_code.md → callkit/faq/common/error-code.md} +0 -0
  424. /package/resource/doc/{tuicallkit/react/faq.md → callkit/faq/web-faq.md} +0 -0
  425. /package/resource/doc/{chatuikit → chatkit}/faq/common/server_error_code.md +0 -0
  426. /package/resource/doc/{chatuikit → chatkit}/faq/web_sdk/error_code.md +0 -0
  427. /package/resource/doc/{chatuikit → chatkit}/flutter/faq.md +0 -0
  428. /package/resource/doc/{chatuikit → chatkit}/react/faq.md +0 -0
  429. /package/resource/doc/roomkit/faq/common/{error_code.md → error-code.md} +0 -0
@@ -2,944 +2,269 @@
2
2
  ## Overview
3
3
  `TRTCCloud.h` is the API reference for TRTC Real-Time Communication (TRTC SDK) on iOS. It provides detailed documentation for features including stream publishing, stream playback, stream mixing, and recording.
4
4
 
5
-
6
5
  ## TRTCCloud
7
- <table>
8
- <tr>
9
- <td rowspan="1" colSpan="1" >Function List</td>
10
-
11
- <td rowspan="1" colSpan="1" >Description</td>
12
- </tr>
13
-
14
- <tr>
15
- <td rowspan="1" colSpan="1" >[sharedInstance](https://write.woa.com/document/87029727163494400)</td>
16
-
17
- <td rowspan="1" colSpan="1" >Create a `TRTCCloud` Instance (Singleton Pattern)</td>
18
- </tr>
19
-
20
- <tr>
21
- <td rowspan="1" colSpan="1" >[destroySharedInstance](https://write.woa.com/document/87029727163494400)</td>
22
-
23
- <td rowspan="1" colSpan="1" >Terminate `TRTCCloud` Instance (Singleton Pattern)</td>
24
- </tr>
25
-
26
- <tr>
27
- <td rowspan="1" colSpan="1" >[addDelegate:](https://write.woa.com/document/87029727163494400)</td>
28
-
29
- <td rowspan="1" colSpan="1" >Add TRTC Event Callback</td>
30
- </tr>
31
-
32
- <tr>
33
- <td rowspan="1" colSpan="1" >[removeDelegate:](https://write.woa.com/document/87029727163494400)</td>
34
-
35
- <td rowspan="1" colSpan="1" >Remove TRTC Event Callback</td>
36
- </tr>
37
-
38
- <tr>
39
- <td rowspan="1" colSpan="1" >[delegateQueue](https://write.woa.com/document/87029727163494400)</td>
40
-
41
- <td rowspan="1" colSpan="1" >Set the Queue for Driving TRTCCloudDelegate Event Callback</td>
42
- </tr>
43
-
44
- <tr>
45
- <td rowspan="1" colSpan="1" >[enterRoom:appScene:](https://write.woa.com/document/87029727163494400)</td>
46
-
47
- <td rowspan="1" colSpan="1" >Enter Room</td>
48
- </tr>
49
-
50
- <tr>
51
- <td rowspan="1" colSpan="1" >[exitRoom](https://write.woa.com/document/87029727163494400)</td>
52
-
53
- <td rowspan="1" colSpan="1" >Leave Room</td>
54
- </tr>
55
-
56
- <tr>
57
- <td rowspan="1" colSpan="1" >[switchRole:](https://write.woa.com/document/87029727163494400)</td>
58
-
59
- <td rowspan="1" colSpan="1" >Switch Role</td>
60
- </tr>
61
-
62
- <tr>
63
- <td rowspan="1" colSpan="1" >[switchRole:privateMapKey:](https://write.woa.com/document/87029727163494400)</td>
64
-
65
- <td rowspan="1" colSpan="1" >Switch Role (Supports Setting Permission Bit)</td>
66
- </tr>
67
-
68
- <tr>
69
- <td rowspan="1" colSpan="1" >[switchRoom:](https://write.woa.com/document/87029727163494400)</td>
70
-
71
- <td rowspan="1" colSpan="1" >Switch Room</td>
72
- </tr>
73
-
74
- <tr>
75
- <td rowspan="1" colSpan="1" >[connectOtherRoom:](https://write.woa.com/document/87029727163494400)</td>
76
-
77
- <td rowspan="1" colSpan="1" >Request Cross-room Communication</td>
78
- </tr>
79
-
80
- <tr>
81
- <td rowspan="1" colSpan="1" >[disconnectOtherRoom](https://write.woa.com/document/87029727163494400)</td>
82
-
83
- <td rowspan="1" colSpan="1" >Exit Cross-room Communication</td>
84
- </tr>
85
-
86
- <tr>
87
- <td rowspan="1" colSpan="1" >[setDefaultStreamRecvMode:video:](https://write.woa.com/document/87029727163494400)</td>
88
-
89
- <td rowspan="1" colSpan="1" >Set Subscription Mode (Needs to be set before entering the room to take effect)</td>
90
- </tr>
91
-
92
- <tr>
93
- <td rowspan="1" colSpan="1" >[createSubCloud](https://write.woa.com/document/87029727163494400)</td>
94
-
95
- <td rowspan="1" colSpan="1" >Create Sub-room Instances (For Multi-room Concurrent Viewing)</td>
96
- </tr>
97
-
98
- <tr>
99
- <td rowspan="1" colSpan="1" >[destroySubCloud:](https://write.woa.com/document/87029727163494400)</td>
100
-
101
- <td rowspan="1" colSpan="1" >Terminate Sub-room Instances</td>
102
- </tr>
103
-
104
- <tr>
105
- <td rowspan="1" colSpan="1" >[updateOtherRoomForwardMode:](https://write.woa.com/document/87029727163494400)</td>
106
-
107
- <td rowspan="1" colSpan="1" >Modify the uplink capability of cross-room broadcasters in this room</td>
108
- </tr>
109
-
110
- <tr>
111
- <td rowspan="1" colSpan="1" >[startPublishMediaStream:encoderParam:mixingConfig:](https://write.woa.com/document/87029727163494400)</td>
112
-
113
- <td rowspan="1" colSpan="1" >Start publishing media stream</td>
114
- </tr>
115
-
116
- <tr>
117
- <td rowspan="1" colSpan="1" >[updatePublishMediaStream:publishTarget:encoderParam:mixingConfig:](https://write.woa.com/document/87029727163494400)</td>
118
-
119
- <td rowspan="1" colSpan="1" >Update the published media stream.</td>
120
- </tr>
121
-
122
- <tr>
123
- <td rowspan="1" colSpan="1" >[stopPublishMediaStream:](https://write.woa.com/document/87029727163494400)</td>
124
-
125
- <td rowspan="1" colSpan="1" >Stop publishing media stream.</td>
126
- </tr>
127
-
128
- <tr>
129
- <td rowspan="1" colSpan="1" >[startLocalPreview:view:](https://write.woa.com/document/87029727163494400)</td>
130
-
131
- <td rowspan="1" colSpan="1" >Enable the preview screen of the local camera (Mobile Terminal)</td>
132
- </tr>
133
-
134
- <tr>
135
- <td rowspan="1" colSpan="1" >[startLocalPreview:](https://write.woa.com/document/87029727163494400)</td>
136
-
137
- <td rowspan="1" colSpan="1" >Enable the preview screen of the local camera (Desktop Terminal)</td>
138
- </tr>
139
-
140
- <tr>
141
- <td rowspan="1" colSpan="1" >[updateLocalView:](https://write.woa.com/document/87029727163494400)</td>
142
-
143
- <td rowspan="1" colSpan="1" >Update the preview screen of the local camera</td>
144
- </tr>
145
-
146
- <tr>
147
- <td rowspan="1" colSpan="1" >[stopLocalPreview](https://write.woa.com/document/87029727163494400)</td>
148
-
149
- <td rowspan="1" colSpan="1" >Stop camera preview</td>
150
- </tr>
151
-
152
- <tr>
153
- <td rowspan="1" colSpan="1" >[muteLocalVideo:mute:](https://write.woa.com/document/87029727163494400)</td>
154
-
155
- <td rowspan="1" colSpan="1" >Suspend/Resume publishing local video stream</td>
156
- </tr>
157
-
158
- <tr>
159
- <td rowspan="1" colSpan="1" >[setVideoMuteImage:fps:](https://write.woa.com/document/87029727163494400)</td>
160
-
161
- <td rowspan="1" colSpan="1" >Set the alternative image during the suspension of the local screen</td>
162
- </tr>
163
-
164
- <tr>
165
- <td rowspan="1" colSpan="1" >[startRemoteView:streamType:view:](https://write.woa.com/document/87029727163494400)</td>
166
-
167
- <td rowspan="1" colSpan="1" >Subscribe to the video stream of a remote user and bind the video rendering control</td>
168
- </tr>
169
-
170
- <tr>
171
- <td rowspan="1" colSpan="1" >[updateRemoteView:streamType:forUser:](https://write.woa.com/document/87029727163494400)</td>
172
-
173
- <td rowspan="1" colSpan="1" >Update the video rendering control of a remote user</td>
174
- </tr>
175
-
176
- <tr>
177
- <td rowspan="1" colSpan="1" >[stopRemoteView:streamType:](https://write.woa.com/document/87029727163494400)</td>
178
-
179
- <td rowspan="1" colSpan="1" >Unsubscribe from the remote user's video stream and release the rendering control</td>
180
- </tr>
181
-
182
- <tr>
183
- <td rowspan="1" colSpan="1" >[stopAllRemoteView](https://write.woa.com/document/87029727163494400)</td>
184
-
185
- <td rowspan="1" colSpan="1" >Unsubscribe from all remote users' video streams and release all rendering resources</td>
186
- </tr>
187
-
188
- <tr>
189
- <td rowspan="1" colSpan="1" >[muteRemoteVideoStream:streamType:mute:](https://write.woa.com/document/87029727163494400)</td>
190
-
191
- <td rowspan="1" colSpan="1" >Suspend/Resume subscription of the remote user's video stream</td>
192
- </tr>
193
-
194
- <tr>
195
- <td rowspan="1" colSpan="1" >[muteAllRemoteVideoStreams:](https://write.woa.com/document/87029727163494400)</td>
196
-
197
- <td rowspan="1" colSpan="1" >Suspend/Resume subscription of all remote users' video streams</td>
198
- </tr>
199
-
200
- <tr>
201
- <td rowspan="1" colSpan="1" >[setVideoEncoderParam:](https://write.woa.com/document/87029727163494400)</td>
202
-
203
- <td rowspan="1" colSpan="1" >Set encoding parameters for the video encoder</td>
204
- </tr>
205
-
206
- <tr>
207
- <td rowspan="1" colSpan="1" >[setNetworkQosParam:](https://write.woa.com/document/87029727163494400)</td>
208
-
209
- <td rowspan="1" colSpan="1" >Set network quality control parameters</td>
210
- </tr>
211
-
212
- <tr>
213
- <td rowspan="1" colSpan="1" >[setLocalRenderParams:](https://write.woa.com/document/87029727163494400)</td>
214
-
215
- <td rowspan="1" colSpan="1" >Set rendering parameters for the local screen</td>
216
- </tr>
217
-
218
- <tr>
219
- <td rowspan="1" colSpan="1" >[setRemoteRenderParams:streamType:params:](https://write.woa.com/document/87029727163494400)</td>
220
-
221
- <td rowspan="1" colSpan="1" >Set rendering mode for the remote screen</td>
222
- </tr>
223
-
224
- <tr>
225
- <td rowspan="1" colSpan="1" >[enableEncSmallVideoStream:withQuality:](https://write.woa.com/document/87029727163494400)</td>
226
-
227
- <td rowspan="1" colSpan="1" >Enable picture-in-picture dual-stream encoding mode</td>
228
- </tr>
229
-
230
- <tr>
231
- <td rowspan="1" colSpan="1" >[setRemoteVideoStreamType:type:](https://write.woa.com/document/87029727163494400)</td>
232
-
233
- <td rowspan="1" colSpan="1" >Switch picture-in-picture for the specified remote user</td>
234
- </tr>
235
-
236
- <tr>
237
- <td rowspan="1" colSpan="1" >[snapshotVideo:type:sourceType:](https://write.woa.com/document/87029727163494400)</td>
238
-
239
- <td rowspan="1" colSpan="1" >Take a video screenshot</td>
240
- </tr>
241
-
242
- <tr>
243
- <td rowspan="1" colSpan="1" >[setPerspectiveCorrectionWithUser:srcPoints:dstPoints:](https://write.woa.com/document/87029727163494400)</td>
244
-
245
- <td rowspan="1" colSpan="1" >Set perspective correction coordinate settings for the video screen</td>
246
- </tr>
247
-
248
- <tr>
249
- <td rowspan="1" colSpan="1" >[setGravitySensorAdaptiveMode:](https://write.woa.com/document/87029727163494400)</td>
250
-
251
- <td rowspan="1" colSpan="1" >Set gravity sensing adaptive mode (11.7 and above)</td>
252
- </tr>
253
-
254
- <tr>
255
- <td rowspan="1" colSpan="1" >[startLocalAudio:](https://write.woa.com/document/87029727163494400)</td>
256
-
257
- <td rowspan="1" colSpan="1" >Enable collection and publishing of local audio</td>
258
- </tr>
259
-
260
- <tr>
261
- <td rowspan="1" colSpan="1" >[stopLocalAudio](https://write.woa.com/document/87029727163494400)</td>
262
-
263
- <td rowspan="1" colSpan="1" >Stop collection and publishing of local audio</td>
264
- </tr>
265
-
266
- <tr>
267
- <td rowspan="1" colSpan="1" >[muteLocalAudio:](https://write.woa.com/document/87029727163494400)</td>
268
-
269
- <td rowspan="1" colSpan="1" >Pause/Resume publishing of the local audio stream</td>
270
- </tr>
271
-
272
- <tr>
273
- <td rowspan="1" colSpan="1" >[muteRemoteAudio:mute:](https://write.woa.com/document/87029727163494400)</td>
274
-
275
- <td rowspan="1" colSpan="1" >Pause/Resume playing of the remote audio stream</td>
276
- </tr>
277
-
278
- <tr>
279
- <td rowspan="1" colSpan="1" >[muteAllRemoteAudio:](https://write.woa.com/document/87029727163494400)</td>
280
-
281
- <td rowspan="1" colSpan="1" >Pause/Resume playing of all remote users' audio streams</td>
282
- </tr>
283
-
284
- <tr>
285
- <td rowspan="1" colSpan="1" >[setAudioRoute:](https://write.woa.com/document/87029727163494400)</td>
286
-
287
- <td rowspan="1" colSpan="1" >Sets audio routing.</td>
288
- </tr>
289
-
290
- <tr>
291
- <td rowspan="1" colSpan="1" >[setRemoteAudioVolume:volume:](https://write.woa.com/document/87029727163494400)</td>
292
-
293
- <td rowspan="1" colSpan="1" >Set the playback volume for a specific remote user</td>
294
- </tr>
295
-
296
- <tr>
297
- <td rowspan="1" colSpan="1" >[setAudioCaptureVolume:](https://write.woa.com/document/87029727163494400)</td>
298
-
299
- <td rowspan="1" colSpan="1" >Sets the local audio capture volume.</td>
300
- </tr>
301
-
302
- <tr>
303
- <td rowspan="1" colSpan="1" >[getAudioCaptureVolume](https://write.woa.com/document/87029727163494400)</td>
304
-
305
- <td rowspan="1" colSpan="1" >Obtains the local audio capture volume.</td>
306
- </tr>
307
-
308
- <tr>
309
- <td rowspan="1" colSpan="1" >[setAudioPlayoutVolume:](https://write.woa.com/document/87029727163494400)</td>
310
-
311
- <td rowspan="1" colSpan="1" >Sets the remote audio playback volume.</td>
312
- </tr>
313
-
314
- <tr>
315
- <td rowspan="1" colSpan="1" >[getAudioPlayoutVolume](https://write.woa.com/document/87029727163494400)</td>
316
-
317
- <td rowspan="1" colSpan="1" >Obtains the remote audio playback volume.</td>
318
- </tr>
319
-
320
- <tr>
321
- <td rowspan="1" colSpan="1" >[enableAudioVolumeEvaluation:withParams:](https://write.woa.com/document/87029727163494400)</td>
322
-
323
- <td rowspan="1" colSpan="1" >Enable volume reminder</td>
324
- </tr>
325
-
326
- <tr>
327
- <td rowspan="1" colSpan="1" >[startAudioRecording:](https://write.woa.com/document/87029727163494400)</td>
328
-
329
- <td rowspan="1" colSpan="1" >Start recording</td>
330
- </tr>
331
-
332
- <tr>
333
- <td rowspan="1" colSpan="1" >[stopAudioRecording](https://write.woa.com/document/87029727163494400)</td>
334
-
335
- <td rowspan="1" colSpan="1" >Stop recording</td>
336
- </tr>
337
-
338
- <tr>
339
- <td rowspan="1" colSpan="1" >[startLocalRecording:](https://write.woa.com/document/87029727163494400)</td>
340
-
341
- <td rowspan="1" colSpan="1" >Enable local media recording</td>
342
- </tr>
343
-
344
- <tr>
345
- <td rowspan="1" colSpan="1" >[stopLocalRecording](https://write.woa.com/document/87029727163494400)</td>
346
-
347
- <td rowspan="1" colSpan="1" >Stop local media recording</td>
348
- </tr>
349
-
350
- <tr>
351
- <td rowspan="1" colSpan="1" >[setRemoteAudioParallelParams:](https://write.woa.com/document/87029727163494400)</td>
352
-
353
- <td rowspan="1" colSpan="1" >Set intelligent concurrent playback strategy for remote audio streams</td>
354
- </tr>
355
-
356
- <tr>
357
- <td rowspan="1" colSpan="1" >[enable3DSpatialAudioEffect:](https://write.woa.com/document/87029727163494400)</td>
358
-
359
- <td rowspan="1" colSpan="1" >Enable 3D audio</td>
360
- </tr>
361
-
362
- <tr>
363
- <td rowspan="1" colSpan="1" >[updateSelf3DSpatialPosition](https://write.woa.com/document/87029727163494400)</td>
364
-
365
- <td rowspan="1" colSpan="1" >Set self coordinates and orientation information in 3D audio</td>
366
- </tr>
367
-
368
- <tr>
369
- <td rowspan="1" colSpan="1" >[updateRemote3DSpatialPosition:](https://write.woa.com/document/87029727163494400)</td>
370
-
371
- <td rowspan="1" colSpan="1" >Set remote user coordinate information in 3D audio</td>
372
- </tr>
373
-
374
- <tr>
375
- <td rowspan="1" colSpan="1" >[set3DSpatialReceivingRange:range:](https://write.woa.com/document/87029727163494400)</td>
376
-
377
- <td rowspan="1" colSpan="1" >Set the receivable range of sounds emitted by a specified user</td>
378
- </tr>
379
-
380
- <tr>
381
- <td rowspan="1" colSpan="1" >[getDeviceManager](https://write.woa.com/document/87029727163494400)</td>
382
-
383
- <td rowspan="1" colSpan="1" >Get Device Management Class (TXDeviceManager)</td>
384
- </tr>
385
-
386
- <tr>
387
- <td rowspan="1" colSpan="1" >[getBeautyManager](https://write.woa.com/document/87029727163494400)</td>
388
-
389
- <td rowspan="1" colSpan="1" >Get Beauty Management Class (TXBeautyManager)</td>
390
- </tr>
391
-
392
- <tr>
393
- <td rowspan="1" colSpan="1" >[setWatermark:streamType:rect:](https://write.woa.com/document/87029727163494400)</td>
394
-
395
- <td rowspan="1" colSpan="1" >Watermarking</td>
396
- </tr>
397
-
398
- <tr>
399
- <td rowspan="1" colSpan="1" >[getAudioEffectManager](https://write.woa.com/document/87029727163494400)</td>
400
-
401
- <td rowspan="1" colSpan="1" >Get Audio Effect Management Class (TXAudioEffectManager)</td>
402
- </tr>
403
-
404
- <tr>
405
- <td rowspan="1" colSpan="1" >[startSystemAudioLoopback](https://write.woa.com/document/87029727163494400)</td>
406
-
407
- <td rowspan="1" colSpan="1" >Enable System Sound Capture (iOS not yet supported)</td>
408
- </tr>
409
-
410
- <tr>
411
- <td rowspan="1" colSpan="1" >[stopSystemAudioLoopback](https://write.woa.com/document/87029727163494400)</td>
412
-
413
- <td rowspan="1" colSpan="1" >Stop System Sound Capture (iOS not yet supported)</td>
414
- </tr>
415
-
416
- <tr>
417
- <td rowspan="1" colSpan="1" >[setSystemAudioLoopbackVolume:](https://write.woa.com/document/87029727163494400)</td>
418
-
419
- <td rowspan="1" colSpan="1" >Sets the Volume of System Sound Capture</td>
420
- </tr>
421
-
422
- <tr>
423
- <td rowspan="1" colSpan="1" >[startScreenCaptureInApp:encParam:](https://write.woa.com/document/87029727163494400)</td>
424
-
425
- <td rowspan="1" colSpan="1" >Start In-App Screen Sharing (Supports only iOS 13.0 and above)</td>
426
- </tr>
427
-
428
- <tr>
429
- <td rowspan="1" colSpan="1" >[startScreenCaptureByReplaykit:encParam:appGroup:](https://write.woa.com/document/87029727163494400)</td>
430
-
431
- <td rowspan="1" colSpan="1" >Start Full-System Screen Sharing (Supports only iOS 11.0 and above)</td>
432
- </tr>
433
-
434
- <tr>
435
- <td rowspan="1" colSpan="1" >[startScreenCapture:streamType:encParam:](https://write.woa.com/document/87029727163494400)</td>
436
-
437
- <td rowspan="1" colSpan="1" >Start Screen Sharing</td>
438
- </tr>
439
-
440
- <tr>
441
- <td rowspan="1" colSpan="1" >[stopScreenCapture](https://write.woa.com/document/87029727163494400)</td>
442
-
443
- <td rowspan="1" colSpan="1" >Stopping Screen Sharing</td>
444
- </tr>
445
-
446
- <tr>
447
- <td rowspan="1" colSpan="1" >[pauseScreenCapture](https://write.woa.com/document/87029727163494400)</td>
448
-
449
- <td rowspan="1" colSpan="1" >Pause Screen Sharing</td>
450
- </tr>
451
-
452
- <tr>
453
- <td rowspan="1" colSpan="1" >[resumeScreenCapture](https://write.woa.com/document/87029727163494400)</td>
454
-
455
- <td rowspan="1" colSpan="1" >Resume Screen Sharing</td>
456
- </tr>
457
-
458
- <tr>
459
- <td rowspan="1" colSpan="1" >[getScreenCaptureSourcesWithThumbnailSize:iconSize:](https://write.woa.com/document/87029727163494400)</td>
460
-
461
- <td rowspan="1" colSpan="1" >Enumerate Shareable Screens and Windows (This Interface Supports Only Mac OS)</td>
462
- </tr>
463
-
464
- <tr>
465
- <td rowspan="1" colSpan="1" >[selectScreenCaptureTarget:rect:capturesCursor:highlight:](https://write.woa.com/document/87029727163494400)</td>
466
-
467
- <td rowspan="1" colSpan="1" >Select Screen or Window to Share (This Interface Supports Only Mac OS)</td>
468
- </tr>
469
-
470
- <tr>
471
- <td rowspan="1" colSpan="1" >[setSubStreamEncoderParam:](https://write.woa.com/document/87029727163494400)</td>
472
-
473
- <td rowspan="1" colSpan="1" >Set Video Encoding Parameters for Screen Sharing (Sub-Stream) (Supported on Both Desktop and Mobile Systems)</td>
474
- </tr>
475
-
476
- <tr>
477
- <td rowspan="1" colSpan="1" >[setSubStreamMixVolume:](https://write.woa.com/document/87029727163494400)</td>
478
-
479
- <td rowspan="1" colSpan="1" >Set the Mixing Volume for Screen Sharing (This Interface Supports Only Desktop Systems)</td>
480
- </tr>
481
-
482
- <tr>
483
- <td rowspan="1" colSpan="1" >[addExcludedShareWindow:](https://write.woa.com/document/87029727163494400)</td>
484
-
485
- <td rowspan="1" colSpan="1" >Add the Specified Window to the Exclusion List of Screen Sharing (This Interface Supports Only Desktop Systems)</td>
486
- </tr>
487
-
488
- <tr>
489
- <td rowspan="1" colSpan="1" >[removeExcludedShareWindow:](https://write.woa.com/document/87029727163494400)</td>
490
-
491
- <td rowspan="1" colSpan="1" >Remove the Specified Window from the Exclusion List of Screen Sharing (This Interface Supports Only Desktop Systems)</td>
492
- </tr>
493
-
494
- <tr>
495
- <td rowspan="1" colSpan="1" >[removeAllExcludedShareWindows](https://write.woa.com/document/87029727163494400)</td>
496
-
497
- <td rowspan="1" colSpan="1" >Remove All Windows from the Exclusion List of Screen Sharing (This Interface Supports Only Desktop Systems)</td>
498
- </tr>
499
-
500
- <tr>
501
- <td rowspan="1" colSpan="1" >[addIncludedShareWindow:](https://write.woa.com/document/87029727163494400)</td>
502
-
503
- <td rowspan="1" colSpan="1" >Add the Specified Window to the Contains List of Screen Sharing (This Interface Supports Only Desktop Systems)</td>
504
- </tr>
505
-
506
- <tr>
507
- <td rowspan="1" colSpan="1" >[removeIncludedShareWindow:](https://write.woa.com/document/87029727163494400)</td>
508
-
509
- <td rowspan="1" colSpan="1" >Remove the Specified Window from the Contains List of Screen Sharing (This Interface Supports Only Desktop Systems)</td>
510
- </tr>
511
-
512
- <tr>
513
- <td rowspan="1" colSpan="1" >[removeAllIncludedShareWindows](https://write.woa.com/document/87029727163494400)</td>
514
-
515
- <td rowspan="1" colSpan="1" >Remove All Windows from the Contains List of Screen Sharing (This Interface Supports Only Desktop Systems)</td>
516
- </tr>
517
-
518
- <tr>
519
- <td rowspan="1" colSpan="1" >[enableCustomVideoCapture:enable:](https://write.woa.com/document/87029727163494400)</td>
520
-
521
- <td rowspan="1" colSpan="1" >Enable/Disable Custom Video Capturing Mode</td>
522
- </tr>
523
-
524
- <tr>
525
- <td rowspan="1" colSpan="1" >[sendCustomVideoData:frame:](https://write.woa.com/document/87029727163494400)</td>
526
-
527
- <td rowspan="1" colSpan="1" >Submit Self-collected Video Frames to the SDK</td>
528
- </tr>
529
-
530
- <tr>
531
- <td rowspan="1" colSpan="1" >[enableCustomAudioCapture:](https://write.woa.com/document/87029727163494400)</td>
532
-
533
- <td rowspan="1" colSpan="1" >Enable Custom Audio Capturing Mode</td>
534
- </tr>
535
-
536
- <tr>
537
- <td rowspan="1" colSpan="1" >[sendCustomAudioData:](https://write.woa.com/document/87029727163494400)</td>
538
-
539
- <td rowspan="1" colSpan="1" >Submit Self-collected Audio Data to the SDK</td>
540
- </tr>
541
-
542
- <tr>
543
- <td rowspan="1" colSpan="1" >[enableMixExternalAudioFrame:playout:](https://write.woa.com/document/87029727163494400)</td>
544
-
545
- <td rowspan="1" colSpan="1" >Enable/Disable Custom Audio Track</td>
546
- </tr>
547
-
548
- <tr>
549
- <td rowspan="1" colSpan="1" >[mixExternalAudioFrame:](https://write.woa.com/document/87029727163494400)</td>
550
-
551
- <td rowspan="1" colSpan="1" >Mix Custom Audio Track into the SDK</td>
552
- </tr>
553
-
554
- <tr>
555
- <td rowspan="1" colSpan="1" >[setMixExternalAudioVolume:playoutVolume:](https://write.woa.com/document/87029727163494400)</td>
556
-
557
- <td rowspan="1" colSpan="1" >Set the Streaming Volume and Playback Volume for External Audio Mixed During Streaming</td>
558
- </tr>
559
-
560
- <tr>
561
- <td rowspan="1" colSpan="1" >[generateCustomPTS](https://write.woa.com/document/87029727163494400)</td>
562
-
563
- <td rowspan="1" colSpan="1" >Generate Timestamp for Custom Capturing</td>
564
- </tr>
565
-
566
- <tr>
567
- <td rowspan="1" colSpan="1" >[setLocalVideoProcessDelegete:pixelFormat:bufferType:](https://write.woa.com/document/87029727163494400)</td>
568
-
569
- <td rowspan="1" colSpan="1" >Set Video Data Callback for Third-party Beauty Filter</td>
570
- </tr>
571
-
572
- <tr>
573
- <td rowspan="1" colSpan="1" >[setLocalVideoRenderDelegate:pixelFormat:bufferType:](https://write.woa.com/document/87029727163494400)</td>
574
-
575
- <td rowspan="1" colSpan="1" >Set Local Video Custom Rendering Callback</td>
576
- </tr>
577
-
578
- <tr>
579
- <td rowspan="1" colSpan="1" >[setRemoteVideoRenderDelegate:delegate:pixelFormat:bufferType:](https://write.woa.com/document/87029727163494400)</td>
580
-
581
- <td rowspan="1" colSpan="1" >Sets the rendering callback for remote video self-definition</td>
582
- </tr>
583
-
584
- <tr>
585
- <td rowspan="1" colSpan="1" >[setAudioFrameDelegate:](https://write.woa.com/document/87029727163494400)</td>
586
-
587
- <td rowspan="1" colSpan="1" >Sets the audio data self-definition callback</td>
588
- </tr>
589
-
590
- <tr>
591
- <td rowspan="1" colSpan="1" >[setCapturedAudioFrameDelegateFormat:](https://write.woa.com/document/87029727163494400)</td>
592
-
593
- <td rowspan="1" colSpan="1" >Sets the callback format for audio frames captured by the local microphone</td>
594
- </tr>
595
-
596
- <tr>
597
- <td rowspan="1" colSpan="1" >[setLocalProcessedAudioFrameDelegateFormat:](https://write.woa.com/document/87029727163494400)</td>
598
-
599
- <td rowspan="1" colSpan="1" >Sets the callback format for local audio frames after preprocessing</td>
600
- </tr>
601
-
602
- <tr>
603
- <td rowspan="1" colSpan="1" >[setMixedPlayAudioFrameDelegateFormat:](https://write.woa.com/document/87029727163494400)</td>
604
-
605
- <td rowspan="1" colSpan="1" >Sets the callback format for audio frames that will eventually be played by the system</td>
606
- </tr>
607
-
608
- <tr>
609
- <td rowspan="1" colSpan="1" >[enableCustomAudioRendering:](https://write.woa.com/document/87029727163494400)</td>
610
-
611
- <td rowspan="1" colSpan="1" >Enable self-definition audio playback</td>
612
- </tr>
613
-
614
- <tr>
615
- <td rowspan="1" colSpan="1" >[getCustomAudioRenderingFrame:](https://write.woa.com/document/87029727163494400)</td>
616
-
617
- <td rowspan="1" colSpan="1" >Get playable audio data</td>
618
- </tr>
619
-
620
- <tr>
621
- <td rowspan="1" colSpan="1" >[sendCustomCmdMsg:data:reliable:ordered:](https://write.woa.com/document/87029727163494400)</td>
622
-
623
- <td rowspan="1" colSpan="1" >Sends a custom message using UDP channel to all users in a room</td>
624
- </tr>
625
-
626
- <tr>
627
- <td rowspan="1" colSpan="1" >[sendSEIMsg:repeatCount:](https://write.woa.com/document/87029727163494400)</td>
628
-
629
- <td rowspan="1" colSpan="1" >Sends a custom message using SEI channel to all users in a room</td>
630
- </tr>
631
-
632
- <tr>
633
- <td rowspan="1" colSpan="1" >[startSpeedTest:](https://write.woa.com/document/87029727163494400)</td>
634
-
635
- <td rowspan="1" colSpan="1" >Start internet speed test (use before entering the room)</td>
636
- </tr>
637
-
638
- <tr>
639
- <td rowspan="1" colSpan="1" >[stopSpeedTest](https://write.woa.com/document/87029727163494400)</td>
640
-
641
- <td rowspan="1" colSpan="1" >Stops network speed testing</td>
642
- </tr>
643
-
644
- <tr>
645
- <td rowspan="1" colSpan="1" >[getSDKVersion](https://write.woa.com/document/87029727163494400)</td>
646
-
647
- <td rowspan="1" colSpan="1" >Obtains the SDK version.</td>
648
- </tr>
649
-
650
- <tr>
651
- <td rowspan="1" colSpan="1" >[setLogLevel:](https://write.woa.com/document/87029727163494400)</td>
652
-
653
- <td rowspan="1" colSpan="1" >Sets the log output level.</td>
654
- </tr>
655
-
656
- <tr>
657
- <td rowspan="1" colSpan="1" >[setConsoleEnabled:](https://write.woa.com/document/87029727163494400)</td>
658
-
659
- <td rowspan="1" colSpan="1" >Enables/Disables console log print.</td>
660
- </tr>
661
-
662
- <tr>
663
- <td rowspan="1" colSpan="1" >[setLogCompressEnabled:](https://write.woa.com/document/87029727163494400)</td>
664
-
665
- <td rowspan="1" colSpan="1" >Enables/Disables local log compression</td>
666
- </tr>
667
-
668
- <tr>
669
- <td rowspan="1" colSpan="1" >[setLogDirPath:](https://write.woa.com/document/87029727163494400)</td>
670
-
671
- <td rowspan="1" colSpan="1" >Sets the save path for local logs</td>
672
- </tr>
673
-
674
- <tr>
675
- <td rowspan="1" colSpan="1" >[setLogDelegate:](https://write.woa.com/document/87029727163494400)</td>
676
-
677
- <td rowspan="1" colSpan="1" >Log callback</td>
678
- </tr>
679
-
680
- <tr>
681
- <td rowspan="1" colSpan="1" >[showDebugView:](https://write.woa.com/document/87029727163494400)</td>
682
-
683
- <td rowspan="1" colSpan="1" >Show Dashboard</td>
684
- </tr>
685
-
686
- <tr>
687
- <td rowspan="1" colSpan="1" >[setDebugViewMargin:margin:](https://write.woa.com/document/87029727163494400)</td>
688
-
689
- <td rowspan="1" colSpan="1" >Set the dashboard margin</td>
690
- </tr>
691
-
692
- <tr>
693
- <td rowspan="1" colSpan="1" >[callExperimentalAPI:](https://write.woa.com/document/87029727163494400)</td>
694
-
695
- <td rowspan="1" colSpan="1" >Calls an experimental API.</td>
696
- </tr>
697
-
698
- <tr>
699
- <td rowspan="1" colSpan="1" >[enablePayloadPrivateEncryption:params:](https://write.woa.com/document/87029727163494400)</td>
700
-
701
- <td rowspan="1" colSpan="1" >Enable or disable media stream private encryption</td>
702
- </tr>
703
- </table>
704
-
6
+ | Function List | Description |
7
+ | --- | --- |
8
+ | sharedInstance | Create a `TRTCCloud` Instance (Singleton Pattern) |
9
+ | destroySharedInstance | Terminate `TRTCCloud` Instance (Singleton Pattern) |
10
+ | addDelegate: | Add TRTC Event Callback |
11
+ | removeDelegate: | Remove TRTC Event Callback |
12
+ | delegateQueue | Set the Queue for Driving TRTCCloudDelegate Event Callback |
13
+ | enterRoom:appScene: | Enter Room |
14
+ | exitRoom | Leave Room |
15
+ | switchRole: | Switch Role |
16
+ | switchRole:privateMapKey: | Switch Role (Supports Setting Permission Bit) |
17
+ | switchRoom: | Switch Room |
18
+ | connectOtherRoom: | Request Cross-room Communication |
19
+ | disconnectOtherRoom | Exit Cross-room Communication |
20
+ | setDefaultStreamRecvMode:video: | Set Subscription Mode (Needs to be set before entering the room to take effect) |
21
+ | createSubCloud | Create Sub-room Instances (For Multi-room Concurrent Viewing) |
22
+ | destroySubCloud: | Terminate Sub-room Instances |
23
+ | updateOtherRoomForwardMode: | Modify the uplink capability of cross-room broadcasters in this room |
24
+ | startPublishMediaStream:encoderParam:mixingConfig: | Start publishing media stream |
25
+ | updatePublishMediaStream:publishTarget:encoderParam:mixingConfig: | Update the published media stream. |
26
+ | stopPublishMediaStream: | Stop publishing media stream. |
27
+ | startLocalPreview:view: | Enable the preview screen of the local camera (Mobile Terminal) |
28
+ | startLocalPreview: | Enable the preview screen of the local camera (Desktop Terminal) |
29
+ | updateLocalView: | Update the preview screen of the local camera |
30
+ | stopLocalPreview | Stop camera preview |
31
+ | muteLocalVideo:mute: | Suspend/Resume publishing local video stream |
32
+ | setVideoMuteImage:fps: | Set the alternative image during the suspension of the local screen |
33
+ | startRemoteView:streamType:view: | Subscribe to the video stream of a remote user and bind the video rendering control |
34
+ | updateRemoteView:streamType:forUser: | Update the video rendering control of a remote user |
35
+ | stopRemoteView:streamType: | Unsubscribe from the remote user's video stream and release the rendering control |
36
+ | stopAllRemoteView | Unsubscribe from all remote users' video streams and release all rendering resources |
37
+ | muteRemoteVideoStream:streamType:mute: | Suspend/Resume subscription of the remote user's video stream |
38
+ | muteAllRemoteVideoStreams: | Suspend/Resume subscription of all remote users' video streams |
39
+ | setVideoEncoderParam: | Set encoding parameters for the video encoder |
40
+ | setNetworkQosParam: | Set network quality control parameters |
41
+ | setLocalRenderParams: | Set rendering parameters for the local screen |
42
+ | setRemoteRenderParams:streamType:params: | Set rendering mode for the remote screen |
43
+ | enableEncSmallVideoStream:withQuality: | Enable picture-in-picture dual-stream encoding mode |
44
+ | setRemoteVideoStreamType:type: | Switch picture-in-picture for the specified remote user |
45
+ | snapshotVideo:type:sourceType: | Take a video screenshot |
46
+ | setPerspectiveCorrectionWithUser:srcPoints:dstPoints: | Set perspective correction coordinate settings for the video screen |
47
+ | setGravitySensorAdaptiveMode: | Set gravity sensing adaptive mode (11.7 and above) |
48
+ | startLocalAudio: | Enable collection and publishing of local audio |
49
+ | stopLocalAudio | Stop collection and publishing of local audio |
50
+ | muteLocalAudio: | Pause/Resume publishing of the local audio stream |
51
+ | muteRemoteAudio:mute: | Pause/Resume playing of the remote audio stream |
52
+ | muteAllRemoteAudio: | Pause/Resume playing of all remote users' audio streams |
53
+ | setAudioRoute: | Sets audio routing. |
54
+ | setRemoteAudioVolume:volume: | Set the playback volume for a specific remote user |
55
+ | setAudioCaptureVolume: | Sets the local audio capture volume. |
56
+ | getAudioCaptureVolume | Obtains the local audio capture volume. |
57
+ | setAudioPlayoutVolume: | Sets the remote audio playback volume. |
58
+ | getAudioPlayoutVolume | Obtains the remote audio playback volume. |
59
+ | enableAudioVolumeEvaluation:withParams: | Enable volume reminder |
60
+ | startAudioRecording: | Start recording |
61
+ | stopAudioRecording | Stop recording |
62
+ | startLocalRecording: | Enable local media recording |
63
+ | stopLocalRecording | Stop local media recording |
64
+ | setRemoteAudioParallelParams: | Set intelligent concurrent playback strategy for remote audio streams |
65
+ | enable3DSpatialAudioEffect: | Enable 3D audio |
66
+ | updateSelf3DSpatialPosition | Set self coordinates and orientation information in 3D audio |
67
+ | updateRemote3DSpatialPosition: | Set remote user coordinate information in 3D audio |
68
+ | set3DSpatialReceivingRange:range: | Set the receivable range of sounds emitted by a specified user |
69
+ | getDeviceManager | Get Device Management Class (TXDeviceManager) |
70
+ | getBeautyManager | Get Beauty Management Class (TXBeautyManager) |
71
+ | setWatermark:streamType:rect: | Watermarking |
72
+ | getAudioEffectManager | Get Audio Effect Management Class (TXAudioEffectManager) |
73
+ | startSystemAudioLoopback | Enable System Sound Capture (iOS not yet supported) |
74
+ | stopSystemAudioLoopback | Stop System Sound Capture (iOS not yet supported) |
75
+ | setSystemAudioLoopbackVolume: | Sets the Volume of System Sound Capture |
76
+ | startScreenCaptureInApp:encParam: | Start In-App Screen Sharing (Supports only iOS 13.0 and above) |
77
+ | startScreenCaptureByReplaykit:encParam:appGroup: | Start Full-System Screen Sharing (Supports only iOS 11.0 and above) |
78
+ | startScreenCapture:streamType:encParam: | Start Screen Sharing |
79
+ | stopScreenCapture | Stopping Screen Sharing |
80
+ | pauseScreenCapture | Pause Screen Sharing |
81
+ | resumeScreenCapture | Resume Screen Sharing |
82
+ | getScreenCaptureSourcesWithThumbnailSize:iconSize: | Enumerate Shareable Screens and Windows (This Interface Supports Only Mac OS) |
83
+ | selectScreenCaptureTarget:rect:capturesCursor:highlight: | Select Screen or Window to Share (This Interface Supports Only Mac OS) |
84
+ | setSubStreamEncoderParam: | Set Video Encoding Parameters for Screen Sharing (Sub-Stream) (Supported on Both Desktop and Mobile Systems) |
85
+ | setSubStreamMixVolume: | Set the Mixing Volume for Screen Sharing (This Interface Supports Only Desktop Systems) |
86
+ | addExcludedShareWindow: | Add the Specified Window to the Exclusion List of Screen Sharing (This Interface Supports Only Desktop Systems) |
87
+ | removeExcludedShareWindow: | Remove the Specified Window from the Exclusion List of Screen Sharing (This Interface Supports Only Desktop Systems) |
88
+ | removeAllExcludedShareWindows | Remove All Windows from the Exclusion List of Screen Sharing (This Interface Supports Only Desktop Systems) |
89
+ | addIncludedShareWindow: | Add the Specified Window to the Contains List of Screen Sharing (This Interface Supports Only Desktop Systems) |
90
+ | removeIncludedShareWindow: | Remove the Specified Window from the Contains List of Screen Sharing (This Interface Supports Only Desktop Systems) |
91
+ | removeAllIncludedShareWindows | Remove All Windows from the Contains List of Screen Sharing (This Interface Supports Only Desktop Systems) |
92
+ | enableCustomVideoCapture:enable: | Enable/Disable Custom Video Capturing Mode |
93
+ | sendCustomVideoData:frame: | Submit Self-collected Video Frames to the SDK |
94
+ | enableCustomAudioCapture: | Enable Custom Audio Capturing Mode |
95
+ | sendCustomAudioData: | Submit Self-collected Audio Data to the SDK |
96
+ | enableMixExternalAudioFrame:playout: | Enable/Disable Custom Audio Track |
97
+ | mixExternalAudioFrame: | Mix Custom Audio Track into the SDK |
98
+ | setMixExternalAudioVolume:playoutVolume: | Set the Streaming Volume and Playback Volume for External Audio Mixed During Streaming |
99
+ | generateCustomPTS | Generate Timestamp for Custom Capturing |
100
+ | setLocalVideoProcessDelegete:pixelFormat:bufferType: | Set Video Data Callback for Third-party Beauty Filter |
101
+ | setLocalVideoRenderDelegate:pixelFormat:bufferType: | Set Local Video Custom Rendering Callback |
102
+ | setRemoteVideoRenderDelegate:delegate:pixelFormat:bufferType: | Sets the rendering callback for remote video self-definition |
103
+ | setAudioFrameDelegate: | Sets the audio data self-definition callback |
104
+ | setCapturedAudioFrameDelegateFormat: | Sets the callback format for audio frames captured by the local microphone |
105
+ | setLocalProcessedAudioFrameDelegateFormat: | Sets the callback format for local audio frames after preprocessing |
106
+ | setMixedPlayAudioFrameDelegateFormat: | Sets the callback format for audio frames that will eventually be played by the system |
107
+ | enableCustomAudioRendering: | Enable self-definition audio playback |
108
+ | getCustomAudioRenderingFrame: | Get playable audio data |
109
+ | sendCustomCmdMsg:data:reliable:ordered: | Sends a custom message using UDP channel to all users in a room |
110
+ | sendSEIMsg:repeatCount: | Sends a custom message using SEI channel to all users in a room |
111
+ | startSpeedTest: | Start internet speed test (use before entering the room) |
112
+ | stopSpeedTest | Stops network speed testing |
113
+ | getSDKVersion | Obtains the SDK version. |
114
+ | setLogLevel: | Sets the log output level. |
115
+ | setConsoleEnabled: | Enables/Disables console log print. |
116
+ | setLogCompressEnabled: | Enables/Disables local log compression |
117
+ | setLogDirPath: | Sets the save path for local logs |
118
+ | setLogDelegate: | Log callback |
119
+ | showDebugView: | Show Dashboard |
120
+ | setDebugViewMargin:margin: | Set the dashboard margin |
121
+ | callExperimentalAPI: | Calls an experimental API. |
122
+ | enablePayloadPrivateEncryption:params: | Enable or disable media stream private encryption |
705
123
 
706
124
  ## sharedInstance
707
125
 
708
-
709
-
710
126
  #### Create a `TRTCCloud` Instance (Singleton Pattern)
711
- <table>
712
- <tr>
713
- <td rowspan="1" colSpan="1" >Parameters</td>
714
-
715
- <td rowspan="1" colSpan="1" >Description</td>
716
- </tr>
717
-
718
- <tr>
719
- <td rowspan="1" colSpan="1" >context</td>
720
-
721
- <td rowspan="1" colSpan="1" >Only applies to the Android platform. The SDK internally converts it to the Android platform's ApplicationContext to call Android System API.<br>If the passed context parameter is NULL, the SDK will automatically obtain the current process's ApplicationContext.</td>
722
- </tr>
723
- </table>
724
-
127
+ | Parameters | Description |
128
+ | --- | --- |
129
+ | context | Only applies to the Android platform. The SDK internally converts it to the Android platform's ApplicationContext to call Android System API.<br>If the passed context parameter is NULL, the SDK will automatically obtain the current process's ApplicationContext. |
725
130
 
726
131
  > **Note**
727
- >
132
+ >
728
133
 
729
134
  > 1. Using delete ITRTCCloud* will cause compilation errors. Please use destroyTRTCCloud to release the object pointer.
730
- >
135
+ >
731
136
 
732
137
  > 2. On Windows, Mac, and iOS platforms, please call the getTRTCShareInstance() interface.
733
- >
138
+ >
734
139
 
735
140
  > 3. On the Android platform, please call the getTRTCShareInstance(void *context) interface.
736
- >
737
-
141
+ >
738
142
 
739
143
  ## destroySharedInstance
740
144
 
741
-
742
-
743
145
  #### Terminate `TRTCCloud` Instance (Singleton Pattern)
744
146
 
745
147
  ## addDelegate:
746
148
 
747
-
748
-
749
149
  #### Add TRTC Event Callback
750
150
 
751
- You can receive various event notifications from the SDK (such as error codes, warning codes, audio and video status parameters) through [TRTCCloudDelegate](https://write.woa.com/document/87029742770499584).
151
+ You can receive various event notifications from the SDK (such as error codes, warning codes, audio and video status parameters) through TRTCCloudDelegate.
752
152
 
753
153
  ## removeDelegate:
754
154
 
755
-
756
-
757
155
  #### Remove TRTC Event Callback
758
156
 
759
157
  ## delegateQueue
760
158
 
761
-
762
-
763
159
  #### Set the Queue for Driving TRTCCloudDelegate Event Callback
764
160
 
765
- If you do not specify your own delegateQueue, the SDK will use the MainQueue as the default queue for driving [TRTCCloudDelegate](https://write.woa.com/document/87029742770499584) event callbacks.
161
+ If you do not specify your own delegateQueue, the SDK will use the MainQueue as the default queue for driving TRTCCloudDelegate event callbacks.
766
162
 
767
- When the delegateQueue property is not set, all callback functions in [TRTCCloudDelegate](https://write.woa.com/document/87029742770499584) are driven by the MainQueue.
163
+ When the delegateQueue property is not set, all callback functions in TRTCCloudDelegate are driven by the MainQueue.
768
164
 
769
165
  > **Note**
770
- >
771
-
772
- > If you specify your own delegateQueue, do not operate the UI within the [TRTCCloudDelegate](https://write.woa.com/document/87029742770499584) callback functions, as this will cause thread safety issues.
773
- >
166
+ >
774
167
 
168
+ > If you specify your own delegateQueue, do not operate the UI within the TRTCCloudDelegate callback functions, as this will cause thread safety issues.
169
+ >
775
170
 
776
171
  ## enterRoom:appScene:
777
172
 
778
-
779
-
780
173
  #### Enter Room
781
174
 
782
175
  All TRTC users must enter a room to "publish" or "subscribe" to audio and video streams. "Publish" means pushing your audio and video to the cloud, and "subscribe" means pulling audio and video streams from other users in the room from the cloud.
783
176
 
784
- To call this interface, you need to specify your application scenario [TRTCAppScene](https://write.woa.com/document/87029873782558720) for the best audio and video transmission experience. These scenarios can be divided into two major categories:
785
-
786
-
177
+ To call this interface, you need to specify your application scenario TRTCAppScene for the best audio and video transmission experience. These scenarios can be divided into two major categories:
787
178
 
788
179
  **Real-time Call:**
789
180
 
790
- Includes [TRTCAppSceneVideoCall](https://write.woa.com/document/87029873782558720) and [TRTCAppSceneAudioCall](https://write.woa.com/document/87029873782558720) as two options: video call and audio call. This mode is suitable for 1-on-1 audio and video calls or online meetings with up to 300 participants.
791
-
792
-
181
+ Includes TRTCAppSceneVideoCall and TRTCAppSceneAudioCall as two options: video call and audio call. This mode is suitable for 1-on-1 audio and video calls or online meetings with up to 300 participants.
793
182
 
794
183
  **Online Live Streaming:**
795
184
 
796
- Includes [TRTCAppSceneLIVE](https://write.woa.com/document/87029873782558720) and [TRTCAppSceneVoiceChatRoom](https://write.woa.com/document/87029873782558720) as two options: video live streaming and voice live streaming. This mode is suitable for online live streaming scenarios with up to 100,000 participants. However, you need to specify the **role** field in the TRTCParams parameter introduced later, distinguishing users in the room into two different roles: **Anchor** ([TRTCRoleAnchor](https://write.woa.com/document/87029873782558720)) and **Audience** ([TRTCRoleAudience](https://write.woa.com/document/87029873782558720)).
797
-
798
-
185
+ Includes TRTCAppSceneLIVE and TRTCAppSceneVoiceChatRoom as two options: video live streaming and voice live streaming. This mode is suitable for online live streaming scenarios with up to 100,000 participants. However, you need to specify the **role** field in the TRTCParams parameter introduced later, distinguishing users in the room into two different roles: **Anchor** (TRTCRoleAnchor) and **Audience** (TRTCRoleAudience).
799
186
 
800
- After calling this interface, you will receive the onEnterRoom(result) callback from [TRTCCloudDelegate](https://write.woa.com/document/87029742770499584):
187
+ After calling this interface, you will receive the onEnterRoom(result) callback from TRTCCloudDelegate:
801
188
  - If entering the room is successful, the result parameter will be a positive number (result > 0), indicating the time taken from the function call to entering the room, in milliseconds (ms).
802
189
 
803
190
  - If entering the room fails, the result parameter will be a negative number (result < 0), indicating the failure [Error Code](https://cloud.tencent.com/document/product/647/32257).
804
191
 
805
- <table>
806
- <tr>
807
- <td rowspan="1" colSpan="1" >Parameters</td>
808
-
809
- <td rowspan="1" colSpan="1" >Description</td>
810
- </tr>
811
-
812
- <tr>
813
- <td rowspan="1" colSpan="1" >param</td>
814
-
815
- <td rowspan="1" colSpan="1" >Room entry parameters are used to specify the user's identity, role, and security token information. For details, please refer to [TRTCParams](https://write.woa.com/document/87029873782558720).</td>
816
- </tr>
817
-
818
- <tr>
819
- <td rowspan="1" colSpan="1" >scene</td>
820
-
821
- <td rowspan="1" colSpan="1" >Application scenario parameters are used to specify your business scenario. All users in the same room need to set the same [TRTCAppScene](https://write.woa.com/document/87029873782558720).</td>
822
- </tr>
823
- </table>
824
-
192
+ | Parameters | Description |
193
+ | --- | --- |
194
+ | param | Room entry parameters are used to specify the user's identity, role, and security token information. For details, please refer to TRTCParams. |
195
+ | scene | Application scenario parameters are used to specify your business scenario. All users in the same room need to set the same TRTCAppScene. |
825
196
 
826
197
  > **Note**
827
- >
198
+ >
828
199
 
829
200
  > 1. All users in the same room need to set the same scene. Different scenes can occasionally lead to anomalies.
830
- >
201
+ >
831
202
 
832
- > 2. When you set the parameter scene to [TRTCAppSceneLIVE](https://write.woa.com/document/87029873782558720) or [TRTCAppSceneVoiceChatRoom](https://write.woa.com/document/87029873782558720), you must use the "role" field in [TRTCParams](https://write.woa.com/document/87029873782558720) to set the role of the current user in the room.
833
- >
834
-
835
- > 3. Please ensure that [enterRoom](https://write.woa.com/document/87029727163494400) and [exitRoom](https://write.woa.com/document/87029727163494400) are paired before and after use, i.e., ensure "exit the previous room before entering the next room," otherwise, many anomalies may occur.
836
- >
203
+ > 2. When you set the parameter scene to TRTCAppSceneLIVE or TRTCAppSceneVoiceChatRoom, you must use the "role" field in TRTCParams to set the role of the current user in the room.
204
+ >
837
205
 
206
+ > 3. Please ensure that enterRoom and exitRoom are paired before and after use, i.e., ensure "exit the previous room before entering the next room," otherwise, many anomalies may occur.
207
+ >
838
208
 
839
209
  ## exitRoom
840
210
 
841
-
842
-
843
211
  #### Leave Room
844
212
 
845
213
  Calling this interface will make the user leave the audio and video room they are in and release resources such as the camera, microphone, and speaker.
846
214
 
847
- After the resources are released, the SDK will notify you through the [TRTCCloudDelegate](https://write.woa.com/document/87029742770499584) callback in [onExitRoom](https://write.woa.com/document/87029742770499584).
848
-
849
-
215
+ After the resources are released, the SDK will notify you through the TRTCCloudDelegate callback in onExitRoom.
850
216
 
851
- If you want to call [enterRoom](https://write.woa.com/document/87029727163494400) again or switch to another provider's SDK, it is recommended to wait for the [onExitRoom](https://write.woa.com/document/87029742770499584) callback before performing subsequent operations to avoid camera or microphone occupation issues.
217
+ If you want to call enterRoom again or switch to another provider's SDK, it is recommended to wait for the onExitRoom callback before performing subsequent operations to avoid camera or microphone occupation issues.
852
218
 
853
219
  ## switchRole:
854
220
 
855
-
856
-
857
221
  #### Switch Role
858
222
 
859
223
  This interface allows users to switch between the roles of `Anchor` and `Audience`.
860
224
 
861
-
862
-
863
225
  Since video streaming and voice chat rooms need to support up to 100,000 viewers simultaneously, the rule is set that **only anchors can publish their audio and video**. Therefore, if some audience members wish to publish their audio and video streams (to interact with the anchors), they need to switch their role to **Anchor** first.
864
226
 
865
-
866
-
867
- When entering a room, you can predefine the user's role using the role field in [TRTCParams](https://write.woa.com/document/87029873782558720), or dynamically switch roles after entering the room using the switchRole interface.
868
- <table>
869
- <tr>
870
- <td rowspan="1" colSpan="1" >Parameters</td>
871
-
872
- <td rowspan="1" colSpan="1" >Description</td>
873
- </tr>
874
-
875
- <tr>
876
- <td rowspan="1" colSpan="1" >role</td>
877
-
878
- <td rowspan="1" colSpan="1" >Role, defaults to **Anchor**.<br>- [TRTCRoleAnchor](https://write.woa.com/document/87029873782558720): Anchor, can publish their own audio and video. A maximum of 50 anchors can simultaneously publish audio and video in the same room.<br>- [TRTCRoleAudience](https://write.woa.com/document/87029873782558720): Audience, cannot publish their own audio and video streams, can only view audio and video of other anchors in the room. To publish their own audio and video, they need to switch to **Anchor** via the [switchRole](https://write.woa.com/document/87029727163494400) interface. A maximum of 100,000 audience members can be accommodated in the same room.</td>
879
- </tr>
880
- </table>
881
-
227
+ When entering a room, you can predefine the user's role using the role field in TRTCParams, or dynamically switch roles after entering the room using the switchRole interface.
228
+ | Parameters | Description |
229
+ | --- | --- |
230
+ | role | Role, defaults to **Anchor**.<br>- TRTCRoleAnchor: Anchor, can publish their own audio and video. A maximum of 50 anchors can simultaneously publish audio and video in the same room.<br>- TRTCRoleAudience: Audience, cannot publish their own audio and video streams, can only view audio and video of other anchors in the room. To publish their own audio and video, they need to switch to **Anchor** via the switchRole interface. A maximum of 100,000 audience members can be accommodated in the same room. |
882
231
 
883
232
  > **Note**
884
- >
885
-
886
- > 1. This interface is only applicable to video live streaming ([TRTCAppSceneLIVE](https://write.woa.com/document/87029873782558720)) and voice chat room ([TRTCAppSceneVoiceChatRoom](https://write.woa.com/document/87029873782558720)) scenarios.
887
- >
233
+ >
888
234
 
889
- > 2. If the scene specified in [enterRoom](https://write.woa.com/document/87029727163494400) is [TRTCAppSceneVideoCall](https://write.woa.com/document/87029873782558720) or [TRTCAppSceneAudioCall](https://write.woa.com/document/87029873782558720), do not call this interface.
890
- >
235
+ > 1. This interface is only applicable to video live streaming (TRTCAppSceneLIVE) and voice chat room (TRTCAppSceneVoiceChatRoom) scenarios.
236
+ >
891
237
 
238
+ > 2. If the scene specified in enterRoom is TRTCAppSceneVideoCall or TRTCAppSceneAudioCall, do not call this interface.
239
+ >
892
240
 
893
241
  ## switchRole:privateMapKey:
894
242
 
895
-
896
-
897
243
  #### Switch Role (Supports Setting Permission Bit)
898
244
 
899
245
  This interface allows users to switch between the roles of `Anchor` and `Audience`.
900
246
 
901
-
902
-
903
247
  Due to video live streaming and voice chat rooms needing to support up to 100,000 viewers simultaneously, a rule has been established that "only the host can publish their own audio and video".
904
248
 
905
249
  Therefore, when some viewers wish to publish their own audio and video streams (in order to interact with the host), they need to first switch their role to "host".
906
250
 
907
- When entering a room, you can predefine the user's role using the role field in [TRTCParams](https://write.woa.com/document/87029873782558720), or dynamically switch roles after entering the room using the switchRole interface.
908
- <table>
909
- <tr>
910
- <td rowspan="1" colSpan="1" >Parameters</td>
911
-
912
- <td rowspan="1" colSpan="1" >Description</td>
913
- </tr>
914
-
915
- <tr>
916
- <td rowspan="1" colSpan="1" >privateMapKey</td>
917
-
918
- <td rowspan="1" colSpan="1" >Permission tickets are used for permission control. When you want to restrict a specific room to allow only specific userIds to enter or upload videos, you need to use privateMapKey for permission protection.<br>- It is recommended only for customers with high-level security requirements. For more details, please refer to [Enabling Advanced Permission Control](https://cloud.tencent.com/document/product/647/32240).</td>
919
- </tr>
920
-
921
- <tr>
922
- <td rowspan="1" colSpan="1" >role</td>
923
-
924
- <td rowspan="1" colSpan="1" >Role, defaults to "Anchor":<br>- [TRTCRoleAnchor](https://write.woa.com/document/87029873782558720): Anchor, can publish their own audio and video. A maximum of 50 anchors can simultaneously publish audio and video in the same room.<br>- [TRTCRoleAudience](https://write.woa.com/document/87029873782558720): Audience cannot publish their own audio and video streams and can only watch other anchors' audio and video in the room. If you want to publish your own audio and video, you need to switch to "Anchor" through [switchRole](https://write.woa.com/document/87029727163494400). A maximum of 100,000 audience members can be accommodated in the same room.</td>
925
- </tr>
926
- </table>
927
-
251
+ When entering a room, you can predefine the user's role using the role field in TRTCParams, or dynamically switch roles after entering the room using the switchRole interface.
252
+ | Parameters | Description |
253
+ | --- | --- |
254
+ | privateMapKey | Permission tickets are used for permission control. When you want to restrict a specific room to allow only specific userIds to enter or upload videos, you need to use privateMapKey for permission protection.<br>- It is recommended only for customers with high-level security requirements. For more details, please refer to [Enabling Advanced Permission Control](https://cloud.tencent.com/document/product/647/32240). |
255
+ | role | Role, defaults to "Anchor":<br>- TRTCRoleAnchor: Anchor, can publish their own audio and video. A maximum of 50 anchors can simultaneously publish audio and video in the same room.<br>- TRTCRoleAudience: Audience cannot publish their own audio and video streams and can only watch other anchors' audio and video in the room. If you want to publish your own audio and video, you need to switch to "Anchor" through switchRole. A maximum of 100,000 audience members can be accommodated in the same room. |
928
256
 
929
257
  > **Note**
930
- >
931
-
932
- > 1. This interface is only applicable to video live streaming ([TRTCAppSceneLIVE](https://write.woa.com/document/87029873782558720)) and voice chat room ([TRTCAppSceneVoiceChatRoom](https://write.woa.com/document/87029873782558720)) scenarios.
933
- >
258
+ >
934
259
 
935
- > 2. If the scene specified in [enterRoom](https://write.woa.com/document/87029727163494400) is [TRTCAppSceneVideoCall](https://write.woa.com/document/87029873782558720) or [TRTCAppSceneAudioCall](https://write.woa.com/document/87029873782558720), do not call this interface.
936
- >
260
+ > 1. This interface is only applicable to video live streaming (TRTCAppSceneLIVE) and voice chat room (TRTCAppSceneVoiceChatRoom) scenarios.
261
+ >
937
262
 
263
+ > 2. If the scene specified in enterRoom is TRTCAppSceneVideoCall or TRTCAppSceneAudioCall, do not call this interface.
264
+ >
938
265
 
939
266
  ## switchRoom:
940
267
 
941
-
942
-
943
268
  #### Switch Room
944
269
 
945
270
  This interface allows users to quickly switch from one room to another.
@@ -947,74 +272,44 @@ This interface allows users to quickly switch from one room to another.
947
272
 
948
273
  - If the user's role is "Anchor", this interface will maintain the user's audio and video publishing status while switching rooms. As a result, the preview of the camera and the collection of sound will not be interrupted during the room switching process.
949
274
 
950
-
951
-
952
-
953
275
  This interface is suitable for scenarios in online education where supervising teachers need to switch quickly between multiple rooms. In this scenario, using switchRoom can achieve better smoothness and less code volume compared to using exitRoom + enterRoom.
954
276
 
955
- The interface call results will be returned through the onSwitchRoom(errCode, errMsg) callback in [TRTCCloudDelegate](https://write.woa.com/document/87029742770499584).
956
- <table>
957
- <tr>
958
- <td rowspan="1" colSpan="1" >Parameters</td>
959
-
960
- <td rowspan="1" colSpan="1" >Description</td>
961
- </tr>
962
-
963
- <tr>
964
- <td rowspan="1" colSpan="1" >config</td>
965
-
966
- <td rowspan="1" colSpan="1" >For room parameters, please refer to [TRTCSwitchRoomConfig](https://write.woa.com/document/87029873782558720).</td>
967
- </tr>
968
- </table>
969
-
277
+ The interface call results will be returned through the onSwitchRoom(errCode, errMsg) callback in TRTCCloudDelegate.
278
+ | Parameters | Description |
279
+ | --- | --- |
280
+ | config | For room parameters, please refer to TRTCSwitchRoomConfig. |
970
281
 
971
282
  > **Note**
972
- >
283
+ >
973
284
 
974
285
  > Due to the need for compatibility with older SDK versions, the config parameters contain both roomId and strRoomId. The specifications for filling these parameters are particularly important, so please take note of the following:
975
- >
286
+ >
976
287
 
977
288
  > 1. If you choose strRoomId, then roomId needs to be set to 0. If both are filled, roomId will be selected by default.
978
- >
289
+ >
979
290
 
980
291
  > 2. All rooms must either use strRoomId or roomId consistently. Mixing both will result in unexpected bugs.
981
- >
982
-
292
+ >
983
293
 
984
294
  ## connectOtherRoom:
985
295
 
986
-
987
-
988
296
  #### Request Cross-room Communication
989
297
 
990
298
  By default, only users within the same room can make audio and video calls. Audio and video streams in different rooms are isolated.
991
299
 
992
300
  However, you can use this interface to publish the audio and video streams of a host in another room to your own room. At the same time, this interface will also publish your own audio and video streams to the target host's room.
993
301
 
994
-
995
-
996
302
  In other words, you can use this interface to enable cross-room audio and video stream sharing between hosts in two different rooms, allowing audiences in each room to watch the audio and video streams of both hosts. This feature can be used to implement a PK feature between hosts.
997
303
 
998
-
999
-
1000
- The result of the cross-room communication request will be notified to you via the [TRTCCloudDelegate](https://write.woa.com/document/87029742770499584) callback [onConnectOtherRoom](https://write.woa.com/document/87029742770499584).
1001
-
1002
-
304
+ The result of the cross-room communication request will be notified to you via the TRTCCloudDelegate callback onConnectOtherRoom.
1003
305
 
1004
306
  For example, when Host A in room "101" establishes a cross-room call with Host B in room "102" using connectOtherRoom(),
1005
307
  - users in room "101" will receive the onRemoteUserEnterRoom(B) and onUserVideoAvailable(B, YES) event callbacks for Host B, allowing users in room "101" to subscribe to Host B's audio and video streams.
1006
308
 
1007
309
  - users in room "102" will receive the onRemoteUserEnterRoom(A) and onUserVideoAvailable(A, YES) event callbacks for Host A, allowing users in room "102" to subscribe to Host A's audio and video streams.
1008
310
 
1009
-
1010
-
1011
-
1012
- ![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100031390357/1e49cf2366a211efa32852540075b605.png)
1013
-
1014
311
  To consider compatibility issues with subsequent extension fields, the parameters for cross-room communication temporarily use JSON format:
1015
312
 
1016
-
1017
-
1018
313
  **Case 1: Numeric Room Number**
1019
314
 
1020
315
  If Host A in room '101' wants to connect with Host B in room '102', Host A needs to pass in the following when calling the interface: {"roomId": 102, "userId": "userB"}
@@ -1029,8 +324,6 @@ Below is the sample code:
1029
324
  [trtc connectOtherRoom:jsonString];
1030
325
  ```
1031
326
 
1032
-
1033
-
1034
327
  **Case 2: String Room Number**
1035
328
 
1036
329
  If you are using a string room number, be sure to replace "roomId" in the JSON with "strRoomId": {"strRoomId": "102", "userId": "userB"}
@@ -1044,97 +337,54 @@ Below is the sample code:
1044
337
  NSString* jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
1045
338
  [trtc connectOtherRoom:jsonString];
1046
339
  ```
1047
- <table>
1048
- <tr>
1049
- <td rowspan="1" colSpan="1" >Parameters</td>
1050
-
1051
- <td rowspan="1" colSpan="1" >Description</td>
1052
- </tr>
1053
-
1054
- <tr>
1055
- <td rowspan="1" colSpan="1" >param</td>
1056
-
1057
- <td rowspan="1" colSpan="1" >You need to pass in a JSON-formatted string argument, where roomId represents the room number in numeric format, strRoomId represents the room number in string format, and userId represents the target broadcaster's user ID.</td>
1058
- </tr>
1059
- </table>
1060
-
340
+ | Parameters | Description |
341
+ | --- | --- |
342
+ | param | You need to pass in a JSON-formatted string argument, where roomId represents the room number in numeric format, strRoomId represents the room number in string format, and userId represents the target broadcaster's user ID. |
1061
343
 
1062
344
  ## disconnectOtherRoom
1063
345
 
1064
-
1065
-
1066
346
  #### Exit Cross-room Communication
1067
347
 
1068
- The result of exiting will be notified to you via the [TRTCCloudDelegate](https://write.woa.com/document/87029742770499584) callback [onDisconnectOtherRoom](https://write.woa.com/document/87029742770499584).
348
+ The result of exiting will be notified to you via the TRTCCloudDelegate callback onDisconnectOtherRoom.
1069
349
 
1070
350
  ## setDefaultStreamRecvMode:video:
1071
351
 
1072
-
1073
-
1074
352
  #### Set Subscription Mode (Needs to be set before entering the room to take effect)
1075
353
 
1076
354
  You can switch between "auto-subscribe" and "manual subscribe" modes via this interface:
1077
- - Automatic Subscription: Default mode where users receive audio and video streams from the room immediately after entering. Audio plays automatically and video starts decoding automatically (you still need to bind the rendering control through the [startRemoteView](https://write.woa.com/document/87029727163494400) interface).
1078
-
1079
- - Manual Subscription: After entering the room, users need to manually call the [startRemoteView](https://write.woa.com/document/87029727163494400) interface to start the subscription and decoding of the video stream and manually call the [muteRemoteAudio](https://write.woa.com/document/87029727163494400) (NO) interface to start audio playback.
1080
-
1081
-
355
+ - Automatic Subscription: Default mode where users receive audio and video streams from the room immediately after entering. Audio plays automatically and video starts decoding automatically (you still need to bind the rendering control through the startRemoteView interface).
1082
356
 
357
+ - Manual Subscription: After entering the room, users need to manually call the startRemoteView interface to start the subscription and decoding of the video stream and manually call the muteRemoteAudio (NO) interface to start audio playback.
1083
358
 
1084
359
  In most scenarios, users entering a room will subscribe to all the audio and video streams from the broadcasters within that room. Therefore, TRTC defaults to an automatic subscription mode to achieve the best "instant start experience".
1085
360
 
1086
361
  If your application scenario involves many audio and video streams being published in each room and each user only wants to selectively subscribe to 1-2 of them, it is recommended to use the "manual subscription" mode to save on bandwidth costs.
1087
- <table>
1088
- <tr>
1089
- <td rowspan="1" colSpan="1" >Parameters</td>
1090
-
1091
- <td rowspan="1" colSpan="1" >Description</td>
1092
- </tr>
1093
-
1094
- <tr>
1095
- <td rowspan="1" colSpan="1" >autoRecvAudio</td>
1096
-
1097
- <td rowspan="1" colSpan="1" >YES: Automatically subscribe to audio; NO: Manually call muteRemoteAudio(NO) to subscribe to audio. Default: YES.</td>
1098
- </tr>
1099
-
1100
- <tr>
1101
- <td rowspan="1" colSpan="1" >autoRecvVideo</td>
1102
-
1103
- <td rowspan="1" colSpan="1" >YES: Automatically subscribe to video; NO: Manually call startRemoteView to subscribe to video. Default: YES.</td>
1104
- </tr>
1105
- </table>
1106
-
362
+ | Parameters | Description |
363
+ | --- | --- |
364
+ | autoRecvAudio | YES: Automatically subscribe to audio; NO: Manually call muteRemoteAudio(NO) to subscribe to audio. Default: YES. |
365
+ | autoRecvVideo | YES: Automatically subscribe to video; NO: Manually call startRemoteView to subscribe to video. Default: YES. |
1107
366
 
1108
367
  > **Note**
1109
- >
368
+ >
1110
369
 
1111
370
  > 1. This setting needs to be called before entering the room to take effect.
1112
- >
1113
-
1114
- > 2. In automatic subscription mode, if the user does not call [startRemoteView](https://write.woa.com/document/87029727163494400) to subscribe to the video stream after entering the room, the SDK will automatically stop subscribing to the video stream to save traffic.
1115
- >
371
+ >
1116
372
 
373
+ > 2. In automatic subscription mode, if the user does not call startRemoteView to subscribe to the video stream after entering the room, the SDK will automatically stop subscribing to the video stream to save traffic.
374
+ >
1117
375
 
1118
376
  ## createSubCloud
1119
377
 
1120
-
1121
-
1122
378
  #### Create Sub-room Instances (For Multi-room Concurrent Viewing)
1123
379
 
1124
380
  TRTCCloud was initially designed as a Singleton Pattern, limiting the ability to watch multiple rooms concurrently.
1125
381
 
1126
- By calling this interface, you can create multiple TRTCCloud instances to watch audio and video streams from multiple rooms simultaneously.
1127
-
1128
-
1129
-
1130
- However, please note that the ability to publish audio and video streams across multiple TRTCCloud instances is subject to certain restrictions.
1131
-
382
+ By calling this interface, you can create multiple TRTCCloud instances to watch audio and video streams from multiple rooms simultaneously.
1132
383
 
384
+ However, please note that the ability to publish audio and video streams across multiple TRTCCloud instances is subject to certain restrictions.
1133
385
 
1134
386
  This feature is primarily used in a business scenario called "super small class" in online education settings, aimed at addressing the limitation that "each TRTC room can only have up to 50 people broadcasting their audio and video streams simultaneously".
1135
387
 
1136
-
1137
-
1138
388
  Below is the sample code:
1139
389
  ``` objectivec
1140
390
  //In the small room that needs interaction, enter the room as an anchor and push audio and video streams
@@ -1162,14 +412,13 @@ Below is the sample code:
1162
412
  ```
1163
413
 
1164
414
  > **Note**
1165
- >
415
+ >
1166
416
  > - The same user can enter multiple rooms with different roomIds using the same userId.
1167
417
  > - Two different terminal devices cannot use the same userId to enter the same roomId simultaneously.
1168
- > - You can set the [TRTCCloudDelegate](https://write.woa.com/document/87029742770499584) separately for different instances to receive their respective event notifications.
418
+ > - You can set the TRTCCloudDelegate separately for different instances to receive their respective event notifications.
1169
419
  > - The same user can stream on multiple TRTCCloud instances and call interfaces related to local audio and video in sub-instances. However, please note:
1170
420
  > - The audio for multiple instances must be either microphone capture or custom data collection, and invoking interfaces related to audio devices will be based on the last call
1171
- > - Calls related to the camera will take the last one as definitive: [startLocalPreview](https://write.woa.com/document/87029727163494400).
1172
-
421
+ > - Calls related to the camera will take the last one as definitive: startLocalPreview.
1173
422
 
1174
423
  #### Return value description:
1175
424
 
@@ -1177,28 +426,13 @@ Sub TRTCCloud instances
1177
426
 
1178
427
  ## destroySubCloud:
1179
428
 
1180
-
1181
-
1182
429
  #### Terminate Sub-room Instances
1183
- <table>
1184
- <tr>
1185
- <td rowspan="1" colSpan="1" >Parameters</td>
1186
-
1187
- <td rowspan="1" colSpan="1" >Description</td>
1188
- </tr>
1189
-
1190
- <tr>
1191
- <td rowspan="1" colSpan="1" >subCloud</td>
1192
-
1193
- <td rowspan="1" colSpan="1" >Sub-room instances</td>
1194
- </tr>
1195
- </table>
1196
-
430
+ | Parameters | Description |
431
+ | --- | --- |
432
+ | subCloud | Sub-room instances |
1197
433
 
1198
434
  ## updateOtherRoomForwardMode:
1199
435
 
1200
-
1201
-
1202
436
  #### Modify the uplink capability of cross-room broadcasters in this room
1203
437
 
1204
438
  Usually, after calling the connectOtherRoom interface to conduct cross-room communication with another room's broadcaster, all viewers in this room will receive the audio and video stream published by that broadcaster.
@@ -1207,32 +441,20 @@ You can call this interface to restrict the uplink capability of a cross-room br
1207
441
 
1208
442
  After disabling certain uplink capabilities of the cross-room broadcaster, all users in this room will not be able to receive the corresponding audio and video streams, nor will they be able to subscribe to them.
1209
443
 
1210
-
1211
-
1212
444
  It should be noted that this interface can only be called by the broadcaster conducting cross-room communication, and the restrictions set through this interface will reset if the cross-room communication is interrupted or the corresponding broadcaster exits the room.
1213
445
 
1214
-
1215
-
1216
- The result of this interface call will be notified to you through the [onUpdateOtherRoomForwardMode](https://write.woa.com/document/87029742770499584) callback in [TRTCCloudDelegate](https://write.woa.com/document/87029742770499584).
1217
-
1218
-
446
+ The result of this interface call will be notified to you through the onUpdateOtherRoomForwardMode callback in TRTCCloudDelegate.
1219
447
 
1220
448
  For example:
1221
449
 
1222
450
  In room "101", there is Host A and Audience B, while in room "102", there is Host C, who is normally publishing audio and video streams. Host A establishes a cross-room call with Host C using connectOtherRoom().
1223
451
  - At this time, Host A and Audience B will receive three event callbacks for Host C: onRemoteUserEnterRoom(C), onUserVideoAvailable(C, YES), and onUserAudioAvailable(C, YES), allowing them to subscribe to Host C's audio and video.
1224
452
 
1225
-
1226
-
1227
-
1228
453
  Later, Host A calls this interface to disable Host C's ability to publish audio in the current room.
1229
454
  - Afterward, Host C's audio stream will not be published to room "101". Host A and Audience B will receive the onUserAudioAvailable(C, NO) event callback and will no longer be able to subscribe to Host C's audio through muteRemoteAudio(C, NO).
1230
455
 
1231
456
  - Host C's video stream will not be affected. Other audience members in room "102" are also unaffected and can normally subscribe to Host C's audio.
1232
457
 
1233
-
1234
-
1235
-
1236
458
  To consider compatibility issues with subsequent extension fields, the parameters for this interface temporarily use JSON format. The example is as follows:
1237
459
 
1238
460
  **Case 1: Numeric Room Number**
@@ -1246,8 +468,6 @@ To consider compatibility issues with subsequent extension fields, the parameter
1246
468
  }
1247
469
  ```
1248
470
 
1249
-
1250
-
1251
471
  **Case 2: String Room Number**
1252
472
  ``` objectivec
1253
473
  {
@@ -1258,199 +478,100 @@ To consider compatibility issues with subsequent extension fields, the parameter
1258
478
  "muteSubStream":false
1259
479
  }
1260
480
  ```
1261
- <table>
1262
- <tr>
1263
- <td rowspan="1" colSpan="1" >Parameters</td>
1264
-
1265
- <td rowspan="1" colSpan="1" >Description</td>
1266
- </tr>
1267
-
1268
- <tr>
1269
- <td rowspan="1" colSpan="1" >param</td>
1270
-
1271
- <td rowspan="1" colSpan="1" >You need to pass in a JSON-formatted string argument where roomId represents the room number in numeric format, strRoomId represents the room number in string format, userId represents the target broadcaster's user ID. The options muteAudio, muteVideo, and muteSubStream denote whether to disable or allow the cross-room broadcaster to publish audio, main stream video, and sub-stream video respectively.</td>
1272
- </tr>
1273
- </table>
1274
-
481
+ | Parameters | Description |
482
+ | --- | --- |
483
+ | param | You need to pass in a JSON-formatted string argument where roomId represents the room number in numeric format, strRoomId represents the room number in string format, userId represents the target broadcaster's user ID. The options muteAudio, muteVideo, and muteSubStream denote whether to disable or allow the cross-room broadcaster to publish audio, main stream video, and sub-stream video respectively. |
1275
484
 
1276
485
  ## startPublishMediaStream:encoderParam:mixingConfig:
1277
486
 
1278
-
1279
-
1280
487
  #### Start publishing media stream
1281
488
 
1282
- This interface sends an instruction to the TRTC server to relay/transcode the current user's audio and video streams to the Live CDN or push them back into the TRTC room. You can specify the publishing mode through [TRTCPublishTarget](https://write.woa.com/document/87029873782558720) configuration and [TRTCPublishMode](https://write.woa.com/document/87029873782558720)
1283
- <table>
1284
- <tr>
1285
- <td rowspan="1" colSpan="1" >Parameters</td>
1286
-
1287
- <td rowspan="1" colSpan="1" >Description</td>
1288
- </tr>
1289
-
1290
- <tr>
1291
- <td rowspan="1" colSpan="1" >config</td>
1292
-
1293
- <td rowspan="1" colSpan="1" >Media stream transcoding configuration parameters. Refer to [TRTCStreamMixingConfig](https://write.woa.com/document/87029873782558720) for detailed configuration. This is required when transcoding and pushing back to the TRTC room. You need to specify your desired transcoding configuration parameters. It is invalid in relay mode.</td>
1294
- </tr>
1295
-
1296
- <tr>
1297
- <td rowspan="1" colSpan="1" >params</td>
1298
-
1299
- <td rowspan="1" colSpan="1" >Media stream encoding output parameters. Refer to [TRTCStreamEncoderParam](https://write.woa.com/document/87029873782558720) for detailed configuration. This is required when transcoding and pushing back to the TRTC room. You need to specify your desired transcoding output parameters. For better relay stability and CDN compatibility, it is also recommended to configure this during relay.</td>
1300
- </tr>
1301
-
1302
- <tr>
1303
- <td rowspan="1" colSpan="1" >target</td>
1304
-
1305
- <td rowspan="1" colSpan="1" >The target address for media stream publishing. Refer to [TRTCPublishTarget](https://write.woa.com/document/87029873782558720) for detailed configuration. Supports relay/transcoding to Tencent or third-party CDNs, and also supports transcoding pushback to the TRTC room.</td>
1306
- </tr>
1307
- </table>
1308
-
489
+ This interface sends an instruction to the TRTC server to relay/transcode the current user's audio and video streams to the Live CDN or push them back into the TRTC room. You can specify the publishing mode through TRTCPublishTarget configuration and TRTCPublishMode
490
+ | Parameters | Description |
491
+ | --- | --- |
492
+ | config | Media stream transcoding configuration parameters. Refer to TRTCStreamMixingConfig for detailed configuration. This is required when transcoding and pushing back to the TRTC room. You need to specify your desired transcoding configuration parameters. It is invalid in relay mode. |
493
+ | params | Media stream encoding output parameters. Refer to TRTCStreamEncoderParam for detailed configuration. This is required when transcoding and pushing back to the TRTC room. You need to specify your desired transcoding output parameters. For better relay stability and CDN compatibility, it is also recommended to configure this during relay. |
494
+ | target | The target address for media stream publishing. Refer to TRTCPublishTarget for detailed configuration. Supports relay/transcoding to Tencent or third-party CDNs, and also supports transcoding pushback to the TRTC room. |
1309
495
 
1310
496
  > **Note**
1311
- >
497
+ >
1312
498
 
1313
- > 1. The SDK will provide the task identifier (taskId) for the backend startup through the callback [onStartPublishMediaStream](https://write.woa.com/document/87029742770499584).
1314
- >
499
+ > 1. The SDK will provide the task identifier (taskId) for the backend startup through the callback onStartPublishMediaStream.
500
+ >
1315
501
 
1316
- > 2. The same task (both TRTCPublishMode and TRTCPublishCdnUrl are identical) can only be started once. If you need to update or stop this task later, you must record and use the returned taskId to operate through [updatePublishMediaStream](https://write.woa.com/document/87029727163494400) or [stopPublishMediaStream](https://write.woa.com/document/87029727163494400).
1317
- >
502
+ > 2. The same task (both TRTCPublishMode and TRTCPublishCdnUrl are identical) can only be started once. If you need to update or stop this task later, you must record and use the returned taskId to operate through updatePublishMediaStream or stopPublishMediaStream.
503
+ >
1318
504
 
1319
505
  > 3. The target supports configuring multiple CDN URLs simultaneously (up to 10). If the same relay/transcoding task needs to be published to multiple CDNs, you only need to configure multiple CDN URLs in the target. Even if there are multiple relay addresses for the same transcoding task, only one transcoding fee will be charged.
1320
- >
506
+ >
1321
507
 
1322
508
  > 4. When using, do not push multiple tasks to the same URL addresses simultaneously to avoid abnormal streaming status. A recommended scheme is to use "sdkappid_roomid_userid_main" in the URL as a distinguishing identifier. This naming convention is easy to recognize and will not cause conflicts in your multiple applications.
1323
- >
1324
-
509
+ >
1325
510
 
1326
511
  ## updatePublishMediaStream:publishTarget:encoderParam:mixingConfig:
1327
512
 
1328
-
1329
-
1330
513
  #### Update the published media stream.
1331
514
 
1332
- This interface will send directives to the TRTC server to update the media stream started by [startPublishMediaStream](https://write.woa.com/document/87029727163494400)
1333
- <table>
1334
- <tr>
1335
- <td rowspan="1" colSpan="1" >Parameters</td>
1336
-
1337
- <td rowspan="1" colSpan="1" >Description</td>
1338
- </tr>
1339
-
1340
- <tr>
1341
- <td rowspan="1" colSpan="1" >config</td>
1342
-
1343
- <td rowspan="1" colSpan="1" >Media stream transcoding configuration parameters. Refer to [TRTCStreamMixingConfig](https://write.woa.com/document/87029873782558720) for detailed configuration. This is required when transcoding and pushing back to the TRTC room. You need to specify your desired transcoding configuration parameters. It is invalid in relay mode.</td>
1344
- </tr>
1345
-
1346
- <tr>
1347
- <td rowspan="1" colSpan="1" >params</td>
1348
-
1349
- <td rowspan="1" colSpan="1" >Media stream encoding output parameters. Refer to [TRTCStreamEncoderParam](https://write.woa.com/document/87029873782558720) for detailed configuration. This is required when transcoding and pushing back to the TRTC room. You need to specify your desired transcoding output parameters. For better relay stability and CDN compatibility, it is also recommended to configure this during relay.</td>
1350
- </tr>
1351
-
1352
- <tr>
1353
- <td rowspan="1" colSpan="1" >target</td>
1354
-
1355
- <td rowspan="1" colSpan="1" >The target address for media stream publishing. Refer to [TRTCPublishTarget](https://write.woa.com/document/87029873782558720) for detailed configuration. Supports relay/transcoding to Tencent or third-party CDNs, and also supports transcoding pushback to the TRTC room.</td>
1356
- </tr>
1357
-
1358
- <tr>
1359
- <td rowspan="1" colSpan="1" >taskId</td>
1360
-
1361
- <td rowspan="1" colSpan="1" >It will provide you with the task identifier (i.e., taskId) for the background start task through the [onStartPublishMediaStream](https://write.woa.com/document/87029742770499584) callback</td>
1362
- </tr>
1363
- </table>
1364
-
515
+ This interface will send directives to the TRTC server to update the media stream started by startPublishMediaStream
516
+ | Parameters | Description |
517
+ | --- | --- |
518
+ | config | Media stream transcoding configuration parameters. Refer to TRTCStreamMixingConfig for detailed configuration. This is required when transcoding and pushing back to the TRTC room. You need to specify your desired transcoding configuration parameters. It is invalid in relay mode. |
519
+ | params | Media stream encoding output parameters. Refer to TRTCStreamEncoderParam for detailed configuration. This is required when transcoding and pushing back to the TRTC room. You need to specify your desired transcoding output parameters. For better relay stability and CDN compatibility, it is also recommended to configure this during relay. |
520
+ | target | The target address for media stream publishing. Refer to TRTCPublishTarget for detailed configuration. Supports relay/transcoding to Tencent or third-party CDNs, and also supports transcoding pushback to the TRTC room. |
521
+ | taskId | It will provide you with the task identifier (i.e., taskId) for the background start task through the onStartPublishMediaStream callback |
1365
522
 
1366
523
  > **Note**
1367
- >
524
+ >
1368
525
 
1369
526
  > 1. You can use this interface to update the published CDN URL (supports add and delete, up to 10 at the same time), but ensure you do not push multiple tasks to the same URL addresses simultaneously to avoid abnormal streaming status.
1370
- >
527
+ >
1371
528
 
1372
- > 2. You can update or adjust relay/transcoding tasks using taskId. For example, in PK business, you can initiate relay through [startPublishMediaStream](https://write.woa.com/document/87029727163494400) first, then use taskId and this interface to update the relay to a transcoding task when the anchor initiates PK. At this time, CDN playback will be continuous and without stream disconnection (you need to keep the media stream encoding output parameters consistent).
1373
- >
529
+ > 2. You can update or adjust relay/transcoding tasks using taskId. For example, in PK business, you can initiate relay through startPublishMediaStream first, then use taskId and this interface to update the relay to a transcoding task when the anchor initiates PK. At this time, CDN playback will be continuous and without stream disconnection (you need to keep the media stream encoding output parameters consistent).
530
+ >
1374
531
 
1375
532
  > 3. The same task does not support switching between Audio Only, Audio and Video, and Pure Video.
1376
- >
1377
-
533
+ >
1378
534
 
1379
535
  ## stopPublishMediaStream:
1380
536
 
1381
-
1382
-
1383
537
  #### Stop publishing media stream.
1384
538
 
1385
- This interface will send directives to the TRTC server to stop the media stream started by [startPublishMediaStream](https://write.woa.com/document/87029727163494400)
1386
- <table>
1387
- <tr>
1388
- <td rowspan="1" colSpan="1" >Parameters</td>
1389
-
1390
- <td rowspan="1" colSpan="1" >Description</td>
1391
- </tr>
1392
-
1393
- <tr>
1394
- <td rowspan="1" colSpan="1" >taskId</td>
1395
-
1396
- <td rowspan="1" colSpan="1" >It will provide you with the task identifier (i.e., taskId) for the background start task through the [onStartPublishMediaStream](https://write.woa.com/document/87029742770499584) callback</td>
1397
- </tr>
1398
- </table>
1399
-
539
+ This interface will send directives to the TRTC server to stop the media stream started by startPublishMediaStream
540
+ | Parameters | Description |
541
+ | --- | --- |
542
+ | taskId | It will provide you with the task identifier (i.e., taskId) for the background start task through the onStartPublishMediaStream callback |
1400
543
 
1401
544
  > **Note**
1402
- >
1403
-
1404
- > 1. If your business backend has not saved the taskId, after your host re-enters the room following an abnormal exit, you can call [startPublishMediaStream](https://write.woa.com/document/87029727163494400) again to start the task. TRTC backend will return a task start failure and provide you with the taskId from the last attempt
1405
- >
545
+ >
1406
546
 
1407
- > 2. If the taskId is an empty string, all media streams started by [startPublishMediaStream](https://write.woa.com/document/87029727163494400) for that user will stop. If you have only started one media stream or want to stop all media streams you started, this method is recommended.
1408
- >
547
+ > 1. If your business backend has not saved the taskId, after your host re-enters the room following an abnormal exit, you can call startPublishMediaStream again to start the task. TRTC backend will return a task start failure and provide you with the taskId from the last attempt
548
+ >
1409
549
 
550
+ > 2. If the taskId is an empty string, all media streams started by startPublishMediaStream for that user will stop. If you have only started one media stream or want to stop all media streams you started, this method is recommended.
551
+ >
1410
552
 
1411
553
  ## startLocalPreview:view:
1412
554
 
1413
-
1414
-
1415
555
  #### Enable the preview screen of the local camera (Mobile Terminal)
1416
556
 
1417
557
  Call this function before enterRoom. The SDK will only enable the camera and wait until you call enterRoom to start streaming.
1418
558
 
1419
- Call this function after enterRoom. The SDK will enable the camera and automatically begin video streaming. You will receive an onCameraDidReady callback notification in [TRTCCloudDelegate](https://write.woa.com/document/87029742770499584) when the first frame of the camera is rendered.
1420
- <table>
1421
- <tr>
1422
- <td rowspan="1" colSpan="1" >Parameters</td>
1423
-
1424
- <td rowspan="1" colSpan="1" >Description</td>
1425
- </tr>
1426
-
1427
- <tr>
1428
- <td rowspan="1" colSpan="1" >frontCamera</td>
1429
-
1430
- <td rowspan="1" colSpan="1" >YES: Front camera; NO: Rear camera.</td>
1431
- </tr>
1432
-
1433
- <tr>
1434
- <td rowspan="1" colSpan="1" >view</td>
1435
-
1436
- <td rowspan="1" colSpan="1" >Control carrying the video screen.</td>
1437
- </tr>
1438
- </table>
1439
-
559
+ Call this function after enterRoom. The SDK will enable the camera and automatically begin video streaming. You will receive an onCameraDidReady callback notification in TRTCCloudDelegate when the first frame of the camera is rendered.
560
+ | Parameters | Description |
561
+ | --- | --- |
562
+ | frontCamera | YES: Front camera; NO: Rear camera. |
563
+ | view | Control carrying the video screen. |
1440
564
 
1441
565
  > **Note**
1442
- >
566
+ >
1443
567
 
1444
568
  > If you wish to preview the camera screen and use BeautyManager to adjust the beauty parameters before streaming, you can:
1445
- >
569
+ >
1446
570
  > - Option 1: Call startLocalPreview before enterRoom.
1447
571
  > - Option 2: Call startLocalPreview after enterRoom and then call muteLocalVideo(YES).
1448
572
 
1449
-
1450
573
  ## startLocalPreview:
1451
574
 
1452
-
1453
-
1454
575
  #### Enable the preview screen of the local camera (Desktop Terminal)
1455
576
 
1456
577
  Before calling this interface, you can call setCurrentCameraDevice to choose between the Mac's built-in camera or an external camera.
@@ -1459,47 +580,29 @@ Call this function before enterRoom. The SDK will only enable the camera and wai
1459
580
 
1460
581
  Call this function after enterRoom. The SDK will enable the camera and automatically begin video streaming.
1461
582
 
1462
- When the first frame of the camera screen starts rendering, you will receive an onCameraDidReady callback notification in [TRTCCloudDelegate](https://write.woa.com/document/87029742770499584).
1463
- <table>
1464
- <tr>
1465
- <td rowspan="1" colSpan="1" >Parameters</td>
1466
-
1467
- <td rowspan="1" colSpan="1" >Description</td>
1468
- </tr>
1469
-
1470
- <tr>
1471
- <td rowspan="1" colSpan="1" >view</td>
1472
-
1473
- <td rowspan="1" colSpan="1" >Control carrying the video screen.</td>
1474
- </tr>
1475
- </table>
1476
-
583
+ When the first frame of the camera screen starts rendering, you will receive an onCameraDidReady callback notification in TRTCCloudDelegate.
584
+ | Parameters | Description |
585
+ | --- | --- |
586
+ | view | Control carrying the video screen. |
1477
587
 
1478
588
  > **Note**
1479
- >
589
+ >
1480
590
 
1481
591
  > If you wish to preview the camera screen and use BeautyManager to adjust the beauty parameters before streaming, you can:
1482
- >
592
+ >
1483
593
  > - Option 1: Call startLocalPreview before enterRoom.
1484
594
  > - Option 2: Call startLocalPreview after enterRoom and then call muteLocalVideo(YES).
1485
595
 
1486
-
1487
596
  ## updateLocalView:
1488
597
 
1489
-
1490
-
1491
598
  #### Update the preview screen of the local camera
1492
599
 
1493
600
  ## stopLocalPreview
1494
601
 
1495
-
1496
-
1497
602
  #### Stop camera preview
1498
603
 
1499
604
  ## muteLocalVideo:mute:
1500
605
 
1501
-
1502
-
1503
606
  #### Suspend/Resume publishing local video stream
1504
607
 
1505
608
  This interface can suspend (or recover) the publishing of local video screens. After suspension, other users in the same room will not be able to see your screen.
@@ -1510,414 +613,187 @@ Because start/stopLocalPreview requires turning on and off the camera, and turni
1510
613
 
1511
614
  In comparison, muteLocalVideo only needs to suspend or pass the data stream at the software layer. Therefore, it is more efficient and more suitable for scenarios requiring frequent openings and closings.
1512
615
 
1513
-
1514
-
1515
616
  When suspending/recovering the publishing of the specified TRTCVideoStreamTypeBig, other users in the same room will receive the onUserVideoAvailable callback notification.
1516
617
 
1517
618
  When suspending/recovering the publishing of the specified TRTCVideoStreamTypeSub, other users in the same room will receive the onUserSubStreamAvailable callback notification.
1518
- <table>
1519
- <tr>
1520
- <td rowspan="1" colSpan="1" >Parameters</td>
1521
-
1522
- <td rowspan="1" colSpan="1" >Description</td>
1523
- </tr>
1524
-
1525
- <tr>
1526
- <td rowspan="1" colSpan="1" >mute</td>
1527
-
1528
- <td rowspan="1" colSpan="1" >YES: Suspension; NO: Recovery.</td>
1529
- </tr>
1530
-
1531
- <tr>
1532
- <td rowspan="1" colSpan="1" >streamType</td>
1533
-
1534
- <td rowspan="1" colSpan="1" >The video stream type to be suspended/recovered (only supports [TRTCVideoStreamTypeBig](https://write.woa.com/document/87029873782558720) and [TRTCVideoStreamTypeSub](https://write.woa.com/document/87029873782558720)).</td>
1535
- </tr>
1536
- </table>
1537
-
619
+ | Parameters | Description |
620
+ | --- | --- |
621
+ | mute | YES: Suspension; NO: Recovery. |
622
+ | streamType | The video stream type to be suspended/recovered (only supports TRTCVideoStreamTypeBig and TRTCVideoStreamTypeSub). |
1538
623
 
1539
624
  ## setVideoMuteImage:fps:
1540
625
 
1541
-
1542
-
1543
626
  #### Set the alternative image during the suspension of the local screen
1544
627
 
1545
628
  When you call muteLocalVideo(YES) to suspend the local screen, you can set an alternative image through this interface. After setting, other users in the room will see this alternative image instead of a black screen.
1546
- <table>
1547
- <tr>
1548
- <td rowspan="1" colSpan="1" >Parameters</td>
1549
-
1550
- <td rowspan="1" colSpan="1" >Description</td>
1551
- </tr>
1552
-
1553
- <tr>
1554
- <td rowspan="1" colSpan="1" >fps</td>
1555
-
1556
- <td rowspan="1" colSpan="1" >Set the frame rate for the alternative image, with a minimum value of 5 and a maximum value of 10. The default is 5.</td>
1557
- </tr>
1558
-
1559
- <tr>
1560
- <td rowspan="1" colSpan="1" >image</td>
1561
-
1562
- <td rowspan="1" colSpan="1" >Set the alternative image. A null value means no video stream data will be sent after muteLocalVideo. The default is null.</td>
1563
- </tr>
1564
- </table>
1565
-
629
+ | Parameters | Description |
630
+ | --- | --- |
631
+ | fps | Set the frame rate for the alternative image, with a minimum value of 5 and a maximum value of 10. The default is 5. |
632
+ | image | Set the alternative image. A null value means no video stream data will be sent after muteLocalVideo. The default is null. |
1566
633
 
1567
634
  ## startRemoteView:streamType:view:
1568
635
 
1569
-
1570
-
1571
636
  #### Subscribe to the video stream of a remote user and bind the video rendering control
1572
637
 
1573
- By calling this API, the SDK can pull the video stream of the specified user ID and render it on the rendering control specified by the parameter view. You can set the display mode of the screen through [setRemoteRenderParams](https://write.woa.com/document/87029727163494400).
638
+ By calling this API, the SDK can pull the video stream of the specified user ID and render it on the rendering control specified by the parameter view. You can set the display mode of the screen through setRemoteRenderParams.
1574
639
  - If you already know the user ID of a user who has a video stream in the room, you can directly call startRemoteView to subscribe to that user's video feed.
1575
640
 
1576
- - If you do not know which users in the room are publishing video, you can wait for a notification from [onUserVideoAvailable](https://write.woa.com/document/87029742770499584) after entering the room.
1577
-
1578
-
1579
-
1580
-
1581
- Calling this API only starts pulling the video stream, at this point the screen still needs to load and buffer. When buffering is complete, you will receive a notification from [onFirstVideoFrame](https://write.woa.com/document/87029742770499584).
1582
- <table>
1583
- <tr>
1584
- <td rowspan="1" colSpan="1" >Parameters</td>
1585
-
1586
- <td rowspan="1" colSpan="1" >Description</td>
1587
- </tr>
1588
-
1589
- <tr>
1590
- <td rowspan="1" colSpan="1" >streamType</td>
1591
-
1592
- <td rowspan="1" colSpan="1" >Specify the type of video stream of the user you want to watch.<br>- High-definition main stream: [TRTCVideoStreamTypeBig](https://write.woa.com/document/87029873782558720).<br>- Low-definition substream: [TRTCVideoStreamTypeSmall](https://write.woa.com/document/87029873782558720) (effective only when the remote user has enabled dual-stream encoding through [enableEncSmallVideoStream](https://write.woa.com/document/87029727163494400)).<br>- Substream (commonly used for screen sharing): [TRTCVideoStreamTypeSub](https://write.woa.com/document/87029873782558720).</td>
1593
- </tr>
1594
-
1595
- <tr>
1596
- <td rowspan="1" colSpan="1" >userId</td>
1597
-
1598
- <td rowspan="1" colSpan="1" >Specify the remote user's ID.</td>
1599
- </tr>
1600
-
1601
- <tr>
1602
- <td rowspan="1" colSpan="1" >view</td>
1603
-
1604
- <td rowspan="1" colSpan="1" >Rendering control used to display the video screen.</td>
1605
- </tr>
1606
- </table>
641
+ - If you do not know which users in the room are publishing video, you can wait for a notification from onUserVideoAvailable after entering the room.
1607
642
 
643
+ Calling this API only starts pulling the video stream, at this point the screen still needs to load and buffer. When buffering is complete, you will receive a notification from onFirstVideoFrame.
644
+ | Parameters | Description |
645
+ | --- | --- |
646
+ | streamType | Specify the type of video stream of the user you want to watch.<br>- High-definition main stream: TRTCVideoStreamTypeBig.<br>- Low-definition substream: TRTCVideoStreamTypeSmall (effective only when the remote user has enabled dual-stream encoding through enableEncSmallVideoStream).<br>- Substream (commonly used for screen sharing): TRTCVideoStreamTypeSub. |
647
+ | userId | Specify the remote user's ID. |
648
+ | view | Rendering control used to display the video screen. |
1608
649
 
1609
650
  > **Note**
1610
- >
651
+ >
1611
652
 
1612
653
  > Note a few rules:
1613
- >
654
+ >
1614
655
 
1615
656
  > 1. The SDK supports watching the main stream and substream of a certain user ID simultaneously, or watching the substream and small stream of a certain user ID simultaneously, but does not support watching the main stream and small stream simultaneously.
1616
- >
657
+ >
1617
658
 
1618
- > 2. You can only watch the small stream of the specified user ID when dual-stream encoding is enabled through [enableEncSmallVideoStream](https://write.woa.com/document/87029727163494400).
1619
- >
659
+ > 2. You can only watch the small stream of the specified user ID when dual-stream encoding is enabled through enableEncSmallVideoStream.
660
+ >
1620
661
 
1621
662
  > 3. When the small stream of the specified user ID does not exist, the SDK will default to the user's main stream.
1622
- >
1623
-
663
+ >
1624
664
 
1625
665
  ## updateRemoteView:streamType:forUser:
1626
666
 
1627
-
1628
-
1629
667
  #### Update the video rendering control of a remote user
1630
668
 
1631
669
  This interface can be used to update the rendering control of a remote video image and is commonly used in scenarios that involve switching display areas.
1632
- <table>
1633
- <tr>
1634
- <td rowspan="1" colSpan="1" >Parameters</td>
1635
-
1636
- <td rowspan="1" colSpan="1" >Description</td>
1637
- </tr>
1638
-
1639
- <tr>
1640
- <td rowspan="1" colSpan="1" >streamType</td>
1641
-
1642
- <td rowspan="1" colSpan="1" >To set the stream type of the preview window (only supports [TRTCVideoStreamTypeBig](https://write.woa.com/document/87029873782558720) and [TRTCVideoStreamTypeSub](https://write.woa.com/document/87029873782558720)).</td>
1643
- </tr>
1644
-
1645
- <tr>
1646
- <td rowspan="1" colSpan="1" >userId</td>
1647
-
1648
- <td rowspan="1" colSpan="1" >Specify the remote user's ID.</td>
1649
- </tr>
1650
-
1651
- <tr>
1652
- <td rowspan="1" colSpan="1" >view</td>
1653
-
1654
- <td rowspan="1" colSpan="1" >Control carrying the video screen.</td>
1655
- </tr>
1656
- </table>
1657
-
670
+ | Parameters | Description |
671
+ | --- | --- |
672
+ | streamType | To set the stream type of the preview window (only supports TRTCVideoStreamTypeBig and TRTCVideoStreamTypeSub). |
673
+ | userId | Specify the remote user's ID. |
674
+ | view | Control carrying the video screen. |
1658
675
 
1659
676
  ## stopRemoteView:streamType:
1660
677
 
1661
-
1662
-
1663
678
  #### Unsubscribe from the remote user's video stream and release the rendering control
1664
679
 
1665
680
  Calling this interface will make the SDK stop receiving the video stream of the user and release the decoding and rendering resources of that video stream.
1666
- <table>
1667
- <tr>
1668
- <td rowspan="1" colSpan="1" >Parameters</td>
1669
-
1670
- <td rowspan="1" colSpan="1" >Description</td>
1671
- </tr>
1672
-
1673
- <tr>
1674
- <td rowspan="1" colSpan="1" >streamType</td>
1675
-
1676
- <td rowspan="1" colSpan="1" >Specify the type of video stream of the user you want to watch.<br>- High-definition main stream: [TRTCVideoStreamTypeBig](https://write.woa.com/document/87029873782558720).<br>- Low-definition small picture: [TRTCVideoStreamTypeSmall](https://write.woa.com/document/87029873782558720).<br>- Substream (commonly used for screen sharing): [TRTCVideoStreamTypeSub](https://write.woa.com/document/87029873782558720).</td>
1677
- </tr>
1678
-
1679
- <tr>
1680
- <td rowspan="1" colSpan="1" >userId</td>
1681
-
1682
- <td rowspan="1" colSpan="1" >Specify the remote user's ID.</td>
1683
- </tr>
1684
- </table>
1685
-
681
+ | Parameters | Description |
682
+ | --- | --- |
683
+ | streamType | Specify the type of video stream of the user you want to watch.<br>- High-definition main stream: TRTCVideoStreamTypeBig.<br>- Low-definition small picture: TRTCVideoStreamTypeSmall.<br>- Substream (commonly used for screen sharing): TRTCVideoStreamTypeSub. |
684
+ | userId | Specify the remote user's ID. |
1686
685
 
1687
686
  ## stopAllRemoteView
1688
687
 
1689
-
1690
-
1691
688
  #### Unsubscribe from all remote users' video streams and release all rendering resources
1692
689
 
1693
690
  Calling this interface will make the SDK stop receiving all remote video streams and release all decoding and rendering resources.
1694
691
 
1695
692
  > **Note**
1696
- >
693
+ >
1697
694
 
1698
695
  > If there is a currently displayed substream (screen sharing), it will also be stopped.
1699
- >
1700
-
696
+ >
1701
697
 
1702
698
  ## muteRemoteVideoStream:streamType:mute:
1703
699
 
1704
-
1705
-
1706
700
  #### Suspend/Resume subscription of the remote user's video stream
1707
701
 
1708
702
  This interface only pauses/resumes receiving the video stream of a designated user but does not release the display resources. The video image will be frozen on the last frame at the time of the interface call.
1709
- <table>
1710
- <tr>
1711
- <td rowspan="1" colSpan="1" >Parameters</td>
1712
-
1713
- <td rowspan="1" colSpan="1" >Description</td>
1714
- </tr>
1715
-
1716
- <tr>
1717
- <td rowspan="1" colSpan="1" >mute</td>
1718
-
1719
- <td rowspan="1" colSpan="1" >Pause receiving or not.</td>
1720
- </tr>
1721
-
1722
- <tr>
1723
- <td rowspan="1" colSpan="1" >streamType</td>
1724
-
1725
- <td rowspan="1" colSpan="1" >The video stream type to be paused/resumed.<br>- High-definition main stream: [TRTCVideoStreamTypeBig](https://write.woa.com/document/87029873782558720).<br>- Low-definition small picture: [TRTCVideoStreamTypeSmall](https://write.woa.com/document/87029873782558720).<br>- Substream (commonly used for screen sharing): [TRTCVideoStreamTypeSub](https://write.woa.com/document/87029873782558720).</td>
1726
- </tr>
1727
-
1728
- <tr>
1729
- <td rowspan="1" colSpan="1" >userId</td>
1730
-
1731
- <td rowspan="1" colSpan="1" >Specify the remote user's ID.</td>
1732
- </tr>
1733
- </table>
1734
-
703
+ | Parameters | Description |
704
+ | --- | --- |
705
+ | mute | Pause receiving or not. |
706
+ | streamType | The video stream type to be paused/resumed.<br>- High-definition main stream: TRTCVideoStreamTypeBig.<br>- Low-definition small picture: TRTCVideoStreamTypeSmall.<br>- Substream (commonly used for screen sharing): TRTCVideoStreamTypeSub. |
707
+ | userId | Specify the remote user's ID. |
1735
708
 
1736
709
  > **Note**
1737
- >
1738
-
1739
- > This interface supports calling before entering the room ([enterRoom](https://write.woa.com/document/87029727163494400)), and the paused state will be reset after leaving the room ([exitRoom](https://write.woa.com/document/87029727163494400)).
1740
- >
710
+ >
1741
711
 
1742
- > After calling this interface to pause receiving the video stream of a designated user, only calling the [startRemoteView](https://write.woa.com/document/87029727163494400) interface will not play the video of the designated user. You need to call [muteRemoteVideoStream](https://write.woa.com/document/87029727163494400)(NO) or [muteAllRemoteVideoStreams](https://write.woa.com/document/87029727163494400)(NO) to resume.
1743
- >
712
+ > This interface supports calling before entering the room (enterRoom), and the paused state will be reset after leaving the room (exitRoom).
713
+ >
1744
714
 
715
+ > After calling this interface to pause receiving the video stream of a designated user, only calling the startRemoteView interface will not play the video of the designated user. You need to call muteRemoteVideoStream(NO) or muteAllRemoteVideoStreams(NO) to resume.
716
+ >
1745
717
 
1746
718
  ## muteAllRemoteVideoStreams:
1747
719
 
1748
-
1749
-
1750
720
  #### Suspend/Resume subscription of all remote users' video streams
1751
721
 
1752
722
  This interface only pauses/resumes receiving all users' video streams but does not release the display resources. The video image will be frozen on the last frame at the time of the interface call.
1753
- <table>
1754
- <tr>
1755
- <td rowspan="1" colSpan="1" >Parameters</td>
1756
-
1757
- <td rowspan="1" colSpan="1" >Description</td>
1758
- </tr>
1759
-
1760
- <tr>
1761
- <td rowspan="1" colSpan="1" >mute</td>
1762
-
1763
- <td rowspan="1" colSpan="1" >Pause receiving or not.</td>
1764
- </tr>
1765
- </table>
1766
-
723
+ | Parameters | Description |
724
+ | --- | --- |
725
+ | mute | Pause receiving or not. |
1767
726
 
1768
727
  > **Note**
1769
- >
728
+ >
1770
729
 
1771
- > This interface supports calling before entering the room ([enterRoom](https://write.woa.com/document/87029727163494400)), and the paused state will be reset after leaving the room ([exitRoom](https://write.woa.com/document/87029727163494400)).
1772
- >
1773
-
1774
- > After calling this interface to suspend receiving all users' video streams, just calling the [startRemoteView](https://write.woa.com/document/87029727163494400) interface will not play the specified user's video. You need to call [muteRemoteVideoStream](https://write.woa.com/document/87029727163494400)(NO) or [muteAllRemoteVideoStreams](https://write.woa.com/document/87029727163494400)(NO) to resume.
1775
- >
730
+ > This interface supports calling before entering the room (enterRoom), and the paused state will be reset after leaving the room (exitRoom).
731
+ >
1776
732
 
733
+ > After calling this interface to suspend receiving all users' video streams, just calling the startRemoteView interface will not play the specified user's video. You need to call muteRemoteVideoStream(NO) or muteAllRemoteVideoStreams(NO) to resume.
734
+ >
1777
735
 
1778
736
  ## setVideoEncoderParam:
1779
737
 
1780
-
1781
-
1782
738
  #### Set encoding parameters for the video encoder
1783
739
 
1784
740
  This setting determines the screen quality seen by remote users, and also affects the screen quality of the recorded video file on the cloud.
1785
- <table>
1786
- <tr>
1787
- <td rowspan="1" colSpan="1" >Parameters</td>
1788
-
1789
- <td rowspan="1" colSpan="1" >Description</td>
1790
- </tr>
1791
-
1792
- <tr>
1793
- <td rowspan="1" colSpan="1" >param</td>
1794
-
1795
- <td rowspan="1" colSpan="1" >Used to set the video encoder parameters. For details, see [TRTCVideoEncParam](https://write.woa.com/document/87029873782558720).</td>
1796
- </tr>
1797
- </table>
1798
-
741
+ | Parameters | Description |
742
+ | --- | --- |
743
+ | param | Used to set the video encoder parameters. For details, see TRTCVideoEncParam. |
1799
744
 
1800
745
  > **Note**
1801
- >
746
+ >
1802
747
 
1803
748
  > Starting from version v11.5, the encoding output resolution will align with width 8 height 2 bytes, and it will be adjusted downwards; eg: input resolution 540x960, actual encoding output resolution 536x960.
1804
- >
1805
-
749
+ >
1806
750
 
1807
751
  ## setNetworkQosParam:
1808
752
 
1809
-
1810
-
1811
753
  #### Set network quality control parameters
1812
754
 
1813
755
  This setting determines the quality control strategy under poor network conditions, such as "Quality Priority" or "Smoothness Priority" strategies.
1814
- <table>
1815
- <tr>
1816
- <td rowspan="1" colSpan="1" >Parameters</td>
1817
-
1818
- <td rowspan="1" colSpan="1" >Description</td>
1819
- </tr>
1820
-
1821
- <tr>
1822
- <td rowspan="1" colSpan="1" >param</td>
1823
-
1824
- <td rowspan="1" colSpan="1" >Used to set the network quality control parameters. For details, see [TRTCNetworkQosParam](https://write.woa.com/document/87029873782558720).</td>
1825
- </tr>
1826
- </table>
1827
-
756
+ | Parameters | Description |
757
+ | --- | --- |
758
+ | param | Used to set the network quality control parameters. For details, see TRTCNetworkQosParam. |
1828
759
 
1829
760
  ## setLocalRenderParams:
1830
761
 
1831
-
1832
-
1833
762
  #### Set rendering parameters for the local screen
1834
763
 
1835
764
  Configurable parameters include: rotation angle, fill mode, and left-right mirroring of the picture.
1836
- <table>
1837
- <tr>
1838
- <td rowspan="1" colSpan="1" >Parameters</td>
1839
-
1840
- <td rowspan="1" colSpan="1" >Description</td>
1841
- </tr>
1842
-
1843
- <tr>
1844
- <td rowspan="1" colSpan="1" >params</td>
1845
-
1846
- <td rowspan="1" colSpan="1" >Picture render parameters, see [TRTCRenderParams](https://write.woa.com/document/87029873782558720) for details.</td>
1847
- </tr>
1848
- </table>
1849
-
765
+ | Parameters | Description |
766
+ | --- | --- |
767
+ | params | Picture render parameters, see TRTCRenderParams for details. |
1850
768
 
1851
769
  ## setRemoteRenderParams:streamType:params:
1852
770
 
1853
-
1854
-
1855
771
  #### Set rendering mode for the remote screen
1856
772
 
1857
773
  Configurable parameters include: rotation angle, fill mode, and left-right mirroring of the picture.
1858
- <table>
1859
- <tr>
1860
- <td rowspan="1" colSpan="1" >Parameters</td>
1861
-
1862
- <td rowspan="1" colSpan="1" >Description</td>
1863
- </tr>
1864
-
1865
- <tr>
1866
- <td rowspan="1" colSpan="1" >params</td>
1867
-
1868
- <td rowspan="1" colSpan="1" >Picture render parameters, see [TRTCRenderParams](https://write.woa.com/document/87029873782558720) for details.</td>
1869
- </tr>
1870
-
1871
- <tr>
1872
- <td rowspan="1" colSpan="1" >streamType</td>
1873
-
1874
- <td rowspan="1" colSpan="1" >It can be set as the main road picture ([TRTCVideoStreamTypeBig](https://write.woa.com/document/87029873782558720)) or auxiliary road picture ([TRTCVideoStreamTypeSub](https://write.woa.com/document/87029873782558720)).</td>
1875
- </tr>
1876
-
1877
- <tr>
1878
- <td rowspan="1" colSpan="1" >userId</td>
1879
-
1880
- <td rowspan="1" colSpan="1" >Specify the remote user's ID.</td>
1881
- </tr>
1882
- </table>
1883
-
774
+ | Parameters | Description |
775
+ | --- | --- |
776
+ | params | Picture render parameters, see TRTCRenderParams for details. |
777
+ | streamType | It can be set as the main road picture (TRTCVideoStreamTypeBig) or auxiliary road picture (TRTCVideoStreamTypeSub). |
778
+ | userId | Specify the remote user's ID. |
1884
779
 
1885
780
  ## enableEncSmallVideoStream:withQuality:
1886
781
 
1887
-
1888
-
1889
782
  #### Enable picture-in-picture dual-stream encoding mode
1890
783
 
1891
784
  After enabling the dual-stream encoding mode, the current user's encoder will output both [HD large screen] and [low-definition small picture] video streams (but only one audio stream).
1892
785
 
1893
786
  This way, other users in the room can choose to subscribe to [HD large screen] or [low-definition small screen] based on their network conditions or screen size.
1894
- <table>
1895
- <tr>
1896
- <td rowspan="1" colSpan="1" >Parameters</td>
1897
-
1898
- <td rowspan="1" colSpan="1" >Description</td>
1899
- </tr>
1900
-
1901
- <tr>
1902
- <td rowspan="1" colSpan="1" >enable</td>
1903
-
1904
- <td rowspan="1" colSpan="1" >Whether to enable small frame encoding, default value: NO.</td>
1905
- </tr>
1906
-
1907
- <tr>
1908
- <td rowspan="1" colSpan="1" >smallVideoEncParam</td>
1909
-
1910
- <td rowspan="1" colSpan="1" >Video parameters for the substream.</td>
1911
- </tr>
1912
- </table>
1913
-
787
+ | Parameters | Description |
788
+ | --- | --- |
789
+ | enable | Whether to enable small frame encoding, default value: NO. |
790
+ | smallVideoEncParam | Video parameters for the substream. |
1914
791
 
1915
792
  > **Note**
1916
- >
793
+ >
1917
794
 
1918
795
  > When the dual-stream encoding mode is enabled, it consumes more CPU and network bandwidth. Therefore, it may be considered for use on Mac, Windows, or high-performance Pads. It is not recommended for mobile devices.
1919
- >
1920
-
796
+ >
1921
797
 
1922
798
  #### Return value description:
1923
799
 
@@ -1925,120 +801,52 @@ This way, other users in the room can choose to subscribe to [HD large screen] o
1925
801
 
1926
802
  ## setRemoteVideoStreamType:type:
1927
803
 
1928
-
1929
-
1930
804
  #### Switch picture-in-picture for the specified remote user
1931
805
 
1932
- After a host in the room has enabled dual-channel encoding, the default screen subscribed by other users in the room through [startRemoteView](https://write.woa.com/document/87029727163494400) will be [HD large screen].
1933
-
1934
- You can use this interface to select whether you want to subscribe to the large screen or small screen. This interface is effective whether called before or after [startRemoteView](https://write.woa.com/document/87029727163494400).
1935
- <table>
1936
- <tr>
1937
- <td rowspan="1" colSpan="1" >Parameters</td>
1938
-
1939
- <td rowspan="1" colSpan="1" >Description</td>
1940
- </tr>
1941
-
1942
- <tr>
1943
- <td rowspan="1" colSpan="1" >streamType</td>
1944
-
1945
- <td rowspan="1" colSpan="1" >Video stream type, i.e., choose to watch the large screen or the small screen, default is large screen.</td>
1946
- </tr>
1947
-
1948
- <tr>
1949
- <td rowspan="1" colSpan="1" >userId</td>
1950
-
1951
- <td rowspan="1" colSpan="1" >Specify the remote user's ID.</td>
1952
- </tr>
1953
- </table>
806
+ After a host in the room has enabled dual-channel encoding, the default screen subscribed by other users in the room through startRemoteView will be [HD large screen].
1954
807
 
808
+ You can use this interface to select whether you want to subscribe to the large screen or small screen. This interface is effective whether called before or after startRemoteView.
809
+ | Parameters | Description |
810
+ | --- | --- |
811
+ | streamType | Video stream type, i.e., choose to watch the large screen or the small screen, default is large screen. |
812
+ | userId | Specify the remote user's ID. |
1955
813
 
1956
814
  > **Note**
1957
- >
1958
-
1959
- > This feature requires the target user to have already enabled dual-channel encoding mode through [enableEncSmallVideoStream](https://write.woa.com/document/87029727163494400) in advance; otherwise, this call has no actual effect.
1960
- >
815
+ >
1961
816
 
817
+ > This feature requires the target user to have already enabled dual-channel encoding mode through enableEncSmallVideoStream in advance; otherwise, this call has no actual effect.
818
+ >
1962
819
 
1963
820
  ## snapshotVideo:type:sourceType:
1964
821
 
1965
-
1966
-
1967
822
  #### Take a video screenshot
1968
823
 
1969
824
  You can use this interface to capture the local video footage, the main stream picture of a remote user, and the auxiliary stream (screen sharing) picture of a remote user.
1970
- <table>
1971
- <tr>
1972
- <td rowspan="1" colSpan="1" >Parameters</td>
1973
-
1974
- <td rowspan="1" colSpan="1" >Description</td>
1975
- </tr>
1976
-
1977
- <tr>
1978
- <td rowspan="1" colSpan="1" >sourceType</td>
1979
-
1980
- <td rowspan="1" colSpan="1" >Source of the picture can be chosen as captured video stream ([TRTCSnapshotSourceTypeStream](https://write.woa.com/document/87029873782558720)), video rendering picture ([TRTCSnapshotSourceTypeView](https://write.woa.com/document/87029873782558720)), or captured picture ([TRTCSnapshotSourceTypeCapture](https://write.woa.com/document/87029873782558720)). Captured picture screenshots are clearer.</td>
1981
- </tr>
1982
-
1983
- <tr>
1984
- <td rowspan="1" colSpan="1" >streamType</td>
1985
-
1986
- <td rowspan="1" colSpan="1" >Video stream type, you can choose to capture the main stream picture ([TRTCVideoStreamTypeBig](https://write.woa.com/document/87029873782558720), commonly used for cameras) or the auxiliary stream picture ([TRTCVideoStreamTypeSub](https://write.woa.com/document/87029873782558720), commonly used for screen sharing).</td>
1987
- </tr>
1988
-
1989
- <tr>
1990
- <td rowspan="1" colSpan="1" >userId</td>
1991
-
1992
- <td rowspan="1" colSpan="1" >User ID, if left blank, indicates capturing the local video footage.</td>
1993
- </tr>
1994
- </table>
1995
-
825
+ | Parameters | Description |
826
+ | --- | --- |
827
+ | sourceType | Source of the picture can be chosen as captured video stream (TRTCSnapshotSourceTypeStream), video rendering picture (TRTCSnapshotSourceTypeView), or captured picture (TRTCSnapshotSourceTypeCapture). Captured picture screenshots are clearer. |
828
+ | streamType | Video stream type, you can choose to capture the main stream picture (TRTCVideoStreamTypeBig, commonly used for cameras) or the auxiliary stream picture (TRTCVideoStreamTypeSub, commonly used for screen sharing). |
829
+ | userId | User ID, if left blank, indicates capturing the local video footage. |
1996
830
 
1997
831
  > **Note**
1998
- >
1999
-
2000
- > Windows platform currently only supports capturing [TRTCSnapshotSourceTypeStream](https://write.woa.com/document/87029873782558720) source video footage.
2001
- >
832
+ >
2002
833
 
834
+ > Windows platform currently only supports capturing TRTCSnapshotSourceTypeStream source video footage.
835
+ >
2003
836
 
2004
837
  ## setPerspectiveCorrectionWithUser:srcPoints:dstPoints:
2005
838
 
2006
-
2007
-
2008
839
  #### Set perspective correction coordinate settings for the video screen
2009
840
 
2010
841
  You can specify the coordinate area for perspective correction of the rendered image through this interface.
2011
- <table>
2012
- <tr>
2013
- <td rowspan="1" colSpan="1" >Parameters</td>
2014
-
2015
- <td rowspan="1" colSpan="1" >Description</td>
2016
- </tr>
2017
-
2018
- <tr>
2019
- <td rowspan="1" colSpan="1" >dstPoints</td>
2020
-
2021
- <td rowspan="1" colSpan="1" >The target coordinates area to be corrected to, consists of 4 vertex coordinates. They need to be passed in the order of top-left, bottom-left, top-right, and bottom-right. All coordinates need to be normalized to the [0,1] range based on the image width and height; passing null will stop the perspective correction.</td>
2022
- </tr>
2023
-
2024
- <tr>
2025
- <td rowspan="1" colSpan="1" >srcPoints</td>
2026
-
2027
- <td rowspan="1" colSpan="1" >The original image coordinate area consists of 4 vertex coordinates. They need to be passed in the order of top-left, bottom-left, top-right, and bottom-right. All coordinates need to be normalized to the [0,1] range based on the image width and height; passing null will stop the perspective correction.</td>
2028
- </tr>
2029
-
2030
- <tr>
2031
- <td rowspan="1" colSpan="1" >userId</td>
2032
-
2033
- <td rowspan="1" colSpan="1" >User ID, if left blank, indicates correcting the local video footage.</td>
2034
- </tr>
2035
- </table>
2036
-
842
+ | Parameters | Description |
843
+ | --- | --- |
844
+ | dstPoints | The target coordinates area to be corrected to, consists of 4 vertex coordinates. They need to be passed in the order of top-left, bottom-left, top-right, and bottom-right. All coordinates need to be normalized to the [0,1] range based on the image width and height; passing null will stop the perspective correction. |
845
+ | srcPoints | The original image coordinate area consists of 4 vertex coordinates. They need to be passed in the order of top-left, bottom-left, top-right, and bottom-right. All coordinates need to be normalized to the [0,1] range based on the image width and height; passing null will stop the perspective correction. |
846
+ | userId | User ID, if left blank, indicates correcting the local video footage. |
2037
847
 
2038
848
  ## setGravitySensorAdaptiveMode:
2039
849
 
2040
-
2041
-
2042
850
  #### Set gravity sensing adaptive mode (11.7 and above)
2043
851
 
2044
852
  After gravity sensing is enabled, if the collection end device rotates, both the collection end and audience side will render the image accordingly to ensure the image in the view is always upright.
@@ -2048,321 +856,160 @@ It only takes effect in the SDK internal camera capture scene and only works on
2048
856
  1. This interface only affects the collection end. If you are just watching the image in the room, enabling this interface is ineffective
2049
857
 
2050
858
  2. When the collection end device rotates 90 degrees or 270 degrees, the image seen by the collection end or audience side may be cropped to maintain aspect ratio coordination
2051
- <table>
2052
- <tr>
2053
- <td rowspan="1" colSpan="1" >Parameters</td>
2054
-
2055
- <td rowspan="1" colSpan="1" >Description</td>
2056
- </tr>
2057
-
2058
- <tr>
2059
- <td rowspan="1" colSpan="1" >mode</td>
2060
-
2061
- <td rowspan="1" colSpan="1" >Gravity sensing mode. For details, see [TRTCGravitySensorAdaptiveMode_Disable](https://write.woa.com/document/87029873782558720), [TRTCGravitySensorAdaptiveMode_FillByCenterCrop](https://write.woa.com/document/87029873782558720), and [TRTCGravitySensorAdaptiveMode_FitWithBlackBorder](https://write.woa.com/document/87029873782558720). Default value: [TRTCGravitySensorAdaptiveMode_Disable](https://write.woa.com/document/87029873782558720).</td>
2062
- </tr>
2063
- </table>
2064
-
859
+ | Parameters | Description |
860
+ | --- | --- |
861
+ | mode | Gravity sensing mode. For details, see TRTCGravitySensorAdaptiveMode_Disable, TRTCGravitySensorAdaptiveMode_FillByCenterCrop, and TRTCGravitySensorAdaptiveMode_FitWithBlackBorder. Default value: TRTCGravitySensorAdaptiveMode_Disable. |
2065
862
 
2066
863
  ## startLocalAudio:
2067
864
 
2068
-
2069
-
2070
865
  #### Enable collection and publishing of local audio
2071
866
 
2072
867
  The SDK does not enable the microphone by default. When users need to publish local audio, they need to call this interface to enable microphone collection and encoding and publish the audio to the current room.
2073
868
 
2074
- After enabling the collection and publishing of local audio, other users in the room will receive a [onUserAudioAvailable](https://write.woa.com/document/87029742770499584)(userId, YES) notification.
2075
- <table>
2076
- <tr>
2077
- <td rowspan="1" colSpan="1" >Parameters</td>
2078
-
2079
- <td rowspan="1" colSpan="1" >Description</td>
2080
- </tr>
2081
-
2082
- <tr>
2083
- <td rowspan="1" colSpan="1" >quality</td>
2084
-
2085
- <td rowspan="1" colSpan="1" >Sound quality<br>- [TRTCAudioQualitySpeech](https://write.woa.com/document/87029873782558720), Fluent: Sample rate: 16k; Mono; Audio bitrate: 16kbps; Suitable for voice call-dominated scenarios, such as online meetings and voice calls.<br>- [TRTCAudioQualityDefault](https://write.woa.com/document/87029873782558720), Default: Sample rate: 48k; Mono; Audio bitrate: 50kbps; The default audio quality of the SDK, recommended unless there are special requirements.<br>- [TRTCAudioQualityMusic](https://write.woa.com/document/87029873782558720), High Quality: Sample rate: 48k; Stereo + full band; Audio bitrate: 128kbps; Suitable for high-fidelity music transmission scenarios, such as online KTV and music live streaming.</td>
2086
- </tr>
2087
- </table>
2088
-
869
+ After enabling the collection and publishing of local audio, other users in the room will receive a onUserAudioAvailable(userId, YES) notification.
870
+ | Parameters | Description |
871
+ | --- | --- |
872
+ | quality | Sound quality<br>- TRTCAudioQualitySpeech, Fluent: Sample rate: 16k; Mono; Audio bitrate: 16kbps; Suitable for voice call-dominated scenarios, such as online meetings and voice calls.<br>- TRTCAudioQualityDefault, Default: Sample rate: 48k; Mono; Audio bitrate: 50kbps; The default audio quality of the SDK, recommended unless there are special requirements.<br>- TRTCAudioQualityMusic, High Quality: Sample rate: 48k; Stereo + full band; Audio bitrate: 128kbps; Suitable for high-fidelity music transmission scenarios, such as online KTV and music live streaming. |
2089
873
 
2090
874
  > **Note**
2091
- >
875
+ >
2092
876
 
2093
877
  > This function checks the microphone permissions. If the current app does not have microphone permissions, the SDK will automatically request microphone permissions from the user.
2094
- >
2095
-
878
+ >
2096
879
 
2097
880
  ## stopLocalAudio
2098
881
 
2099
-
2100
-
2101
882
  #### Stop collection and publishing of local audio
2102
883
 
2103
- After stopping the collection and publishing of local audio, other users in the room will receive a [onUserAudioAvailable](https://write.woa.com/document/87029742770499584)(userId, NO) notification.
884
+ After stopping the collection and publishing of local audio, other users in the room will receive a onUserAudioAvailable(userId, NO) notification.
2104
885
 
2105
886
  ## muteLocalAudio:
2106
887
 
2107
-
2108
-
2109
888
  #### Pause/Resume publishing of the local audio stream
2110
889
 
2111
- After you pause the publication of the local audio stream, other users in the room will receive a notification [onUserAudioAvailable](https://write.woa.com/document/87029742770499584)(userId, NO).
2112
-
2113
- After you resume the publication of the local audio stream, other users in the room will receive a notification [onUserAudioAvailable](https://write.woa.com/document/87029742770499584)(userId, YES).
2114
-
890
+ After you pause the publication of the local audio stream, other users in the room will receive a notification onUserAudioAvailable(userId, NO).
2115
891
 
892
+ After you resume the publication of the local audio stream, other users in the room will receive a notification onUserAudioAvailable(userId, YES).
2116
893
 
2117
- The difference from [stopLocalAudio](https://write.woa.com/document/87029727163494400) is that muteLocalAudio(YES) does not release the microphone permission but continues to send extremely low bitrate mute packets.
2118
-
2119
- This is very suitable for scenarios that require cloud recording because video files in formats like MP4 demand high continuity of audio data, and using [stopLocalAudio](https://write.woa.com/document/87029727163494400) will make the recorded MP4 files difficult to play.
2120
-
2121
- Therefore, in scenarios where the quality of the recorded files is highly required, it is recommended to choose muteLocalAudio instead of stopLocalAudio.
2122
- <table>
2123
- <tr>
2124
- <td rowspan="1" colSpan="1" >Parameters</td>
2125
-
2126
- <td rowspan="1" colSpan="1" >Description</td>
2127
- </tr>
2128
-
2129
- <tr>
2130
- <td rowspan="1" colSpan="1" >mute</td>
2131
-
2132
- <td rowspan="1" colSpan="1" >YES: Mute; NO: Resume.</td>
2133
- </tr>
2134
- </table>
2135
-
2136
-
2137
- ## muteRemoteAudio:mute:
2138
-
2139
-
2140
-
2141
- #### Pause/Resume playing of the remote audio stream
2142
-
2143
- When you mute a user's remote audio, the SDK will stop playing the specified user's sound and will also stop pulling that user's audio data.
2144
- <table>
2145
- <tr>
2146
- <td rowspan="1" colSpan="1" >Parameters</td>
2147
-
2148
- <td rowspan="1" colSpan="1" >Description</td>
2149
- </tr>
894
+ The difference from stopLocalAudio is that muteLocalAudio(YES) does not release the microphone permission but continues to send extremely low bitrate mute packets.
2150
895
 
2151
- <tr>
2152
- <td rowspan="1" colSpan="1" >mute</td>
896
+ This is very suitable for scenarios that require cloud recording because video files in formats like MP4 demand high continuity of audio data, and using stopLocalAudio will make the recorded MP4 files difficult to play.
2153
897
 
2154
- <td rowspan="1" colSpan="1" >YES: Mute; NO: Unmute.</td>
2155
- </tr>
898
+ Therefore, in scenarios where the quality of the recorded files is highly required, it is recommended to choose muteLocalAudio instead of stopLocalAudio.
899
+ | Parameters | Description |
900
+ | --- | --- |
901
+ | mute | YES: Mute; NO: Resume. |
2156
902
 
2157
- <tr>
2158
- <td rowspan="1" colSpan="1" >userId</td>
903
+ ## muteRemoteAudio:mute:
2159
904
 
2160
- <td rowspan="1" colSpan="1" >Used to specify the remote user's ID.</td>
2161
- </tr>
2162
- </table>
905
+ #### Pause/Resume playing of the remote audio stream
2163
906
 
907
+ When you mute a user's remote audio, the SDK will stop playing the specified user's sound and will also stop pulling that user's audio data.
908
+ | Parameters | Description |
909
+ | --- | --- |
910
+ | mute | YES: Mute; NO: Unmute. |
911
+ | userId | Used to specify the remote user's ID. |
2164
912
 
2165
913
  > **Note**
2166
- >
914
+ >
2167
915
 
2168
916
  > This interface can be called either before or after entering a room (enterRoom). The mute state will be reset to NO after exiting the room (exitRoom).
2169
- >
2170
-
917
+ >
2171
918
 
2172
919
  ## muteAllRemoteAudio:
2173
920
 
2174
-
2175
-
2176
921
  #### Pause/Resume playing of all remote users' audio streams
2177
922
 
2178
923
  When you mute all users' remote audio, the SDK will stop playing all remote audio streams and will also stop pulling all users' audio data.
2179
- <table>
2180
- <tr>
2181
- <td rowspan="1" colSpan="1" >Parameters</td>
2182
-
2183
- <td rowspan="1" colSpan="1" >Description</td>
2184
- </tr>
2185
-
2186
- <tr>
2187
- <td rowspan="1" colSpan="1" >mute</td>
2188
-
2189
- <td rowspan="1" colSpan="1" >YES: Mute; NO: Unmute.</td>
2190
- </tr>
2191
- </table>
2192
-
924
+ | Parameters | Description |
925
+ | --- | --- |
926
+ | mute | YES: Mute; NO: Unmute. |
2193
927
 
2194
928
  > **Note**
2195
- >
929
+ >
2196
930
 
2197
931
  > This interface can be called either before or after entering a room (enterRoom). The mute state will be reset to NO after exiting the room (exitRoom).
2198
- >
2199
-
932
+ >
2200
933
 
2201
934
  ## setAudioRoute:
2202
935
 
2203
-
2204
-
2205
936
  #### Sets audio routing.
2206
937
 
2207
938
  Set "audio routing", i.e., whether the sound is played through the mobile phone's speaker or earpiece. Therefore, this interface is only applicable to mobile devices such as phones.
2208
939
 
2209
-
2210
-
2211
940
  A mobile phone has two speakers: one is the earpiece located at the top of the phone, and the other is the stereo speaker located at the bottom.
2212
941
 
2213
942
  When the audio routing is set to the earpiece, the sound is relatively low, and you need to bring your ear close to hear it clearly, ensuring better privacy. It is suitable for phone calls.
2214
943
 
2215
944
  When the audio routing is set to the speaker, the sound is relatively loud. You can hear it clearly without holding the phone to your face, thus enabling the "hands-free" feature.
2216
- <table>
2217
- <tr>
2218
- <td rowspan="1" colSpan="1" >Parameters</td>
2219
-
2220
- <td rowspan="1" colSpan="1" >Description</td>
2221
- </tr>
2222
-
2223
- <tr>
2224
- <td rowspan="1" colSpan="1" >route</td>
2225
-
2226
- <td rowspan="1" colSpan="1" >Audio routing refers to where the sound is output (speaker, earpiece). Default value: [TRTCAudioModeSpeakerphone](https://write.woa.com/document/87029873782558720).</td>
2227
- </tr>
2228
- </table>
2229
-
945
+ | Parameters | Description |
946
+ | --- | --- |
947
+ | route | Audio routing refers to where the sound is output (speaker, earpiece). Default value: TRTCAudioModeSpeakerphone. |
2230
948
 
2231
949
  ## setRemoteAudioVolume:volume:
2232
950
 
2233
-
2234
-
2235
951
  #### Set the playback volume for a specific remote user
2236
952
 
2237
953
  You can mute a remote user's sound by using setRemoteAudioVolume(userId, 0).
2238
- <table>
2239
- <tr>
2240
- <td rowspan="1" colSpan="1" >Parameters</td>
2241
-
2242
- <td rowspan="1" colSpan="1" >Description</td>
2243
- </tr>
2244
-
2245
- <tr>
2246
- <td rowspan="1" colSpan="1" >userId</td>
2247
-
2248
- <td rowspan="1" colSpan="1" >Used to specify the remote user's ID.</td>
2249
- </tr>
2250
-
2251
- <tr>
2252
- <td rowspan="1" colSpan="1" >volume</td>
2253
-
2254
- <td rowspan="1" colSpan="1" >Volume. Value range: 0-100. Default value: 100.</td>
2255
- </tr>
2256
- </table>
2257
-
954
+ | Parameters | Description |
955
+ | --- | --- |
956
+ | userId | Used to specify the remote user's ID. |
957
+ | volume | Volume. Value range: 0-100. Default value: 100. |
2258
958
 
2259
959
  > **Note**
2260
- >
960
+ >
2261
961
 
2262
962
  > If you still feel the volume is too low after setting it to 100, you can set the maximum volume to 150. However, a volume above 100 carries a risk of pop noise, so proceed with caution.
2263
- >
2264
-
963
+ >
2265
964
 
2266
965
  ## setAudioCaptureVolume:
2267
966
 
2268
-
2269
-
2270
967
  #### Sets the local audio capture volume.
2271
- <table>
2272
- <tr>
2273
- <td rowspan="1" colSpan="1" >Parameters</td>
2274
-
2275
- <td rowspan="1" colSpan="1" >Description</td>
2276
- </tr>
2277
-
2278
- <tr>
2279
- <td rowspan="1" colSpan="1" >volume</td>
2280
-
2281
- <td rowspan="1" colSpan="1" >Volume. Value range: 0-100. Default value: 100.</td>
2282
- </tr>
2283
- </table>
2284
-
968
+ | Parameters | Description |
969
+ | --- | --- |
970
+ | volume | Volume. Value range: 0-100. Default value: 100. |
2285
971
 
2286
972
  > **Note**
2287
- >
973
+ >
2288
974
 
2289
975
  > If you still feel the volume is too low after setting it to 100, you can set the maximum volume to 150. However, a volume above 100 carries a risk of pop noise, so proceed with caution.
2290
- >
2291
-
976
+ >
2292
977
 
2293
978
  ## getAudioCaptureVolume
2294
979
 
2295
-
2296
-
2297
980
  #### Obtains the local audio capture volume.
2298
981
 
2299
982
  ## setAudioPlayoutVolume:
2300
983
 
2301
-
2302
-
2303
984
  #### Sets the remote audio playback volume.
2304
985
 
2305
986
  This interface controls the volume that the SDK finally delivers to the system for playback. The adjustment will affect the volume of the local audio recording file, but it will not affect the volume of the ear return.
2306
- <table>
2307
- <tr>
2308
- <td rowspan="1" colSpan="1" >Parameters</td>
2309
-
2310
- <td rowspan="1" colSpan="1" >Description</td>
2311
- </tr>
2312
-
2313
- <tr>
2314
- <td rowspan="1" colSpan="1" >volume</td>
2315
-
2316
- <td rowspan="1" colSpan="1" >Volume. Value range: 0-100. Default value: 100.</td>
2317
- </tr>
2318
- </table>
2319
-
987
+ | Parameters | Description |
988
+ | --- | --- |
989
+ | volume | Volume. Value range: 0-100. Default value: 100. |
2320
990
 
2321
991
  > **Note**
2322
- >
992
+ >
2323
993
 
2324
994
  > If you still feel the volume is too low after setting it to 100, you can set the maximum volume to 150. However, a volume above 100 carries a risk of pop noise, so proceed with caution.
2325
- >
2326
-
995
+ >
2327
996
 
2328
997
  ## getAudioPlayoutVolume
2329
998
 
2330
-
2331
-
2332
999
  #### Obtains the remote audio playback volume.
2333
1000
 
2334
1001
  ## enableAudioVolumeEvaluation:withParams:
2335
1002
 
2336
-
2337
-
2338
1003
  #### Enable volume reminder
2339
1004
 
2340
- When this feature is enabled, the SDK will provide feedback on the audio volume assessment of local or remote users, including volume levels, voice detection, and audio spectrum, through the [TRTCCloudDelegate](https://write.woa.com/document/87029742770499584) callback [onUserVoiceVolume](https://write.woa.com/document/87029742770499584).
2341
- <table>
2342
- <tr>
2343
- <td rowspan="1" colSpan="1" >Parameters</td>
2344
-
2345
- <td rowspan="1" colSpan="1" >Description</td>
2346
- </tr>
2347
-
2348
- <tr>
2349
- <td rowspan="1" colSpan="1" >enable</td>
2350
-
2351
- <td rowspan="1" colSpan="1" >Whether to enable volume prompts, disabled by default.</td>
2352
- </tr>
2353
-
2354
- <tr>
2355
- <td rowspan="1" colSpan="1" >params</td>
2356
-
2357
- <td rowspan="1" colSpan="1" >For volume assessment and other related parameters, please refer to [TRTCAudioVolumeEvaluateParams](https://write.woa.com/document/87029873782558720).</td>
2358
- </tr>
2359
- </table>
2360
-
1005
+ When this feature is enabled, the SDK will provide feedback on the audio volume assessment of local or remote users, including volume levels, voice detection, and audio spectrum, through the TRTCCloudDelegate callback onUserVoiceVolume.
1006
+ | Parameters | Description |
1007
+ | --- | --- |
1008
+ | enable | Whether to enable volume prompts, disabled by default. |
1009
+ | params | For volume assessment and other related parameters, please refer to TRTCAudioVolumeEvaluateParams. |
2361
1010
 
2362
1011
  ## startAudioRecording:
2363
1012
 
2364
-
2365
-
2366
1013
  #### Start recording
2367
1014
 
2368
1015
  When you call this interface, the SDK will mix and record all local and remote audio (including local audio, remote audio, background music, and sound effects) into a local file.
@@ -2370,27 +1017,15 @@ When you call this interface, the SDK will mix and record all local and remote a
2370
1017
  This interface can be called both before and after entering the room. If the recording task is not stopped by stopAudioRecording before exiting the room, the task will automatically stop after exiting the room.
2371
1018
 
2372
1019
  The start and completion status of this recording will be notified through local recording-related callbacks. See the TRTCCloud related callbacks.
2373
- <table>
2374
- <tr>
2375
- <td rowspan="1" colSpan="1" >Parameters</td>
2376
-
2377
- <td rowspan="1" colSpan="1" >Description</td>
2378
- </tr>
2379
-
2380
- <tr>
2381
- <td rowspan="1" colSpan="1" >param</td>
2382
-
2383
- <td rowspan="1" colSpan="1" >For recording parameters, please refer to [TRTCAudioRecordingParams](https://write.woa.com/document/87029873782558720).</td>
2384
- </tr>
2385
- </table>
2386
-
1020
+ | Parameters | Description |
1021
+ | --- | --- |
1022
+ | param | For recording parameters, please refer to TRTCAudioRecordingParams. |
2387
1023
 
2388
1024
  > **Note**
2389
- >
1025
+ >
2390
1026
 
2391
1027
  > Starting from version 11.5, the status results of audio recording are uniformly adjusted to asynchronous callback notifications. See the TRTCCloud related callbacks.
2392
- >
2393
-
1028
+ >
2394
1029
 
2395
1030
  #### Return value description:
2396
1031
 
@@ -2398,206 +1033,93 @@ The start and completion status of this recording will be notified through local
2398
1033
 
2399
1034
  ## stopAudioRecording
2400
1035
 
2401
-
2402
-
2403
1036
  #### Stop recording
2404
1037
 
2405
1038
  If the recording task is not stopped by this interface before exiting the room, the recording task will automatically stop after exiting the room.
2406
1039
 
2407
1040
  ## startLocalRecording:
2408
1041
 
2409
-
2410
-
2411
1042
  #### Enable local media recording
2412
1043
 
2413
1044
  After enabling, the audio and video content during the live stream will be recorded to a local file.
2414
- <table>
2415
- <tr>
2416
- <td rowspan="1" colSpan="1" >Parameters</td>
2417
-
2418
- <td rowspan="1" colSpan="1" >Description</td>
2419
- </tr>
2420
-
2421
- <tr>
2422
- <td rowspan="1" colSpan="1" >params</td>
2423
-
2424
- <td rowspan="1" colSpan="1" >For recording parameters, please refer to [TRTCLocalRecordingParams](https://write.woa.com/document/87029873782558720).</td>
2425
- </tr>
2426
- </table>
2427
-
1045
+ | Parameters | Description |
1046
+ | --- | --- |
1047
+ | params | For recording parameters, please refer to TRTCLocalRecordingParams. |
2428
1048
 
2429
1049
  ## stopLocalRecording
2430
1050
 
2431
-
2432
-
2433
1051
  #### Stop local media recording
2434
1052
 
2435
1053
  If the recording task is not stopped by this interface before exiting the room, the recording task will automatically stop after exiting the room.
2436
1054
 
2437
1055
  ## setRemoteAudioParallelParams:
2438
1056
 
2439
-
2440
-
2441
1057
  #### Set intelligent concurrent playback strategy for remote audio streams
2442
1058
 
2443
1059
  Set intelligent concurrent playback strategy for remote audio streams, suitable for scenarios with a large number of people on the microphone.
2444
- <table>
2445
- <tr>
2446
- <td rowspan="1" colSpan="1" >Parameters</td>
2447
-
2448
- <td rowspan="1" colSpan="1" >Description</td>
2449
- </tr>
2450
-
2451
- <tr>
2452
- <td rowspan="1" colSpan="1" >params</td>
2453
-
2454
- <td rowspan="1" colSpan="1" >For audio concurrency parameters, please refer to [TRTCAudioParallelParams](https://write.woa.com/document/87029873782558720).</td>
2455
- </tr>
2456
- </table>
2457
-
1060
+ | Parameters | Description |
1061
+ | --- | --- |
1062
+ | params | For audio concurrency parameters, please refer to TRTCAudioParallelParams. |
2458
1063
 
2459
1064
  ## enable3DSpatialAudioEffect:
2460
1065
 
2461
-
2462
-
2463
1066
  #### Enable 3D audio
2464
1067
 
2465
- Enable 3D audio effects. Note that smooth sound quality [TRTCAudioQualitySpeech](https://write.woa.com/document/87029873782558720) or default sound quality [TRTCAudioQualityDefault](https://write.woa.com/document/87029873782558720) should be used.
2466
- <table>
2467
- <tr>
2468
- <td rowspan="1" colSpan="1" >Parameters</td>
2469
-
2470
- <td rowspan="1" colSpan="1" >Description</td>
2471
- </tr>
2472
-
2473
- <tr>
2474
- <td rowspan="1" colSpan="1" >enabled</td>
2475
-
2476
- <td rowspan="1" colSpan="1" >Whether to enable 3D audio effects, disabled by default.</td>
2477
- </tr>
2478
- </table>
2479
-
1068
+ Enable 3D audio effects. Note that smooth sound quality TRTCAudioQualitySpeech or default sound quality TRTCAudioQualityDefault should be used.
1069
+ | Parameters | Description |
1070
+ | --- | --- |
1071
+ | enabled | Whether to enable 3D audio effects, disabled by default. |
2480
1072
 
2481
1073
  ## updateSelf3DSpatialPosition
2482
1074
 
2483
-
2484
-
2485
1075
  #### Set self coordinates and orientation information in 3D audio
2486
1076
 
2487
1077
  Update your position and orientation in the world coordinate system. The SDK will calculate the relative position between yourself and remote users based on the parameters of this method and render spatial audio effects accordingly. Note that each parameter should be passed in as an array of length 3.
2488
- <table>
2489
- <tr>
2490
- <td rowspan="1" colSpan="1" >Parameters</td>
2491
-
2492
- <td rowspan="1" colSpan="1" >Description</td>
2493
- </tr>
2494
-
2495
- <tr>
2496
- <td rowspan="1" colSpan="1" >axisForward</td>
2497
-
2498
- <td rowspan="1" colSpan="1" >The unit vector of the front axis of the local coordinate system in the world coordinate system, with three values representing the front, right, and up coordinate values, respectively.</td>
2499
- </tr>
2500
-
2501
- <tr>
2502
- <td rowspan="1" colSpan="1" >axisRight</td>
2503
-
2504
- <td rowspan="1" colSpan="1" >The unit vector of the right axis of the local coordinate system in the world coordinate system, with three values representing the front, right, and up coordinate values, respectively.</td>
2505
- </tr>
2506
-
2507
- <tr>
2508
- <td rowspan="1" colSpan="1" >axisUp</td>
2509
-
2510
- <td rowspan="1" colSpan="1" >The unit vector of the up axis of the local coordinate system in the world coordinate system, with three values representing the front, right, and up coordinate values, respectively.</td>
2511
- </tr>
2512
-
2513
- <tr>
2514
- <td rowspan="1" colSpan="1" >position</td>
2515
-
2516
- <td rowspan="1" colSpan="1" >Your coordinate in the world coordinate system, with three values representing the front, right, and up coordinate values, respectively.</td>
2517
- </tr>
2518
- </table>
2519
-
1078
+ | Parameters | Description |
1079
+ | --- | --- |
1080
+ | axisForward | The unit vector of the front axis of the local coordinate system in the world coordinate system, with three values representing the front, right, and up coordinate values, respectively. |
1081
+ | axisRight | The unit vector of the right axis of the local coordinate system in the world coordinate system, with three values representing the front, right, and up coordinate values, respectively. |
1082
+ | axisUp | The unit vector of the up axis of the local coordinate system in the world coordinate system, with three values representing the front, right, and up coordinate values, respectively. |
1083
+ | position | Your coordinate in the world coordinate system, with three values representing the front, right, and up coordinate values, respectively. |
2520
1084
 
2521
1085
  > **Note**
2522
- >
1086
+ >
2523
1087
 
2524
1088
  > Please appropriately limit the invocation frequency. It is recommended to set coordinates at intervals of at least 100ms.
2525
- >
2526
-
1089
+ >
2527
1090
 
2528
1091
  ## updateRemote3DSpatialPosition:
2529
1092
 
2530
-
2531
-
2532
1093
  #### Set remote user coordinate information in 3D audio
2533
1094
 
2534
1095
  Update the position of remote users in the world coordinate system. The SDK will render spatial audio effects based on the relative position between yourself and the remote users. Note that the parameter is an array of length 3.
2535
- <table>
2536
- <tr>
2537
- <td rowspan="1" colSpan="1" >Parameters</td>
2538
-
2539
- <td rowspan="1" colSpan="1" >Description</td>
2540
- </tr>
2541
-
2542
- <tr>
2543
- <td rowspan="1" colSpan="1" >position</td>
2544
-
2545
- <td rowspan="1" colSpan="1" >The coordinate of the remote user in the world coordinate system, with three values representing the front, right, and up coordinate values, respectively.</td>
2546
- </tr>
2547
-
2548
- <tr>
2549
- <td rowspan="1" colSpan="1" >userId</td>
2550
-
2551
- <td rowspan="1" colSpan="1" >Specify the remote user's ID.</td>
2552
- </tr>
2553
- </table>
2554
-
1096
+ | Parameters | Description |
1097
+ | --- | --- |
1098
+ | position | The coordinate of the remote user in the world coordinate system, with three values representing the front, right, and up coordinate values, respectively. |
1099
+ | userId | Specify the remote user's ID. |
2555
1100
 
2556
1101
  > **Note**
2557
- >
1102
+ >
2558
1103
 
2559
1104
  > Please appropriately limit the invocation frequency. It is recommended to set coordinates for the same remote user at intervals of at least 100ms.
2560
- >
2561
-
1105
+ >
2562
1106
 
2563
1107
  ## set3DSpatialReceivingRange:range:
2564
1108
 
2565
-
2566
-
2567
1109
  #### Set the receivable range of sounds emitted by a specified user
2568
1110
 
2569
1111
  After setting this range size, the specified user's voice will be audible within this range, and any sound beyond this range will be attenuated to 0.
2570
- <table>
2571
- <tr>
2572
- <td rowspan="1" colSpan="1" >Parameters</td>
2573
-
2574
- <td rowspan="1" colSpan="1" >Description</td>
2575
- </tr>
2576
-
2577
- <tr>
2578
- <td rowspan="1" colSpan="1" >range</td>
2579
-
2580
- <td rowspan="1" colSpan="1" >Maximum range at which the sound can be received.</td>
2581
- </tr>
2582
-
2583
- <tr>
2584
- <td rowspan="1" colSpan="1" >userId</td>
2585
-
2586
- <td rowspan="1" colSpan="1" >Specify the remote user's ID.</td>
2587
- </tr>
2588
- </table>
2589
-
1112
+ | Parameters | Description |
1113
+ | --- | --- |
1114
+ | range | Maximum range at which the sound can be received. |
1115
+ | userId | Specify the remote user's ID. |
2590
1116
 
2591
1117
  ## getDeviceManager
2592
1118
 
2593
-
2594
-
2595
1119
  #### Get Device Management Class (TXDeviceManager)
2596
1120
 
2597
1121
  ## getBeautyManager
2598
1122
 
2599
-
2600
-
2601
1123
  #### Get Beauty Management Class (TXBeautyManager)
2602
1124
 
2603
1125
  Through beauty management, you can use the following features:
@@ -2611,11 +1133,8 @@ Through beauty management, you can use the following features:
2611
1133
 
2612
1134
  - Set dynamic stickers and face pendants for animation effects.
2613
1135
 
2614
-
2615
1136
  ## setWatermark:streamType:rect:
2616
1137
 
2617
-
2618
-
2619
1138
  #### Watermarking
2620
1139
 
2621
1140
  The position of the watermark is specified through the rect parameter. Rect is a quadruplet parameter in the format (x, y, width, height)
@@ -2627,52 +1146,25 @@ The position of the watermark is specified through the rect parameter. Rect is a
2627
1146
 
2628
1147
  - height does not need to be set; the SDK will automatically calculate an appropriate height based on the aspect ratio of the watermark image.
2629
1148
 
2630
-
2631
-
2632
-
2633
1149
  Example of parameter settings:
2634
1150
 
2635
1151
  If the current video encoding resolution is 540 × 960, and the rect parameter is set to (0.1, 0.1, 0.2, 0.0),
2636
1152
 
2637
1153
  Then, the top-left coordinate of the watermark is (540 * 0.1, 960 * 0.1), which is (54, 96). The width of the watermark is 540 * 0.2 = 108px. The height of the watermark will be automatically calculated by the SDK based on the aspect ratio of the watermark image.
2638
- <table>
2639
- <tr>
2640
- <td rowspan="1" colSpan="1" >Parameters</td>
2641
-
2642
- <td rowspan="1" colSpan="1" >Description</td>
2643
- </tr>
2644
-
2645
- <tr>
2646
- <td rowspan="1" colSpan="1" >image</td>
2647
-
2648
- <td rowspan="1" colSpan="1" >Watermark image, ** must be in png format with a transparent background **.</td>
2649
- </tr>
2650
-
2651
- <tr>
2652
- <td rowspan="1" colSpan="1" >rect</td>
2653
-
2654
- <td rowspan="1" colSpan="1" >Normalized coordinates of the watermark relative to the encoding resolution: x, y, width, height. Value range: 0 - 1.</td>
2655
- </tr>
2656
-
2657
- <tr>
2658
- <td rowspan="1" colSpan="1" >streamType</td>
2659
-
2660
- <td rowspan="1" colSpan="1" >Specify which stream to set the watermark for. For details, see [TRTCVideoStreamType](https://write.woa.com/document/87029873782558720).</td>
2661
- </tr>
2662
- </table>
2663
-
1154
+ | Parameters | Description |
1155
+ | --- | --- |
1156
+ | image | Watermark image, ** must be in png format with a transparent background **. |
1157
+ | rect | Normalized coordinates of the watermark relative to the encoding resolution: x, y, width, height. Value range: 0 - 1. |
1158
+ | streamType | Specify which stream to set the watermark for. For details, see TRTCVideoStreamType. |
2664
1159
 
2665
1160
  > **Note**
2666
- >
1161
+ >
2667
1162
 
2668
1163
  > If you need to set the watermark for both the main stream (usually the camera) and the auxiliary stream (usually used for screen sharing), you need to call this interface twice and set different streamTypes.
2669
- >
2670
-
1164
+ >
2671
1165
 
2672
1166
  ## getAudioEffectManager
2673
1167
 
2674
-
2675
-
2676
1168
  #### Get Audio Effect Management Class (TXAudioEffectManager)
2677
1169
 
2678
1170
  TXAudioEffectManager is the audio effect management interface. Through this interface, you can implement the following features:
@@ -2686,11 +1178,8 @@ TXAudioEffectManager is the audio effect management interface. Through this inte
2686
1178
 
2687
1179
  - Short sound effects: Applause, laughter, and other short sound effect files (For files shorter than 10 seconds, please set the isShortFile parameter to YES).
2688
1180
 
2689
-
2690
1181
  ## startSystemAudioLoopback
2691
1182
 
2692
-
2693
-
2694
1183
  #### Enable System Sound Capture (iOS not yet supported)
2695
1184
 
2696
1185
  This interface captures audio data from the computer's sound card and mixes it into the current audio data stream of the SDK, so that other users in the room can also hear the sound played by the broadcaster's computer.
@@ -2700,54 +1189,34 @@ In online education scenarios, teachers can use this feature to allow the SDK to
2700
1189
  In music live streaming scenarios, the host can use this feature to allow the SDK to capture audio from the music player to add background music to their live stream.
2701
1190
 
2702
1191
  > **Note**
2703
- >
1192
+ >
2704
1193
 
2705
1194
  > 1. This feature requires the installation of a virtual audio device plugin on the user's Mac system. Once installed, the SDK will capture audio from the installed virtual audio device.
2706
- >
1195
+ >
2707
1196
 
2708
1197
  > 2. The SDK will automatically download and install the appropriate plugins from the internet. However, the download speed may be slow. To speed up this process, you can package the virtual audio plugin file into your App Bundle's Resources directory.
2709
- >
2710
-
1198
+ >
2711
1199
 
2712
1200
  ## stopSystemAudioLoopback
2713
1201
 
2714
-
2715
-
2716
1202
  #### Stop System Sound Capture (iOS not yet supported)
2717
1203
 
2718
1204
  ## setSystemAudioLoopbackVolume:
2719
1205
 
2720
-
2721
-
2722
1206
  #### Sets the Volume of System Sound Capture
2723
- <table>
2724
- <tr>
2725
- <td rowspan="1" colSpan="1" >Parameters</td>
2726
-
2727
- <td rowspan="1" colSpan="1" >Description</td>
2728
- </tr>
2729
-
2730
- <tr>
2731
- <td rowspan="1" colSpan="1" >volume</td>
2732
-
2733
- <td rowspan="1" colSpan="1" >Set the volume level, range: [0 ~ 150], default value is 100.</td>
2734
- </tr>
2735
- </table>
2736
-
1207
+ | Parameters | Description |
1208
+ | --- | --- |
1209
+ | volume | Set the volume level, range: [0 ~ 150], default value is 100. |
2737
1210
 
2738
1211
  ## startScreenCaptureInApp:encParam:
2739
1212
 
2740
-
2741
-
2742
1213
  #### Start In-App Screen Sharing (Supports only iOS 13.0 and above)
2743
1214
 
2744
1215
  This interface will capture the real-time screen content of the current application and share it with other users in the same room. It is applicable to iOS systems 13.0 and above.
2745
1216
 
2746
- If you want to capture the entire iOS system's screen content (without being limited to the current application), it is recommended to use [startScreenCaptureByReplaykit](https://write.woa.com/document/87029727163494400).
2747
-
1217
+ If you want to capture the entire iOS system's screen content (without being limited to the current application), it is recommended to use startScreenCaptureByReplaykit.
2748
1218
 
2749
-
2750
- Recommended screen sharing video encoding parameters for iPhone ([TRTCVideoEncParam](https://write.woa.com/document/87029873782558720)):
1219
+ Recommended screen sharing video encoding parameters for iPhone (TRTCVideoEncParam):
2751
1220
  - Resolution (videoResolution): 1280 x 720.
2752
1221
 
2753
1222
  - Frame Rate (videoFps): 10 FPS.
@@ -2756,44 +1225,22 @@ Recommended screen sharing video encoding parameters for iPhone ([TRTCVideoEncPa
2756
1225
 
2757
1226
  - Resolution adaptation (enableAdjustRes): NO.
2758
1227
 
2759
- <table>
2760
- <tr>
2761
- <td rowspan="1" colSpan="1" >Parameters</td>
2762
-
2763
- <td rowspan="1" colSpan="1" >Description</td>
2764
- </tr>
2765
-
2766
- <tr>
2767
- <td rowspan="1" colSpan="1" >encParams</td>
2768
-
2769
- <td rowspan="1" colSpan="1" >Set the video encoding parameters for screen sharing, it is recommended to use the above recommended configuration.<br>If you specify encParams as nil, the SDK will use the video encoding parameters set before calling the startScreenCapture interface.</td>
2770
- </tr>
2771
-
2772
- <tr>
2773
- <td rowspan="1" colSpan="1" >streamType</td>
2774
-
2775
- <td rowspan="1" colSpan="1" >Screen sharing stream can be set to the main stream (TRTCVideoStreamTypeBig) or the substream (TRTCVideoStreamTypeSub).</td>
2776
- </tr>
2777
- </table>
2778
-
1228
+ | Parameters | Description |
1229
+ | --- | --- |
1230
+ | encParams | Set the video encoding parameters for screen sharing, it is recommended to use the above recommended configuration.<br>If you specify encParams as nil, the SDK will use the video encoding parameters set before calling the startScreenCapture interface. |
1231
+ | streamType | Screen sharing stream can be set to the main stream (TRTCVideoStreamTypeBig) or the substream (TRTCVideoStreamTypeSub). |
2779
1232
 
2780
1233
  ## startScreenCaptureByReplaykit:encParam:appGroup:
2781
1234
 
2782
-
2783
-
2784
1235
  #### Start Full-System Screen Sharing (Supports only iOS 11.0 and above)
2785
1236
 
2786
1237
  This interface supports capturing the entire iOS system screen, facilitating system-wide screen sharing similar to Tencent Meeting.
2787
1238
 
2788
- However, the integration process is slightly more complex than [startScreenCaptureInApp](https://write.woa.com/document/87029727163494400), requiring a ReplayKit extension module for your application.
2789
-
2790
-
1239
+ However, the integration process is slightly more complex than startScreenCaptureInApp, requiring a ReplayKit extension module for your application.
2791
1240
 
2792
1241
  Reference document:[Real-time screen sharing (iOS)](https://cloud.tencent.com/document/product/647/45750)
2793
1242
 
2794
-
2795
-
2796
- Recommended screen sharing video encoding parameters for iPhone ([TRTCVideoEncParam](https://write.woa.com/document/87029873782558720)):
1243
+ Recommended screen sharing video encoding parameters for iPhone (TRTCVideoEncParam):
2797
1244
  - Resolution (videoResolution): 1280 x 720.
2798
1245
 
2799
1246
  - Frame Rate (videoFps): 10 FPS.
@@ -2802,144 +1249,73 @@ Recommended screen sharing video encoding parameters for iPhone ([TRTCVideoEncPa
2802
1249
 
2803
1250
  - Resolution adaptation (enableAdjustRes): NO.
2804
1251
 
2805
- <table>
2806
- <tr>
2807
- <td rowspan="1" colSpan="1" >Parameters</td>
2808
-
2809
- <td rowspan="1" colSpan="1" >Description</td>
2810
- </tr>
2811
-
2812
- <tr>
2813
- <td rowspan="1" colSpan="1" >appGroup</td>
2814
-
2815
- <td rowspan="1" colSpan="1" >Specify the Application Group Identifier that your application and recording process share. You can specify this parameter as nil, but it is recommended to set it as instructed in the document for better reliability.</td>
2816
- </tr>
2817
-
2818
- <tr>
2819
- <td rowspan="1" colSpan="1" >encParams</td>
2820
-
2821
- <td rowspan="1" colSpan="1" >Set the video encoding parameters for screen sharing. It is recommended to use the above configuration. If you specify encParams as nil, the SDK will use the video encoding parameters set before calling the startScreenCapture interface.</td>
2822
- </tr>
2823
-
2824
- <tr>
2825
- <td rowspan="1" colSpan="1" >streamType</td>
2826
-
2827
- <td rowspan="1" colSpan="1" >Screen sharing stream can be set to the main stream (TRTCVideoStreamTypeBig) or the substream (TRTCVideoStreamTypeSub).</td>
2828
- </tr>
2829
- </table>
2830
-
1252
+ | Parameters | Description |
1253
+ | --- | --- |
1254
+ | appGroup | Specify the Application Group Identifier that your application and recording process share. You can specify this parameter as nil, but it is recommended to set it as instructed in the document for better reliability. |
1255
+ | encParams | Set the video encoding parameters for screen sharing. It is recommended to use the above configuration. If you specify encParams as nil, the SDK will use the video encoding parameters set before calling the startScreenCapture interface. |
1256
+ | streamType | Screen sharing stream can be set to the main stream (TRTCVideoStreamTypeBig) or the substream (TRTCVideoStreamTypeSub). |
2831
1257
 
2832
1258
  ## startScreenCapture:streamType:encParam:
2833
1259
 
2834
-
2835
-
2836
1260
  #### Start Screen Sharing
2837
1261
 
2838
1262
  This interface can capture the entire screen content or the content of a specific application window you designate, sharing it with other users in the same room.
2839
- <table>
2840
- <tr>
2841
- <td rowspan="1" colSpan="1" >Parameters</td>
2842
-
2843
- <td rowspan="1" colSpan="1" >Description</td>
2844
- </tr>
2845
-
2846
- <tr>
2847
- <td rowspan="1" colSpan="1" >encParam</td>
2848
-
2849
- <td rowspan="1" colSpan="1" >Screen Sharing Encoding Parameters: The SDK prioritizes the encoding parameters you set through this interface<br>- If you set encParam to null and have set substream video encoding parameters through setSubStreamEncoderParam, the SDK will use those parameters for screen sharing.<br>- If you set encParam to null and have not set substream video encoding parameters through setSubStreamEncoderParam, the SDK will automatically select the best encoding parameters for screen sharing.</td>
2850
- </tr>
2851
-
2852
- <tr>
2853
- <td rowspan="1" colSpan="1" >streamType</td>
2854
-
2855
- <td rowspan="1" colSpan="1" >The circuit used for screen sharing can be set to Main Road (TRTCVideoStreamTypeBig) or Auxiliary Road (TRTCVideoStreamTypeSub), with the auxiliary road being recommended.</td>
2856
- </tr>
2857
-
2858
- <tr>
2859
- <td rowspan="1" colSpan="1" >view</td>
2860
-
2861
- <td rowspan="1" colSpan="1" >The parent control of the rendering control can be set to null, indicating that the preview effect of screen sharing will not be displayed.</td>
2862
- </tr>
2863
- </table>
2864
-
1263
+ | Parameters | Description |
1264
+ | --- | --- |
1265
+ | encParam | Screen Sharing Encoding Parameters: The SDK prioritizes the encoding parameters you set through this interface<br>- If you set encParam to null and have set substream video encoding parameters through setSubStreamEncoderParam, the SDK will use those parameters for screen sharing.<br>- If you set encParam to null and have not set substream video encoding parameters through setSubStreamEncoderParam, the SDK will automatically select the best encoding parameters for screen sharing. |
1266
+ | streamType | The circuit used for screen sharing can be set to Main Road (TRTCVideoStreamTypeBig) or Auxiliary Road (TRTCVideoStreamTypeSub), with the auxiliary road being recommended. |
1267
+ | view | The parent control of the rendering control can be set to null, indicating that the preview effect of screen sharing will not be displayed. |
2865
1268
 
2866
1269
  > **Note**
2867
- >
1270
+ >
2868
1271
 
2869
- > 1. The same user can publish only one main road ([TRTCVideoStreamTypeBig](https://write.woa.com/document/87029873782558720)) screen and one auxiliary road ([TRTCVideoStreamTypeSub](https://write.woa.com/document/87029873782558720)) screen at the same time.
2870
- >
1272
+ > 1. The same user can publish only one main road (TRTCVideoStreamTypeBig) screen and one auxiliary road (TRTCVideoStreamTypeSub) screen at the same time.
1273
+ >
2871
1274
 
2872
- > 2. By default, screen sharing uses the auxiliary road. If you use the main road for screen sharing, you need to stop local preview ([stopLocalPreview](https://write.woa.com/document/87029727163494400)) in advance to avoid conflicts.
2873
- >
1275
+ > 2. By default, screen sharing uses the auxiliary road. If you use the main road for screen sharing, you need to stop local preview (stopLocalPreview) in advance to avoid conflicts.
1276
+ >
2874
1277
 
2875
1278
  > 3. Only one user can use the auxiliary road for screen sharing in the same room at any given time. In other words, only one user can enable the auxiliary road in the same room simultaneously.
2876
- >
2877
-
2878
- > 4. When another user in the room is already using the auxiliary road for screen sharing, calling this interface will receive an onError(ERR_SERVER_CENTER_ANOTHER_USER_PUSH_SUB_VIDEO) callback from [TRTCCloudDelegate](https://write.woa.com/document/87029742770499584).
2879
- >
1279
+ >
2880
1280
 
1281
+ > 4. When another user in the room is already using the auxiliary road for screen sharing, calling this interface will receive an onError(ERR_SERVER_CENTER_ANOTHER_USER_PUSH_SUB_VIDEO) callback from TRTCCloudDelegate.
1282
+ >
2881
1283
 
2882
1284
  ## stopScreenCapture
2883
1285
 
2884
-
2885
-
2886
1286
  #### Stopping Screen Sharing
2887
1287
 
2888
1288
  ## pauseScreenCapture
2889
1289
 
2890
-
2891
-
2892
1290
  #### Pause Screen Sharing
2893
1291
 
2894
1292
  > **Note**
2895
- >
1293
+ >
2896
1294
 
2897
1295
  > Starting from version 11.5, suspending screen capture will output the last frame at a frame rate of 1fps.
2898
- >
2899
-
1296
+ >
2900
1297
 
2901
1298
  ## resumeScreenCapture
2902
1299
 
2903
-
2904
-
2905
1300
  #### Resume Screen Sharing
2906
1301
 
2907
1302
  ## getScreenCaptureSourcesWithThumbnailSize:iconSize:
2908
1303
 
2909
-
2910
-
2911
1304
  #### Enumerate Shareable Screens and Windows (This Interface Supports Only Mac OS)
2912
1305
 
2913
1306
  When integrating the screen sharing feature on a desktop system, it is usually necessary to display an interface for selecting a sharing target. This allows users to choose whether to share the entire screen or a specific window.
2914
1307
 
2915
1308
  Through this interface, you can query the current system for the ID, name, and thumbnail of available windows for sharing. We provide a default interface implementation in our Demo for your reference.
2916
- <table>
2917
- <tr>
2918
- <td rowspan="1" colSpan="1" >Parameters</td>
2919
-
2920
- <td rowspan="1" colSpan="1" >Description</td>
2921
- </tr>
2922
-
2923
- <tr>
2924
- <td rowspan="1" colSpan="1" >iconSize</td>
2925
-
2926
- <td rowspan="1" colSpan="1" >Specify the size of the window icon to be retrieved.</td>
2927
- </tr>
2928
-
2929
- <tr>
2930
- <td rowspan="1" colSpan="1" >thumbnailSize</td>
2931
-
2932
- <td rowspan="1" colSpan="1" >Specify the size of the window thumbnail to be retrieved. Thumbnails can be used to render on the window selection interface.</td>
2933
- </tr>
2934
- </table>
2935
-
1309
+ | Parameters | Description |
1310
+ | --- | --- |
1311
+ | iconSize | Specify the size of the window icon to be retrieved. |
1312
+ | thumbnailSize | Specify the size of the window thumbnail to be retrieved. Thumbnails can be used to render on the window selection interface. |
2936
1313
 
2937
1314
  > **Note**
2938
- >
1315
+ >
2939
1316
 
2940
1317
  > The returned list includes monitors and application windows. The monitor is the first element in the list. If the user has multiple monitors, each monitor is a sharing target.
2941
- >
2942
-
1318
+ >
2943
1319
 
2944
1320
  #### Return value description:
2945
1321
 
@@ -2947,355 +1323,185 @@ The window list includes the screen.
2947
1323
 
2948
1324
  ## selectScreenCaptureTarget:rect:capturesCursor:highlight:
2949
1325
 
2950
-
2951
-
2952
1326
  #### Select Screen or Window to Share (This Interface Supports Only Mac OS)
2953
1327
 
2954
1328
  After you retrieve the shareable screens and windows using getScreenCaptureSources, you can call this interface to select the desired target screen or window for sharing.
2955
1329
 
2956
1330
  During screen sharing, you can also call this interface at any time to switch the sharing target.
2957
- <table>
2958
- <tr>
2959
- <td rowspan="1" colSpan="1" >Parameters</td>
2960
-
2961
- <td rowspan="1" colSpan="1" >Description</td>
2962
- </tr>
2963
-
2964
- <tr>
2965
- <td rowspan="1" colSpan="1" >capturesCursor</td>
2966
-
2967
- <td rowspan="1" colSpan="1" >Whether to capture the mouse cursor.</td>
2968
- </tr>
2969
-
2970
- <tr>
2971
- <td rowspan="1" colSpan="1" >highlight</td>
2972
-
2973
- <td rowspan="1" colSpan="1" >Whether to highlight the window being shared.</td>
2974
- </tr>
2975
-
2976
- <tr>
2977
- <td rowspan="1" colSpan="1" >rect</td>
2978
-
2979
- <td rowspan="1" colSpan="1" >Specify the capture area (set this parameter to CGRectZero: if the sharing target is a window, the entire window will be shared; if the sharing target is the desktop, the entire desktop will be shared).</td>
2980
- </tr>
2981
-
2982
- <tr>
2983
- <td rowspan="1" colSpan="1" >screenSource</td>
2984
-
2985
- <td rowspan="1" colSpan="1" >Specify the sharing source.</td>
2986
- </tr>
2987
- </table>
2988
-
1331
+ | Parameters | Description |
1332
+ | --- | --- |
1333
+ | capturesCursor | Whether to capture the mouse cursor. |
1334
+ | highlight | Whether to highlight the window being shared. |
1335
+ | rect | Specify the capture area (set this parameter to CGRectZero: if the sharing target is a window, the entire window will be shared; if the sharing target is the desktop, the entire desktop will be shared). |
1336
+ | screenSource | Specify the sharing source. |
2989
1337
 
2990
1338
  ## setSubStreamEncoderParam:
2991
1339
 
2992
-
2993
-
2994
1340
  #### Set Video Encoding Parameters for Screen Sharing (Sub-Stream) (Supported on Both Desktop and Mobile Systems)
2995
1341
 
2996
1342
  This interface can set the screen sharing (sub-stream) quality seen by remote users, and also determine the screen sharing quality in the cloud-recorded video file.
2997
1343
 
2998
1344
  Please note the differences between the following two interfaces:
2999
- - [setVideoEncoderParam](https://write.woa.com/document/87029727163494400) is used to set the video encoding parameters for the main stream ([TRTCVideoStreamTypeBig](https://write.woa.com/document/87029873782558720), usually for the camera).
3000
-
3001
- - [setSubStreamEncoderParam](https://write.woa.com/document/87029727163494400) is used to set the video encoding parameters for the auxiliary stream ([TRTCVideoStreamTypeSub](https://write.woa.com/document/87029873782558720), usually for screen sharing).
3002
-
3003
- <table>
3004
- <tr>
3005
- <td rowspan="1" colSpan="1" >Parameters</td>
3006
-
3007
- <td rowspan="1" colSpan="1" >Description</td>
3008
- </tr>
3009
-
3010
- <tr>
3011
- <td rowspan="1" colSpan="1" >param</td>
1345
+ - setVideoEncoderParam is used to set the video encoding parameters for the main stream (TRTCVideoStreamTypeBig, usually for the camera).
3012
1346
 
3013
- <td rowspan="1" colSpan="1" >For auxiliary stream encoding parameters, please refer to [TRTCVideoEncParam](https://write.woa.com/document/87029873782558720).</td>
3014
- </tr>
3015
- </table>
1347
+ - setSubStreamEncoderParam is used to set the video encoding parameters for the auxiliary stream (TRTCVideoStreamTypeSub, usually for screen sharing).
3016
1348
 
1349
+ | Parameters | Description |
1350
+ | --- | --- |
1351
+ | param | For auxiliary stream encoding parameters, please refer to TRTCVideoEncParam. |
3017
1352
 
3018
1353
  ## setSubStreamMixVolume:
3019
1354
 
3020
-
3021
-
3022
1355
  #### Set the Mixing Volume for Screen Sharing (This Interface Supports Only Desktop Systems)
3023
1356
 
3024
1357
  The higher this value, the higher the proportion of screen sharing volume, and the lower the proportion of microphone volume. Therefore, it is not recommended to set it too high, as it will suppress the microphone sound.
3025
- <table>
3026
- <tr>
3027
- <td rowspan="1" colSpan="1" >Parameters</td>
3028
-
3029
- <td rowspan="1" colSpan="1" >Description</td>
3030
- </tr>
3031
-
3032
- <tr>
3033
- <td rowspan="1" colSpan="1" >volume</td>
3034
-
3035
- <td rowspan="1" colSpan="1" >Set the mix volume level, ranging from 0 to 100.</td>
3036
- </tr>
3037
- </table>
3038
-
1358
+ | Parameters | Description |
1359
+ | --- | --- |
1360
+ | volume | Set the mix volume level, ranging from 0 to 100. |
3039
1361
 
3040
1362
  ## addExcludedShareWindow:
3041
1363
 
3042
-
3043
-
3044
1364
  #### Add the Specified Window to the Exclusion List of Screen Sharing (This Interface Supports Only Desktop Systems)
3045
1365
 
3046
1366
  Windows added to the exclusion list will not be shared. A common use case is to add a window from an application to the exclusion list to avoid privacy issues.
3047
1367
 
3048
1368
  Support setting filter windows before starting screen sharing, and also dynamically adding filter windows during screen sharing.
3049
- <table>
3050
- <tr>
3051
- <td rowspan="1" colSpan="1" >Parameters</td>
3052
-
3053
- <td rowspan="1" colSpan="1" >Description</td>
3054
- </tr>
3055
-
3056
- <tr>
3057
- <td rowspan="1" colSpan="1" >windowID</td>
3058
-
3059
- <td rowspan="1" colSpan="1" >Windows that you do not want to share</td>
3060
- </tr>
3061
- </table>
3062
-
1369
+ | Parameters | Description |
1370
+ | --- | --- |
1371
+ | windowID | Windows that you do not want to share |
3063
1372
 
3064
1373
  > **Note**
3065
- >
1374
+ >
3066
1375
 
3067
- > 1. This interface only takes effect when the type in [TRTCScreenCaptureSourceInfo](https://write.woa.com/document/87029873782558720) is specified as [TRTCScreenCaptureSourceTypeScreen](https://write.woa.com/document/87029873782558720), meaning the exclusion feature only works when sharing the entire screen content.
3068
- >
1376
+ > 1. This interface only takes effect when the type in TRTCScreenCaptureSourceInfo is specified as TRTCScreenCaptureSourceTypeScreen, meaning the exclusion feature only works when sharing the entire screen content.
1377
+ >
3069
1378
 
3070
1379
  > 2. Windows added to the exclusion list using this interface will be automatically cleared by the SDK upon exiting the room.
3071
- >
3072
-
3073
- > 3. On Mac platform, please pass in the window ID (i.e., CGWindowID), which can be obtained from the sourceId member in [TRTCScreenCaptureSourceInfo](https://write.woa.com/document/87029873782558720).
3074
- >
1380
+ >
3075
1381
 
1382
+ > 3. On Mac platform, please pass in the window ID (i.e., CGWindowID), which can be obtained from the sourceId member in TRTCScreenCaptureSourceInfo.
1383
+ >
3076
1384
 
3077
1385
  ## removeExcludedShareWindow:
3078
1386
 
3079
-
3080
-
3081
1387
  #### Remove the Specified Window from the Exclusion List of Screen Sharing (This Interface Supports Only Desktop Systems)
3082
- <table>
3083
- <tr>
3084
- <td rowspan="1" colSpan="1" >Parameters</td>
3085
-
3086
- <td rowspan="1" colSpan="1" >Description</td>
3087
- </tr>
3088
-
3089
- <tr>
3090
- <td rowspan="1" colSpan="1" >windowID</td>
3091
-
3092
- <td rowspan="1" colSpan="1" >The window ID to be excluded.</td>
3093
- </tr>
3094
- </table>
3095
-
1388
+ | Parameters | Description |
1389
+ | --- | --- |
1390
+ | windowID | The window ID to be excluded. |
3096
1391
 
3097
1392
  ## removeAllExcludedShareWindows
3098
1393
 
3099
-
3100
-
3101
1394
  #### Remove All Windows from the Exclusion List of Screen Sharing (This Interface Supports Only Desktop Systems)
3102
1395
 
3103
1396
  ## addIncludedShareWindow:
3104
1397
 
3105
-
3106
-
3107
1398
  #### Add the Specified Window to the Contains List of Screen Sharing (This Interface Supports Only Desktop Systems)
3108
1399
 
3109
- This interface only takes effect when the type in [TRTCScreenCaptureSourceInfo](https://write.woa.com/document/87029873782558720) is specified as [TRTCScreenCaptureSourceTypeWindow](https://write.woa.com/document/87029873782558720). This means that the feature of including an additional specified window is only effective when sharing window content.
3110
-
3111
- You can call it both before and after [startScreenCapture](https://write.woa.com/document/87029727163494400).
3112
- <table>
3113
- <tr>
3114
- <td rowspan="1" colSpan="1" >Parameters</td>
3115
-
3116
- <td rowspan="1" colSpan="1" >Description</td>
3117
- </tr>
3118
-
3119
- <tr>
3120
- <td rowspan="1" colSpan="1" >windowID</td>
3121
-
3122
- <td rowspan="1" colSpan="1" >Windows desired to be shared (Window Handle: HWND on Windows platform)</td>
3123
- </tr>
3124
- </table>
3125
-
3126
-
3127
- > **Note**
3128
- >
3129
-
3130
- > Windows added to the inclusion list through this method will be automatically cleared by the SDK upon exiting the room.
3131
- >
3132
-
3133
-
3134
- ## removeIncludedShareWindow:
3135
-
3136
-
3137
-
3138
- #### Remove the Specified Window from the Contains List of Screen Sharing (This Interface Supports Only Desktop Systems)
3139
-
3140
- This interface only takes effect when the type in [TRTCScreenCaptureSourceInfo](https://write.woa.com/document/87029873782558720) is specified as [TRTCScreenCaptureSourceTypeWindow](https://write.woa.com/document/87029873782558720).
1400
+ This interface only takes effect when the type in TRTCScreenCaptureSourceInfo is specified as TRTCScreenCaptureSourceTypeWindow. This means that the feature of including an additional specified window is only effective when sharing window content.
3141
1401
 
3142
- This means that the feature of including an additional specified window is only effective when sharing window content.
3143
- <table>
3144
- <tr>
3145
- <td rowspan="1" colSpan="1" >Parameters</td>
1402
+ You can call it both before and after startScreenCapture.
1403
+ | Parameters | Description |
1404
+ | --- | --- |
1405
+ | windowID | Windows desired to be shared (Window Handle: HWND on Windows platform) |
3146
1406
 
3147
- <td rowspan="1" colSpan="1" >Description</td>
3148
- </tr>
1407
+ > **Note**
1408
+ >
3149
1409
 
3150
- <tr>
3151
- <td rowspan="1" colSpan="1" >windowID</td>
1410
+ > Windows added to the inclusion list through this method will be automatically cleared by the SDK upon exiting the room.
1411
+ >
3152
1412
 
3153
- <td rowspan="1" colSpan="1" >Windows desired to be shared (Window ID on Mac platform; HWND on Windows platform)</td>
3154
- </tr>
3155
- </table>
1413
+ ## removeIncludedShareWindow:
3156
1414
 
1415
+ #### Remove the Specified Window from the Contains List of Screen Sharing (This Interface Supports Only Desktop Systems)
3157
1416
 
3158
- ## removeAllIncludedShareWindows
1417
+ This interface only takes effect when the type in TRTCScreenCaptureSourceInfo is specified as TRTCScreenCaptureSourceTypeWindow.
3159
1418
 
1419
+ This means that the feature of including an additional specified window is only effective when sharing window content.
1420
+ | Parameters | Description |
1421
+ | --- | --- |
1422
+ | windowID | Windows desired to be shared (Window ID on Mac platform; HWND on Windows platform) |
3160
1423
 
1424
+ ## removeAllIncludedShareWindows
3161
1425
 
3162
1426
  #### Remove All Windows from the Contains List of Screen Sharing (This Interface Supports Only Desktop Systems)
3163
1427
 
3164
- This interface only takes effect when the type in [TRTCScreenCaptureSourceInfo](https://write.woa.com/document/87029873782558720) is specified as [TRTCScreenCaptureSourceTypeWindow](https://write.woa.com/document/87029873782558720).
1428
+ This interface only takes effect when the type in TRTCScreenCaptureSourceInfo is specified as TRTCScreenCaptureSourceTypeWindow.
3165
1429
 
3166
1430
  This means that the feature of including an additional specified window is only effective when sharing window content.
3167
1431
 
3168
1432
  ## enableCustomVideoCapture:enable:
3169
1433
 
3170
-
3171
-
3172
1434
  #### Enable/Disable Custom Video Capturing Mode
3173
1435
 
3174
1436
  After enabling this mode, the SDK will stop running the original video capture process. It will no longer collect data from the camera and apply beauty filters, retaining only video encoding and sending capabilities.
3175
1437
 
3176
- You need to continuously send self-collected video frames to the SDK via [sendCustomVideoData](https://write.woa.com/document/87029727163494400).
3177
- <table>
3178
- <tr>
3179
- <td rowspan="1" colSpan="1" >Parameters</td>
3180
-
3181
- <td rowspan="1" colSpan="1" >Description</td>
3182
- </tr>
3183
-
3184
- <tr>
3185
- <td rowspan="1" colSpan="1" >enable</td>
3186
-
3187
- <td rowspan="1" colSpan="1" >Whether to enable it, default value: NO.</td>
3188
- </tr>
3189
-
3190
- <tr>
3191
- <td rowspan="1" colSpan="1" >streamType</td>
3192
-
3193
- <td rowspan="1" colSpan="1" >Used to specify the video stream type, [TRTCVideoStreamTypeBig](https://write.woa.com/document/87029873782558720): High-definition main stream; [TRTCVideoStreamTypeSub](https://write.woa.com/document/87029873782558720): Auxiliary stream.</td>
3194
- </tr>
3195
- </table>
3196
-
1438
+ You need to continuously send self-collected video frames to the SDK via sendCustomVideoData.
1439
+ | Parameters | Description |
1440
+ | --- | --- |
1441
+ | enable | Whether to enable it, default value: NO. |
1442
+ | streamType | Used to specify the video stream type, TRTCVideoStreamTypeBig: High-definition main stream; TRTCVideoStreamTypeSub: Auxiliary stream. |
3197
1443
 
3198
1444
  ## sendCustomVideoData:frame:
3199
1445
 
3200
-
3201
-
3202
1446
  #### Submit Self-collected Video Frames to the SDK
3203
1447
 
3204
1448
  This interface allows you to submit self-collected video frames to the SDK. The SDK will encode the video frames and transmit them through its network module.
3205
1449
 
1450
+ Parameter TRTCVideoFrame is recommended to be filled as follows (other fields do not need to be filled):
1451
+ - pixelFormat: It is recommended to choose TRTCVideoPixelFormat_NV12.
3206
1452
 
3207
-
3208
- Parameter [TRTCVideoFrame](https://write.woa.com/document/87029873782558720) is recommended to be filled as follows (other fields do not need to be filled):
3209
- - pixelFormat: It is recommended to choose [TRTCVideoPixelFormat_NV12](https://write.woa.com/document/87029873782558720).
3210
-
3211
- - bufferType: It is recommended to choose [TRTCVideoBufferType_PixelBuffer](https://write.woa.com/document/87029873782558720).
1453
+ - bufferType: It is recommended to choose TRTCVideoBufferType_PixelBuffer.
3212
1454
 
3213
1455
  - pixelBuffer: Common video data format on iOS/Mac OS platforms.
3214
1456
 
3215
1457
  - data: Raw video data format, used when bufferType is NSData.
3216
1458
 
3217
- - timestamp: Timestamp, in milliseconds (ms). Please use the timestamp recorded when the video frame is captured (you can get the timestamp by calling [generateCustomPTS](https://write.woa.com/document/87029727163494400) after capturing a video frame).
1459
+ - timestamp: Timestamp, in milliseconds (ms). Please use the timestamp recorded when the video frame is captured (you can get the timestamp by calling generateCustomPTS after capturing a video frame).
3218
1460
 
3219
1461
  - width: Video image width, to be filled when bufferType is NSData.
3220
1462
 
3221
1463
  - height: Video image height, to be filled when bufferType is NSData.
3222
1464
 
3223
-
3224
-
3225
-
3226
1465
  Refer to documentation: [Custom Collection and Rendering](https://cloud.tencent.com/document/product/647/34066).
3227
- <table>
3228
- <tr>
3229
- <td rowspan="1" colSpan="1" >Parameters</td>
3230
-
3231
- <td rowspan="1" colSpan="1" >Description</td>
3232
- </tr>
3233
-
3234
- <tr>
3235
- <td rowspan="1" colSpan="1" >frame</td>
3236
-
3237
- <td rowspan="1" colSpan="1" >Video data supports PixelBuffer NV12, BGRA, and I420 data formats.</td>
3238
- </tr>
3239
-
3240
- <tr>
3241
- <td rowspan="1" colSpan="1" >streamType</td>
3242
-
3243
- <td rowspan="1" colSpan="1" >Used to specify the video stream type, [TRTCVideoStreamTypeBig](https://write.woa.com/document/87029873782558720): High-definition main stream; [TRTCVideoStreamTypeSub](https://write.woa.com/document/87029873782558720): Auxiliary stream.</td>
3244
- </tr>
3245
- </table>
3246
-
1466
+ | Parameters | Description |
1467
+ | --- | --- |
1468
+ | frame | Video data supports PixelBuffer NV12, BGRA, and I420 data formats. |
1469
+ | streamType | Used to specify the video stream type, TRTCVideoStreamTypeBig: High-definition main stream; TRTCVideoStreamTypeSub: Auxiliary stream. |
3247
1470
 
3248
1471
  > **Note**
3249
- >
1472
+ >
3250
1473
 
3251
- > 1. It is recommended to call the [generateCustomPTS](https://write.woa.com/document/87029727163494400) interface to get the timestamp value of the frame after capturing a video frame, to achieve the best audio-video synchronization.
3252
- >
1474
+ > 1. It is recommended to call the generateCustomPTS interface to get the timestamp value of the frame after capturing a video frame, to achieve the best audio-video synchronization.
1475
+ >
3253
1476
 
3254
- > 2. The final frame rate of the encoded video by the SDK is determined by the FPS you set in [setVideoEncoderParam](https://write.woa.com/document/87029727163494400), not by the frequency at which you call this interface.
3255
- >
1477
+ > 2. The final frame rate of the encoded video by the SDK is determined by the FPS you set in setVideoEncoderParam, not by the frequency at which you call this interface.
1478
+ >
3256
1479
 
3257
1480
  > 3. Please try to keep the intervals between calls to this interface uniform. Otherwise, it may cause unstable encoder output frame rates or audio-video asynchrony.
3258
- >
3259
-
1481
+ >
3260
1482
 
3261
1483
  ## enableCustomAudioCapture:
3262
1484
 
3263
-
3264
-
3265
1485
  #### Enable Custom Audio Capturing Mode
3266
1486
 
3267
1487
  After enabling this mode, the SDK will no longer run the original audio capture process, meaning it will stop capturing audio data from the microphone and only retain audio encoding and sending capabilities.
3268
1488
 
3269
- You need to continuously feed the SDK with your own collected audio data through [sendCustomAudioData](https://write.woa.com/document/87029727163494400).
3270
- <table>
3271
- <tr>
3272
- <td rowspan="1" colSpan="1" >Parameters</td>
3273
-
3274
- <td rowspan="1" colSpan="1" >Description</td>
3275
- </tr>
3276
-
3277
- <tr>
3278
- <td rowspan="1" colSpan="1" >enable</td>
3279
-
3280
- <td rowspan="1" colSpan="1" >Whether to enable it, default value: NO.</td>
3281
- </tr>
3282
- </table>
3283
-
1489
+ You need to continuously feed the SDK with your own collected audio data through sendCustomAudioData.
1490
+ | Parameters | Description |
1491
+ | --- | --- |
1492
+ | enable | Whether to enable it, default value: NO. |
3284
1493
 
3285
1494
  > **Note**
3286
- >
1495
+ >
3287
1496
 
3288
1497
  > As Echo Cancellation (AEC) requires strict control over the timing of audio capture and playback, enabling custom audio capture may result in AEC capabilities becoming ineffective.
3289
- >
3290
-
1498
+ >
3291
1499
 
3292
1500
  ## sendCustomAudioData:
3293
1501
 
3294
-
3295
-
3296
1502
  #### Submit Self-collected Audio Data to the SDK
3297
1503
 
3298
- Parameter [TRTCAudioFrame](https://write.woa.com/document/87029873782558720) is recommended to be filled as follows (other fields do not need to be filled):
1504
+ Parameter TRTCAudioFrame is recommended to be filled as follows (other fields do not need to be filled):
3299
1505
  - audioFormat: Audio data format, only supports TRTCAudioFrameFormatPCM.
3300
1506
 
3301
1507
  - data: Audio frame buffer. Audio frame data only supports PCM format, with frame lengths ranging from [5ms ~ 100ms]. A frame length of 20ms is recommended. Calculation method: [48000 sampling rate, mono channel frame length: 48000 × 0.02s × 1 × 16bit = 15360bit = 1920 bytes].
@@ -3304,76 +1510,40 @@ Parameter [TRTCAudioFrame](https://write.woa.com/document/87029873782558720) is
3304
1510
 
3305
1511
  - channel: Number of channels (if stereo, data is interleaved), mono: 1; stereo: 2.
3306
1512
 
3307
- - timestamp: Timestamp, in milliseconds (ms). Please use the timestamp recorded when the audio frame is captured (you can get the timestamp by calling [generateCustomPTS](https://write.woa.com/document/87029727163494400) after capturing an audio frame).
3308
-
3309
-
3310
-
1513
+ - timestamp: Timestamp, in milliseconds (ms). Please use the timestamp recorded when the audio frame is captured (you can get the timestamp by calling generateCustomPTS after capturing an audio frame).
3311
1514
 
3312
1515
  Refer to documentation: [Custom Collection and Rendering](https://cloud.tencent.com/document/product/647/74692).
3313
- <table>
3314
- <tr>
3315
- <td rowspan="1" colSpan="1" >Parameters</td>
3316
-
3317
- <td rowspan="1" colSpan="1" >Description</td>
3318
- </tr>
3319
-
3320
- <tr>
3321
- <td rowspan="1" colSpan="1" >frame</td>
3322
-
3323
- <td rowspan="1" colSpan="1" >Audio Data</td>
3324
- </tr>
3325
- </table>
3326
-
1516
+ | Parameters | Description |
1517
+ | --- | --- |
1518
+ | frame | Audio Data |
3327
1519
 
3328
1520
  > **Note**
3329
- >
1521
+ >
3330
1522
 
3331
1523
  > Please call this interface accurately at intervals corresponding to the duration of each frame. Feeding data at uneven intervals is likely to cause audio stutter.
3332
- >
3333
-
1524
+ >
3334
1525
 
3335
1526
  ## enableMixExternalAudioFrame:playout:
3336
1527
 
3337
-
3338
-
3339
1528
  #### Enable/Disable Custom Audio Track
3340
1529
 
3341
1530
  Once enabled, you can use this interface to mix a Custom Audio Track into the SDK. With two boolean parameters, you can control whether the track should play remotely and locally.
3342
- <table>
3343
- <tr>
3344
- <td rowspan="1" colSpan="1" >Parameters</td>
3345
-
3346
- <td rowspan="1" colSpan="1" >Description</td>
3347
- </tr>
3348
-
3349
- <tr>
3350
- <td rowspan="1" colSpan="1" >enablePlayout</td>
3351
-
3352
- <td rowspan="1" colSpan="1" >Control whether the mixed track should play locally. Default: NO.</td>
3353
- </tr>
3354
-
3355
- <tr>
3356
- <td rowspan="1" colSpan="1" >enablePublish</td>
3357
-
3358
- <td rowspan="1" colSpan="1" >Control whether the mixed track should play remotely. Default: NO.</td>
3359
- </tr>
3360
- </table>
3361
-
1531
+ | Parameters | Description |
1532
+ | --- | --- |
1533
+ | enablePlayout | Control whether the mixed track should play locally. Default: NO. |
1534
+ | enablePublish | Control whether the mixed track should play remotely. Default: NO. |
3362
1535
 
3363
1536
  > **Note**
3364
- >
1537
+ >
3365
1538
 
3366
1539
  > If you specify both parameters enablePublish and enablePlayout as NO, it means completely disabling your Custom Audio Track.
3367
- >
3368
-
1540
+ >
3369
1541
 
3370
1542
  ## mixExternalAudioFrame:
3371
1543
 
3372
-
3373
-
3374
1544
  #### Mix Custom Audio Track into the SDK
3375
1545
 
3376
- Before calling this interface, you need to enable the Custom Audio Track with [enableMixExternalAudioFrame](https://write.woa.com/document/87029727163494400) first. After that, you can use this interface to mix your own audio track into the SDK in PCM format.
1546
+ Before calling this interface, you need to enable the Custom Audio Track with enableMixExternalAudioFrame first. After that, you can use this interface to mix your own audio track into the SDK in PCM format.
3377
1547
 
3378
1548
  Ideally, we expect your code to provide track data to the SDK at a very consistent rate. However, we understand that maintaining perfect call intervals is a significant challenge.
3379
1549
 
@@ -3383,38 +1553,24 @@ The return value of this interface represents the size of this track buffer zone
3383
1553
 
3384
1554
  When you call this interface, if you find the return value > 100ms, you can wait for one frame of audio playback time before calling again; if the return value < 100ms, it means the buffer is relatively small, you can mix in some more audio track data to ensure the size of the audio track buffer remains above the "safe level".
3385
1555
 
3386
-
3387
-
3388
- Parameter [TRTCAudioFrame](https://write.woa.com/document/87029873782558720) is recommended to be filled as follows (other fields do not need to be filled):
1556
+ Parameter TRTCAudioFrame is recommended to be filled as follows (other fields do not need to be filled):
3389
1557
  - data: Audio frame buffer. Audio frame data only supports PCM format, with frame lengths ranging from [5ms ~ 100ms]. A frame length of 20ms is recommended. Calculation method: [48000 sampling rate, mono channel frame length: 48000 × 0.02s × 1 × 16bit = 15360bit = 1920 bytes].
3390
1558
 
3391
1559
  - sampleRate: Sampling rate, supported values are 16000, 24000, 32000, 44100, 48000.
3392
1560
 
3393
1561
  - channel: Number of channels (if stereo, data is interleaved), mono: 1; stereo: 2.
3394
1562
 
3395
- - timestamp: Timestamp, in milliseconds (ms). Please use the timestamp recorded when the audio frame is captured (you can get the timestamp by calling [generateCustomPTS](https://write.woa.com/document/87029727163494400) after capturing an audio frame).
3396
-
3397
- <table>
3398
- <tr>
3399
- <td rowspan="1" colSpan="1" >Parameters</td>
3400
-
3401
- <td rowspan="1" colSpan="1" >Description</td>
3402
- </tr>
3403
-
3404
- <tr>
3405
- <td rowspan="1" colSpan="1" >frame</td>
3406
-
3407
- <td rowspan="1" colSpan="1" >Audio Data</td>
3408
- </tr>
3409
- </table>
1563
+ - timestamp: Timestamp, in milliseconds (ms). Please use the timestamp recorded when the audio frame is captured (you can get the timestamp by calling generateCustomPTS after capturing an audio frame).
3410
1564
 
1565
+ | Parameters | Description |
1566
+ | --- | --- |
1567
+ | frame | Audio Data |
3411
1568
 
3412
1569
  > **Note**
3413
- >
1570
+ >
3414
1571
 
3415
1572
  > Please call this interface accurately at intervals corresponding to the duration of each frame. Feeding data at uneven intervals is likely to cause audio stutter.
3416
- >
3417
-
1573
+ >
3418
1574
 
3419
1575
  #### Return value description:
3420
1576
 
@@ -3422,47 +1578,25 @@ Parameter [TRTCAudioFrame](https://write.woa.com/document/87029873782558720) is
3422
1578
 
3423
1579
  ## setMixExternalAudioVolume:playoutVolume:
3424
1580
 
3425
-
3426
-
3427
1581
  #### Set the Streaming Volume and Playback Volume for External Audio Mixed During Streaming
3428
- <table>
3429
- <tr>
3430
- <td rowspan="1" colSpan="1" >Parameters</td>
3431
-
3432
- <td rowspan="1" colSpan="1" >Description</td>
3433
- </tr>
3434
-
3435
- <tr>
3436
- <td rowspan="1" colSpan="1" >playoutVolume</td>
3437
-
3438
- <td rowspan="1" colSpan="1" >Set the playback volume level, ranging from 0 to 100. -1 means no change.</td>
3439
- </tr>
3440
-
3441
- <tr>
3442
- <td rowspan="1" colSpan="1" >publishVolume</td>
3443
-
3444
- <td rowspan="1" colSpan="1" >Set the streaming volume level, ranging from 0 to 100. -1 means no change.</td>
3445
- </tr>
3446
- </table>
3447
-
1582
+ | Parameters | Description |
1583
+ | --- | --- |
1584
+ | playoutVolume | Set the playback volume level, ranging from 0 to 100. -1 means no change. |
1585
+ | publishVolume | Set the streaming volume level, ranging from 0 to 100. -1 means no change. |
3448
1586
 
3449
1587
  ## generateCustomPTS
3450
1588
 
3451
-
3452
-
3453
1589
  #### Generate Timestamp for Custom Capturing
3454
1590
 
3455
1591
  This interface is only applicable to custom capturing mode, used to solve the issue of audio and video out of sync caused by the discrepancy between capture time and delivery time.
3456
1592
 
3457
-
3458
-
3459
- When you use interfaces such as [sendCustomVideoData](https://write.woa.com/document/87029727163494400) or [sendCustomAudioData](https://write.woa.com/document/87029727163494400) for custom video or audio capturing, please follow these steps to use this interface:
1593
+ When you use interfaces such as sendCustomVideoData or sendCustomAudioData for custom video or audio capturing, please follow these steps to use this interface:
3460
1594
 
3461
1595
  1. First, when capturing a video or audio frame, call this interface to obtain the PTS timestamp of that moment.
3462
1596
 
3463
1597
  2. Then, you can send the video or audio frame to the preprocessing module you use (such as third-party beauty components or third-party audio effect components).
3464
1598
 
3465
- 3. When actually calling [sendCustomVideoData](https://write.woa.com/document/87029727163494400) or [sendCustomAudioData](https://write.woa.com/document/87029727163494400) for streaming, please assign the PTS timestamp recorded during capture to the timestamp field in [TRTCVideoFrame](https://write.woa.com/document/87029873782558720) or [TRTCAudioFrame](https://write.woa.com/document/87029873782558720).
1599
+ 3. When actually calling sendCustomVideoData or sendCustomAudioData for streaming, please assign the PTS timestamp recorded during capture to the timestamp field in TRTCVideoFrame or TRTCAudioFrame.
3466
1600
 
3467
1601
  #### Return value description:
3468
1602
 
@@ -3470,37 +1604,14 @@ Timestamp (unit: ms)
3470
1604
 
3471
1605
  ## setLocalVideoProcessDelegete:pixelFormat:bufferType:
3472
1606
 
3473
-
3474
-
3475
1607
  #### Set Video Data Callback for Third-party Beauty Filter
3476
1608
 
3477
1609
  After setting this callback, the SDK will return the captured video frames through the delegate you set for secondary processing by third-party beauty filter components. The SDK will then encode and send the processed video frames.
3478
- <table>
3479
- <tr>
3480
- <td rowspan="1" colSpan="1" >Parameters</td>
3481
-
3482
- <td rowspan="1" colSpan="1" >Description</td>
3483
- </tr>
3484
-
3485
- <tr>
3486
- <td rowspan="1" colSpan="1" >bufferType</td>
3487
-
3488
- <td rowspan="1" colSpan="1" >Specify the callback data format, currently only supports [TRTCVideoBufferType_Texture](https://write.woa.com/document/87029873782558720)</td>
3489
- </tr>
3490
-
3491
- <tr>
3492
- <td rowspan="1" colSpan="1" >delegate</td>
3493
-
3494
- <td rowspan="1" colSpan="1" >Self-definition preprocessing callback, see [TRTCVideoFrameDelegate](https://write.woa.com/document/87029742770499584) for details</td>
3495
- </tr>
3496
-
3497
- <tr>
3498
- <td rowspan="1" colSpan="1" >pixelFormat</td>
3499
-
3500
- <td rowspan="1" colSpan="1" >Specify the pixel format for the callback, currently only supports [TRTCVideoPixelFormat_Texture_2D](https://write.woa.com/document/87029873782558720)</td>
3501
- </tr>
3502
- </table>
3503
-
1610
+ | Parameters | Description |
1611
+ | --- | --- |
1612
+ | bufferType | Specify the callback data format, currently only supports TRTCVideoBufferType_Texture |
1613
+ | delegate | Self-definition preprocessing callback, see TRTCVideoFrameDelegate for details |
1614
+ | pixelFormat | Specify the pixel format for the callback, currently only supports TRTCVideoPixelFormat_Texture_2D |
3504
1615
 
3505
1616
  #### Return value description:
3506
1617
 
@@ -3508,8 +1619,6 @@ After setting this callback, the SDK will return the captured video frames throu
3508
1619
 
3509
1620
  ## setLocalVideoRenderDelegate:pixelFormat:bufferType:
3510
1621
 
3511
-
3512
-
3513
1622
  #### Set Local Video Custom Rendering Callback
3514
1623
 
3515
1624
  After setting this callback, the SDK will skip the original rendering process and return the captured data. You need to handle the rendering yourself.
@@ -3517,34 +1626,12 @@ After setting this callback, the SDK will skip the original rendering process an
3517
1626
 
3518
1627
  - bufferType specifies the type of buffer. Using PixelBuffer has the highest efficiency; using NSData involves an internal memory conversion within the SDK, resulting in additional performance loss.
3519
1628
 
3520
-
3521
1629
  Refer to documentation: [Custom Collection and Rendering](https://cloud.tencent.com/document/product/647/34066).
3522
- <table>
3523
- <tr>
3524
- <td rowspan="1" colSpan="1" >Parameters</td>
3525
-
3526
- <td rowspan="1" colSpan="1" >Description</td>
3527
- </tr>
3528
-
3529
- <tr>
3530
- <td rowspan="1" colSpan="1" >bufferType</td>
3531
-
3532
- <td rowspan="1" colSpan="1" >PixelBuffer: can be directly converted to UIImage using imageWithCVImageBuffer; NSData: video data that has been memory-arranged.</td>
3533
- </tr>
3534
-
3535
- <tr>
3536
- <td rowspan="1" colSpan="1" >delegate</td>
3537
-
3538
- <td rowspan="1" colSpan="1" >Self-definition rendering callback.</td>
3539
- </tr>
3540
-
3541
- <tr>
3542
- <td rowspan="1" colSpan="1" >pixelFormat</td>
3543
-
3544
- <td rowspan="1" colSpan="1" >Specify the pixel format for the callback.</td>
3545
- </tr>
3546
- </table>
3547
-
1630
+ | Parameters | Description |
1631
+ | --- | --- |
1632
+ | bufferType | PixelBuffer: can be directly converted to UIImage using imageWithCVImageBuffer; NSData: video data that has been memory-arranged. |
1633
+ | delegate | Self-definition rendering callback. |
1634
+ | pixelFormat | Specify the pixel format for the callback. |
3548
1635
 
3549
1636
  #### Return value description:
3550
1637
 
@@ -3552,8 +1639,6 @@ Refer to documentation: [Custom Collection and Rendering](https://cloud.tencent.
3552
1639
 
3553
1640
  ## setRemoteVideoRenderDelegate:delegate:pixelFormat:bufferType:
3554
1641
 
3555
-
3556
-
3557
1642
  #### Sets the rendering callback for remote video self-definition
3558
1643
 
3559
1644
  After setting this callback, the SDK will skip the original rendering process and return the captured data. You need to handle the rendering yourself.
@@ -3561,49 +1646,19 @@ After setting this callback, the SDK will skip the original rendering process an
3561
1646
 
3562
1647
  - bufferType specifies the type of buffer. Using PixelBuffer has the highest efficiency; using NSData involves an internal memory conversion within the SDK, resulting in additional performance loss.
3563
1648
 
3564
-
3565
-
3566
-
3567
1649
  Refer to documentation: [Custom Collection and Rendering](https://cloud.tencent.com/document/product/647/34066).
3568
- <table>
3569
- <tr>
3570
- <td rowspan="1" colSpan="1" >Parameters</td>
3571
-
3572
- <td rowspan="1" colSpan="1" >Description</td>
3573
- </tr>
3574
-
3575
- <tr>
3576
- <td rowspan="1" colSpan="1" >bufferType</td>
3577
-
3578
- <td rowspan="1" colSpan="1" >PixelBuffer: can be directly converted to UIImage using imageWithCVImageBuffer; NSData: video data that has been memory-arranged.</td>
3579
- </tr>
3580
-
3581
- <tr>
3582
- <td rowspan="1" colSpan="1" >delegate</td>
3583
-
3584
- <td rowspan="1" colSpan="1" >Set Definition Rendering Callback</td>
3585
- </tr>
3586
-
3587
- <tr>
3588
- <td rowspan="1" colSpan="1" >pixelFormat</td>
3589
-
3590
- <td rowspan="1" colSpan="1" >Specify the pixel format for callback</td>
3591
- </tr>
3592
-
3593
- <tr>
3594
- <td rowspan="1" colSpan="1" >userId</td>
3595
-
3596
- <td rowspan="1" colSpan="1" >Specify the ID of the remote user</td>
3597
- </tr>
3598
- </table>
3599
-
1650
+ | Parameters | Description |
1651
+ | --- | --- |
1652
+ | bufferType | PixelBuffer: can be directly converted to UIImage using imageWithCVImageBuffer; NSData: video data that has been memory-arranged. |
1653
+ | delegate | Set Definition Rendering Callback |
1654
+ | pixelFormat | Specify the pixel format for callback |
1655
+ | userId | Specify the ID of the remote user |
3600
1656
 
3601
1657
  > **Note**
3602
- >
1658
+ >
3603
1659
 
3604
1660
  > Before calling this function, you need to call startRemoteView(nil) to obtain the video stream of the remote user (set view to nil), otherwise, there will be no data callback.
3605
- >
3606
-
1661
+ >
3607
1662
 
3608
1663
  #### Return value description:
3609
1664
 
@@ -3611,67 +1666,46 @@ Refer to documentation: [Custom Collection and Rendering](https://cloud.tencent.
3611
1666
 
3612
1667
  ## setAudioFrameDelegate:
3613
1668
 
3614
-
3615
-
3616
1669
  #### Sets the audio data self-definition callback
3617
1670
 
3618
1671
  After setting this callback, the SDK will internally callback the audio data (PCM format), including:
3619
- - [onCapturedAudioFrame](https://write.woa.com/document/87029742770499584): Audio data callback captured by the local microphone
1672
+ - onCapturedAudioFrame: Audio data callback captured by the local microphone
3620
1673
 
3621
- - [onLocalProcessedAudioFrame](https://write.woa.com/document/87029742770499584): Audio data callback captured locally and preprocessed by the audio module
1674
+ - onLocalProcessedAudioFrame: Audio data callback captured locally and preprocessed by the audio module
3622
1675
 
3623
- - [onRemoteUserAudioFrame](https://write.woa.com/document/87029742770499584): Audio data of each remote user before mixing
3624
-
3625
- - [onMixedPlayAudioFrame](https://write.woa.com/document/87029742770499584): Audio data callback after mixing various audio streams and finally to be played by the system
1676
+ - onRemoteUserAudioFrame: Audio data of each remote user before mixing
3626
1677
 
1678
+ - onMixedPlayAudioFrame: Audio data callback after mixing various audio streams and finally to be played by the system
3627
1679
 
3628
1680
  > **Note**
3629
- >
1681
+ >
3630
1682
 
3631
1683
  > Setting the callback to null means stopping the Definition audio callback; vice versa, setting the callback to non-null means starting the Definition audio callback.
3632
- >
3633
-
1684
+ >
3634
1685
 
3635
1686
  ## setCapturedAudioFrameDelegateFormat:
3636
1687
 
3637
-
3638
-
3639
1688
  #### Sets the callback format for audio frames captured by the local microphone
3640
1689
 
3641
- This interface is used to set the format of the AudioFrame callback for [onCapturedAudioFrame](https://write.woa.com/document/87029742770499584):
1690
+ This interface is used to set the format of the AudioFrame callback for onCapturedAudioFrame:
3642
1691
  - sampleRate: Sampling rate, supported values are 16000, 32000, 44100, 48000.
3643
1692
 
3644
1693
  - channel: Number of channels (if stereo, data is interleaved), mono: 1; stereo: 2.
3645
1694
 
3646
1695
  - samplesPerCall: Number of sampling points, Definition callback data frame length. The frame length must be an integer multiple of 10ms.
3647
1696
 
3648
-
3649
-
3650
-
3651
1697
  If you want to calculate the callback frame length in milliseconds, the formula to convert milliseconds to sampling points is: sampling points = milliseconds * sampling rate / 1000.
3652
1698
 
3653
1699
  Example: For a 48000 sampling rate and a desired callback frame length of 20ms, the number of sampling points should be: 960 = 20 * 48000 / 1000.
3654
- <table>
3655
- <tr>
3656
- <td rowspan="1" colSpan="1" >Parameters</td>
3657
-
3658
- <td rowspan="1" colSpan="1" >Description</td>
3659
- </tr>
3660
-
3661
- <tr>
3662
- <td rowspan="1" colSpan="1" >format</td>
3663
-
3664
- <td rowspan="1" colSpan="1" >Audio Data Callback Format.</td>
3665
- </tr>
3666
- </table>
3667
-
1700
+ | Parameters | Description |
1701
+ | --- | --- |
1702
+ | format | Audio Data Callback Format. |
3668
1703
 
3669
1704
  > **Note**
3670
- >
1705
+ >
3671
1706
 
3672
1707
  > The final callback frame length is in bytes. The formula to convert sampling points to bytes is: Byte Count = Sampling Points * Channels * 2 (Bit Width). Example: For a 48000 sampling rate, stereo, and 20ms frame length, the number of sampling points is 960, and the byte count is 3840 = 960 * 2 * 2
3673
- >
3674
-
1708
+ >
3675
1709
 
3676
1710
  #### Return value description:
3677
1711
 
@@ -3679,44 +1713,27 @@ Example: For a 48000 sampling rate and a desired callback frame length of 20ms,
3679
1713
 
3680
1714
  ## setLocalProcessedAudioFrameDelegateFormat:
3681
1715
 
3682
-
3683
-
3684
1716
  #### Sets the callback format for local audio frames after preprocessing
3685
1717
 
3686
- This interface is used to set the format of the AudioFrame callback for [onLocalProcessedAudioFrame](https://write.woa.com/document/87029742770499584):
1718
+ This interface is used to set the format of the AudioFrame callback for onLocalProcessedAudioFrame:
3687
1719
  - sampleRate: Sampling rate, supported values are 16000, 32000, 44100, 48000.
3688
1720
 
3689
1721
  - channel: Number of channels (if stereo, data is interleaved), mono: 1; stereo: 2.
3690
1722
 
3691
1723
  - samplesPerCall: Number of sampling points, Definition callback data frame length. The frame length must be an integer multiple of 10ms.
3692
1724
 
3693
-
3694
-
3695
-
3696
1725
  If you want to calculate the callback frame length in milliseconds, the formula to convert milliseconds to sampling points is: sampling points = milliseconds * sampling rate / 1000.
3697
1726
 
3698
1727
  Example: For a 48000 sampling rate and a desired callback frame length of 20ms, the number of sampling points should be: 960 = 20 * 48000 / 1000.
3699
- <table>
3700
- <tr>
3701
- <td rowspan="1" colSpan="1" >Parameters</td>
3702
-
3703
- <td rowspan="1" colSpan="1" >Description</td>
3704
- </tr>
3705
-
3706
- <tr>
3707
- <td rowspan="1" colSpan="1" >format</td>
3708
-
3709
- <td rowspan="1" colSpan="1" >Audio Data Callback Format.</td>
3710
- </tr>
3711
- </table>
3712
-
1728
+ | Parameters | Description |
1729
+ | --- | --- |
1730
+ | format | Audio Data Callback Format. |
3713
1731
 
3714
1732
  > **Note**
3715
- >
1733
+ >
3716
1734
 
3717
1735
  > The final callback frame length is in bytes. The formula to convert sampling points to bytes is: Byte Count = Sampling Points * Channels * 2 (Bit Width). Example: For a 48000 sampling rate, stereo, and 20ms frame length, the number of sampling points is 960, and the byte count is 3840 = 960 * 2 * 2
3718
- >
3719
-
1736
+ >
3720
1737
 
3721
1738
  #### Return value description:
3722
1739
 
@@ -3724,44 +1741,27 @@ Example: For a 48000 sampling rate and a desired callback frame length of 20ms,
3724
1741
 
3725
1742
  ## setMixedPlayAudioFrameDelegateFormat:
3726
1743
 
3727
-
3728
-
3729
1744
  #### Sets the callback format for audio frames that will eventually be played by the system
3730
1745
 
3731
- This interface is used to set the format of the AudioFrame callback for [onMixedPlayAudioFrame](https://write.woa.com/document/87029742770499584):
1746
+ This interface is used to set the format of the AudioFrame callback for onMixedPlayAudioFrame:
3732
1747
  - sampleRate: Sampling rate, supported values are 16000, 32000, 44100, 48000.
3733
1748
 
3734
1749
  - channel: Number of channels (if stereo, data is interleaved), mono: 1; stereo: 2.
3735
1750
 
3736
1751
  - samplesPerCall: Number of sampling points, Definition callback data frame length. The frame length must be an integer multiple of 10ms.
3737
1752
 
3738
-
3739
-
3740
-
3741
1753
  If you want to calculate the callback frame length in milliseconds, the formula to convert milliseconds to sampling points is: sampling points = milliseconds * sampling rate / 1000.
3742
1754
 
3743
1755
  Example: For a 48000 sampling rate and a desired callback frame length of 20ms, the number of sampling points should be: 960 = 20 * 48000 / 1000.
3744
- <table>
3745
- <tr>
3746
- <td rowspan="1" colSpan="1" >Parameters</td>
3747
-
3748
- <td rowspan="1" colSpan="1" >Description</td>
3749
- </tr>
3750
-
3751
- <tr>
3752
- <td rowspan="1" colSpan="1" >format</td>
3753
-
3754
- <td rowspan="1" colSpan="1" >Audio Data Callback Format.</td>
3755
- </tr>
3756
- </table>
3757
-
1756
+ | Parameters | Description |
1757
+ | --- | --- |
1758
+ | format | Audio Data Callback Format. |
3758
1759
 
3759
1760
  > **Note**
3760
- >
1761
+ >
3761
1762
 
3762
1763
  > The final callback frame length is in bytes. The formula to convert sampling points to bytes is: Byte Count = Sampling Points * Channels * 2 (Bit Width). Example: For a 48000 sampling rate, stereo, and 20ms frame length, the number of sampling points is 960, and the byte count is 3840 = 960 * 2 * 2
3763
- >
3764
-
1764
+ >
3765
1765
 
3766
1766
  #### Return value description:
3767
1767
 
@@ -3769,147 +1769,85 @@ Example: For a 48000 sampling rate and a desired callback frame length of 20ms,
3769
1769
 
3770
1770
  ## enableCustomAudioRendering:
3771
1771
 
3772
-
3773
-
3774
1772
  #### Enable self-definition audio playback
3775
1773
 
3776
1774
  If you need to connect specific audio devices or want to control the audio playback logic yourself, you can enable Custom Playback through this interface.
3777
1775
 
3778
- After enabling Custom Playback, the SDK will no longer use the system's audio interface to play data. You need to get the audio frame that the SDK wants to play through [getCustomAudioRenderingFrame](https://write.woa.com/document/87029727163494400) and play it yourself.
3779
- <table>
3780
- <tr>
3781
- <td rowspan="1" colSpan="1" >Parameters</td>
3782
-
3783
- <td rowspan="1" colSpan="1" >Description</td>
3784
- </tr>
3785
-
3786
- <tr>
3787
- <td rowspan="1" colSpan="1" >enable</td>
3788
-
3789
- <td rowspan="1" colSpan="1" >Whether to enable Custom Playback is off by default.</td>
3790
- </tr>
3791
- </table>
3792
-
1776
+ After enabling Custom Playback, the SDK will no longer use the system's audio interface to play data. You need to get the audio frame that the SDK wants to play through getCustomAudioRenderingFrame and play it yourself.
1777
+ | Parameters | Description |
1778
+ | --- | --- |
1779
+ | enable | Whether to enable Custom Playback is off by default. |
3793
1780
 
3794
1781
  > **Note**
3795
- >
1782
+ >
3796
1783
 
3797
1784
  > You need to set it before entering the room for it to take effect. It is not supported to set it after entering the room.
3798
- >
3799
-
1785
+ >
3800
1786
 
3801
1787
  ## getCustomAudioRenderingFrame:
3802
1788
 
3803
-
3804
-
3805
1789
  #### Get playable audio data
3806
1790
 
3807
- Before calling this interface, you need to enable Custom Playback through [enableCustomAudioRendering](https://write.woa.com/document/87029727163494400) first.
3808
-
1791
+ Before calling this interface, you need to enable Custom Playback through enableCustomAudioRendering first.
3809
1792
 
3810
-
3811
- Parameter [TRTCAudioFrame](https://write.woa.com/document/87029873782558720) is recommended to be filled as follows (other fields do not need to be filled):
1793
+ Parameter TRTCAudioFrame is recommended to be filled as follows (other fields do not need to be filled):
3812
1794
  - sampleRate: Sampling rate, required, supported values are 16000, 24000, 32000, 44100, 48000.
3813
1795
 
3814
1796
  - channel: Number of channels, required. Fill in 1 for mono, 2 for stereo. The data is interleaved for stereo.
3815
1797
 
3816
1798
  - data: Buffer for obtaining audio data. You need to allocate the memory size of data according to the frame length of an audio frame. The obtained PCM data supports frame lengths of 10ms or 20ms. It is recommended to use a frame length of 20ms.
3817
1799
 
3818
-
3819
-
3820
-
3821
1800
  Calculation formula: Sampling rate x Playback duration x Number of channels x 2 (bytes per sample). For example, for a frame of audio with a sampling rate of 48000, mono channel, and a playback duration of 20ms, the buffer size is 48000 × 0.02s × 1 × 16bit = 15360bit = 1920 bytes.
3822
- <table>
3823
- <tr>
3824
- <td rowspan="1" colSpan="1" >Parameters</td>
3825
-
3826
- <td rowspan="1" colSpan="1" >Description</td>
3827
- </tr>
3828
-
3829
- <tr>
3830
- <td rowspan="1" colSpan="1" >audioFrame</td>
3831
-
3832
- <td rowspan="1" colSpan="1" >Audio data frame.</td>
3833
- </tr>
3834
- </table>
3835
-
1801
+ | Parameters | Description |
1802
+ | --- | --- |
1803
+ | audioFrame | Audio data frame. |
3836
1804
 
3837
1805
  > **Note**
3838
- >
1806
+ >
3839
1807
 
3840
1808
  > 1. Parameters sampleRate and channel in audioFrame should be set in advance, and the data space required for the frame length to be read should be allocated.
3841
- >
1809
+ >
3842
1810
 
3843
1811
  > 2. The SDK will automatically fill the data according to sampleRate and channel.
3844
- >
1812
+ >
3845
1813
 
3846
1814
  > 3. It is recommended to call this function driven by the system's audio playback thread. After playing one frame of audio, call this API to get the next playable frame of audio data.
3847
- >
3848
-
1815
+ >
3849
1816
 
3850
1817
  ## sendCustomCmdMsg:data:reliable:ordered:
3851
1818
 
3852
-
3853
-
3854
1819
  #### Sends a custom message using UDP channel to all users in a room
3855
1820
 
3856
1821
  This interface allows you to use TRTC's UDP Channel to broadcast custom data to other users in the room, achieving the purpose of transmitting signaling.
3857
1822
 
3858
- Other users in the room can receive messages via the onRecvCustomCmdMsg callback in [TRTCCloudDelegate](https://write.woa.com/document/87029742770499584).
3859
- <table>
3860
- <tr>
3861
- <td rowspan="1" colSpan="1" >Parameters</td>
3862
-
3863
- <td rowspan="1" colSpan="1" >Description</td>
3864
- </tr>
3865
-
3866
- <tr>
3867
- <td rowspan="1" colSpan="1" >cmdID</td>
3868
-
3869
- <td rowspan="1" colSpan="1" >Message ID, the value range is 1 - 10.</td>
3870
- </tr>
3871
-
3872
- <tr>
3873
- <td rowspan="1" colSpan="1" >data</td>
3874
-
3875
- <td rowspan="1" colSpan="1" >Message to be sent, the maximum length of a single message is limited to 1KB.</td>
3876
- </tr>
3877
-
3878
- <tr>
3879
- <td rowspan="1" colSpan="1" >ordered</td>
3880
-
3881
- <td rowspan="1" colSpan="1" >Whether orderly sending is enabled, i.e., whether the order of data packets at the receiver matches the order at the sender (this will cause some reception delay).</td>
3882
- </tr>
3883
-
3884
- <tr>
3885
- <td rowspan="1" colSpan="1" >reliable</td>
3886
-
3887
- <td rowspan="1" colSpan="1" >Whether reliable transmission is enabled. Reliable transmission offers a higher success rate but will cause higher reception delays compared to unreliable transmission.</td>
3888
- </tr>
3889
- </table>
3890
-
1823
+ Other users in the room can receive messages via the onRecvCustomCmdMsg callback in TRTCCloudDelegate.
1824
+ | Parameters | Description |
1825
+ | --- | --- |
1826
+ | cmdID | Message ID, the value range is 1 - 10. |
1827
+ | data | Message to be sent, the maximum length of a single message is limited to 1KB. |
1828
+ | ordered | Whether orderly sending is enabled, i.e., whether the order of data packets at the receiver matches the order at the sender (this will cause some reception delay). |
1829
+ | reliable | Whether reliable transmission is enabled. Reliable transmission offers a higher success rate but will cause higher reception delays compared to unreliable transmission. |
3891
1830
 
3892
1831
  > **Note**
3893
- >
1832
+ >
3894
1833
 
3895
1834
  > 1. Sending messages to all users in the room (currently not supporting Web/Mini program end), up to 30 messages per second.
3896
- >
1835
+ >
3897
1836
 
3898
1837
  > 2. Each data packet can be up to 1KB. If it exceeds this size, it is very likely to be discarded by intermediate routers or servers.
3899
- >
1838
+ >
3900
1839
 
3901
1840
  > 3. Each client can send up to 8 KB of data per second.
3902
- >
1841
+ >
3903
1842
 
3904
1843
  > 4. Please set both `reliable` and `ordered` to YES or both to NO. Cross settings are not supported.
3905
- >
1844
+ >
3906
1845
 
3907
1846
  > 5. It is strongly recommended to set different types of messages with different cmdIDs. This can reduce message latency when ordering is required.
3908
- >
1847
+ >
3909
1848
 
3910
1849
  > 6. Currently, only anchor roles are supported.
3911
- >
3912
-
1850
+ >
3913
1851
 
3914
1852
  #### Return value description:
3915
1853
 
@@ -3917,70 +1855,47 @@ YES: Message has been sent; NO: Message delivery failed.
3917
1855
 
3918
1856
  ## sendSEIMsg:repeatCount:
3919
1857
 
3920
-
3921
-
3922
1858
  #### Sends a custom message using SEI channel to all users in a room
3923
1859
 
3924
1860
  This interface allows you to broadcast self-defined data to other users in the current room using TRTC's SEI channel to achieve signaling transmission.
3925
1861
 
3926
-
3927
-
3928
1862
  There is a header data block called SEI in the video frame header. The principle of this interface is to use this SEI header data block to embed the self-defined signaling you want to send, so it is sent out along with the video frame.
3929
1863
 
3930
- Therefore, compared to [sendCustomCmdMsg](https://write.woa.com/document/87029727163494400), signaling transmitted via the SEI channel has better compatibility: the signaling can be transmitted along with the video frame all the way to the live CDN.
1864
+ Therefore, compared to sendCustomCmdMsg, signaling transmitted via the SEI channel has better compatibility: the signaling can be transmitted along with the video frame all the way to the live CDN.
3931
1865
 
3932
1866
  However, because the data block in the video frame header cannot be too large, it is recommended to control the signaling size to just a few bytes when using this interface.
3933
1867
 
3934
-
3935
-
3936
1868
  The most common usage is to embed a self-defined timestamp (timestamp) into the video frame using this interface to achieve perfect alignment of messages and screen (e.g., in educational scenarios for aligning courseware and video signals).
3937
1869
 
3938
- Other users in the room can receive messages via the onRecvSEIMsg callback in [TRTCCloudDelegate](https://write.woa.com/document/87029742770499584).
3939
- <table>
3940
- <tr>
3941
- <td rowspan="1" colSpan="1" >Parameters</td>
3942
-
3943
- <td rowspan="1" colSpan="1" >Description</td>
3944
- </tr>
3945
-
3946
- <tr>
3947
- <td rowspan="1" colSpan="1" >data</td>
3948
-
3949
- <td rowspan="1" colSpan="1" >Data to be sent, which can contain up to 1 KB (1,000 bytes) of data</td>
3950
- </tr>
3951
-
3952
- <tr>
3953
- <td rowspan="1" colSpan="1" >repeatCount</td>
3954
-
3955
- <td rowspan="1" colSpan="1" >Number of data sends</td>
3956
- </tr>
3957
- </table>
3958
-
1870
+ Other users in the room can receive messages via the onRecvSEIMsg callback in TRTCCloudDelegate.
1871
+ | Parameters | Description |
1872
+ | --- | --- |
1873
+ | data | Data to be sent, which can contain up to 1 KB (1,000 bytes) of data |
1874
+ | repeatCount | Number of data sends |
3959
1875
 
3960
1876
  > **Note**
3961
- >
1877
+ >
3962
1878
 
3963
1879
  > This interface has the following limitations:
3964
- >
1880
+ >
3965
1881
 
3966
1882
  > 1. Data will not be sent immediately after the API invocation, but will be sent along with the next video frame.
3967
- >
1883
+ >
3968
1884
 
3969
1885
  > 2. Send messages to all users in the room, up to 30 messages per second (shared limit with sendCustomCmdMsg).
3970
- >
1886
+ >
3971
1887
 
3972
1888
  > 3. Each package is a maximum of 1 KB. Sending large amounts of data will increase the video bitrate and possibly cause reduced image quality or lag (shared limit with sendCustomCmdMsg).
3973
- >
1889
+ >
3974
1890
 
3975
1891
  > 4. Each client can send up to 8 KB of data per second (shared limit with sendCustomCmdMsg).
3976
- >
1892
+ >
3977
1893
 
3978
1894
  > 5. If multiple sends are specified (repeatCount > 1), the data will be sent with the subsequent repeatCount number of video frames, which will also increase the video bitrate.
3979
- >
1895
+ >
3980
1896
 
3981
1897
  > 6. If repeatCount > 1 and there are multiple sends, the onRecvSEIMsg callback may receive the same message multiple times, and deduplication is needed.
3982
- >
3983
-
1898
+ >
3984
1899
 
3985
1900
  #### Return value description:
3986
1901
 
@@ -3988,36 +1903,22 @@ YES: The message has passed the limit and is waiting to be sent in subsequent vi
3988
1903
 
3989
1904
  ## startSpeedTest:
3990
1905
 
3991
-
3992
-
3993
1906
  #### Start internet speed test (use before entering the room)
3994
- <table>
3995
- <tr>
3996
- <td rowspan="1" colSpan="1" >Parameters</td>
3997
-
3998
- <td rowspan="1" colSpan="1" >Description</td>
3999
- </tr>
4000
-
4001
- <tr>
4002
- <td rowspan="1" colSpan="1" >params</td>
4003
-
4004
- <td rowspan="1" colSpan="1" >Speed Test Options</td>
4005
- </tr>
4006
- </table>
4007
-
1907
+ | Parameters | Description |
1908
+ | --- | --- |
1909
+ | params | Speed Test Options |
4008
1910
 
4009
1911
  > **Note**
4010
- >
1912
+ >
4011
1913
 
4012
1914
  > 1. The speed test process will incur a small basic service fee. For details, refer to [Billing Overview > Basic Service](https://cloud.tencent.com/document/product/647/17157#.E5.9F.BA.E7.A1.80.E6.9C.8D.E5.8A.A1) documentation.
4013
- >
1915
+ >
4014
1916
 
4015
1917
  > 2. Please perform the internet speed test before entering the room. Conducting the test in the room will affect normal audio and video transmission and will also be inaccurate due to too much interference.
4016
- >
1918
+ >
4017
1919
 
4018
1920
  > 3. Only one internet speed test task is allowed to run at the same time.
4019
- >
4020
-
1921
+ >
4021
1922
 
4022
1923
  #### Return value description:
4023
1924
 
@@ -4025,84 +1926,39 @@ API Invocation Result, < 0: Failure
4025
1926
 
4026
1927
  ## stopSpeedTest
4027
1928
 
4028
-
4029
-
4030
1929
  #### Stops network speed testing
4031
1930
 
4032
1931
  ## getSDKVersion
4033
1932
 
4034
-
4035
-
4036
1933
  #### Obtains the SDK version.
4037
1934
 
4038
1935
  ## setLogLevel:
4039
1936
 
4040
-
4041
-
4042
1937
  #### Sets the log output level.
4043
- <table>
4044
- <tr>
4045
- <td rowspan="1" colSpan="1" >Parameters</td>
4046
-
4047
- <td rowspan="1" colSpan="1" >Description</td>
4048
- </tr>
4049
-
4050
- <tr>
4051
- <td rowspan="1" colSpan="1" >level</td>
4052
-
4053
- <td rowspan="1" colSpan="1" >Refer to [TRTCLogLevel](https://write.woa.com/document/87029873782558720), default value: [TRTCLogLevelNone](https://write.woa.com/document/87029873782558720)</td>
4054
- </tr>
4055
- </table>
4056
-
1938
+ | Parameters | Description |
1939
+ | --- | --- |
1940
+ | level | Refer to TRTCLogLevel, default value: TRTCLogLevelNone |
4057
1941
 
4058
1942
  ## setConsoleEnabled:
4059
1943
 
4060
-
4061
-
4062
1944
  #### Enables/Disables console log print.
4063
- <table>
4064
- <tr>
4065
- <td rowspan="1" colSpan="1" >Parameters</td>
4066
-
4067
- <td rowspan="1" colSpan="1" >Description</td>
4068
- </tr>
4069
-
4070
- <tr>
4071
- <td rowspan="1" colSpan="1" >enabled</td>
4072
-
4073
- <td rowspan="1" colSpan="1" >Specify whether to enable it. Default: Disabled.</td>
4074
- </tr>
4075
- </table>
4076
-
1945
+ | Parameters | Description |
1946
+ | --- | --- |
1947
+ | enabled | Specify whether to enable it. Default: Disabled. |
4077
1948
 
4078
1949
  ## setLogCompressEnabled:
4079
1950
 
4080
-
4081
-
4082
1951
  #### Enables/Disables local log compression
4083
1952
 
4084
1953
  After enabling compression, the log storage volume is significantly reduced, but you need to use a Python script provided by Tencent Cloud to decompress and read it.
4085
1954
 
4086
1955
  After disabling compression, logs are stored in plaintext, which can be opened and read directly with Notepad but occupy more space.
4087
- <table>
4088
- <tr>
4089
- <td rowspan="1" colSpan="1" >Parameters</td>
4090
-
4091
- <td rowspan="1" colSpan="1" >Description</td>
4092
- </tr>
4093
-
4094
- <tr>
4095
- <td rowspan="1" colSpan="1" >enabled</td>
4096
-
4097
- <td rowspan="1" colSpan="1" >Specify whether to enable it. Default: Enabled</td>
4098
- </tr>
4099
- </table>
4100
-
1956
+ | Parameters | Description |
1957
+ | --- | --- |
1958
+ | enabled | Specify whether to enable it. Default: Enabled |
4101
1959
 
4102
1960
  ## setLogDirPath:
4103
1961
 
4104
-
4105
-
4106
1962
  #### Sets the save path for local logs
4107
1963
 
4108
1964
  This interface allows you to change the default storage path of SDK local logs. The default local log storage locations are:
@@ -4112,127 +1968,61 @@ This interface allows you to change the default storage path of SDK local logs.
4112
1968
 
4113
1969
  - Android platform: /app private directory/files/log/liteav/.
4114
1970
 
4115
- <table>
4116
- <tr>
4117
- <td rowspan="1" colSpan="1" >Parameters</td>
4118
-
4119
- <td rowspan="1" colSpan="1" >Description</td>
4120
- </tr>
4121
-
4122
- <tr>
4123
- <td rowspan="1" colSpan="1" >path</td>
4124
-
4125
- <td rowspan="1" colSpan="1" >Storage path for logs</td>
4126
- </tr>
4127
- </table>
4128
-
1971
+ | Parameters | Description |
1972
+ | --- | --- |
1973
+ | path | Storage path for logs |
4129
1974
 
4130
1975
  > **Note**
4131
- >
1976
+ >
4132
1977
 
4133
1978
  > Make sure to call this before all other interfaces and ensure that the specified directory exists and that your application has read and write permissions for that directory.
4134
- >
4135
-
1979
+ >
4136
1980
 
4137
1981
  ## setLogDelegate:
4138
1982
 
4139
-
4140
-
4141
1983
  #### Log callback
4142
1984
 
4143
1985
  ## showDebugView:
4144
1986
 
4145
-
4146
-
4147
1987
  #### Show Dashboard
4148
1988
 
4149
1989
  The "Dashboard" is a semi-transparent debug information overlay located above the video rendering control, used to display audio and video information and event information, aiding in integration and debugging.
4150
- <table>
4151
- <tr>
4152
- <td rowspan="1" colSpan="1" >Parameters</td>
4153
-
4154
- <td rowspan="1" colSpan="1" >Description</td>
4155
- </tr>
4156
-
4157
- <tr>
4158
- <td rowspan="1" colSpan="1" >showType</td>
4159
-
4160
- <td rowspan="1" colSpan="1" >0: Do not display; 1: Display simplified edition (audio and video information only); 2: Display full version (including audio and video information and event information).</td>
4161
- </tr>
4162
- </table>
4163
-
1990
+ | Parameters | Description |
1991
+ | --- | --- |
1992
+ | showType | 0: Do not display; 1: Display simplified edition (audio and video information only); 2: Display full version (including audio and video information and event information). |
4164
1993
 
4165
1994
  ## setDebugViewMargin:margin:
4166
1995
 
4167
-
4168
-
4169
1996
  #### Set the dashboard margin
4170
1997
 
4171
1998
  Used to adjust the position of the dashboard within the video rendering control. Must be called before showDebugView to take effect.
4172
- <table>
4173
- <tr>
4174
- <td rowspan="1" colSpan="1" >Parameters</td>
4175
-
4176
- <td rowspan="1" colSpan="1" >Description</td>
4177
- </tr>
4178
-
4179
- <tr>
4180
- <td rowspan="1" colSpan="1" >margin</td>
4181
-
4182
- <td rowspan="1" colSpan="1" >Dashboard inner padding. Note that here it is based on the percentage of the parentView. Margin value range is 0 - 1.</td>
4183
- </tr>
4184
-
4185
- <tr>
4186
- <td rowspan="1" colSpan="1" >userId</td>
4187
-
4188
- <td rowspan="1" colSpan="1" >User ID.</td>
4189
- </tr>
4190
- </table>
4191
-
1999
+ | Parameters | Description |
2000
+ | --- | --- |
2001
+ | margin | Dashboard inner padding. Note that here it is based on the percentage of the parentView. Margin value range is 0 - 1. |
2002
+ | userId | User ID. |
4192
2003
 
4193
2004
  ## callExperimentalAPI:
4194
2005
 
4195
-
4196
-
4197
2006
  #### Calls an experimental API.
4198
2007
 
4199
2008
  ## enablePayloadPrivateEncryption:params:
4200
2009
 
4201
-
4202
-
4203
2010
  #### Enable or disable media stream private encryption
4204
2011
 
4205
2012
  In scenarios with high security requirements, TRTC recommends calling the enablePayloadPrivateEncryption method to enable media stream private encryption before joining a room.
4206
2013
 
4207
2014
  After the user leaves the room, the SDK will automatically disable private encryption. If you need to re-enable private encryption, you must call this method before the user rejoins the room.
4208
- <table>
4209
- <tr>
4210
- <td rowspan="1" colSpan="1" >Parameters</td>
4211
-
4212
- <td rowspan="1" colSpan="1" >Description</td>
4213
- </tr>
4214
-
4215
- <tr>
4216
- <td rowspan="1" colSpan="1" >config</td>
4217
-
4218
- <td rowspan="1" colSpan="1" >For configuring the media stream private encryption algorithm and key, refer to [TRTCPayloadPrivateEncryptionConfig](https://write.woa.com/document/87029873782558720).</td>
4219
- </tr>
4220
-
4221
- <tr>
4222
- <td rowspan="1" colSpan="1" >enabled</td>
4223
-
4224
- <td rowspan="1" colSpan="1" >Whether to enable media stream private encryption.</td>
4225
- </tr>
4226
- </table>
4227
-
2015
+ | Parameters | Description |
2016
+ | --- | --- |
2017
+ | config | For configuring the media stream private encryption algorithm and key, refer to TRTCPayloadPrivateEncryptionConfig. |
2018
+ | enabled | Whether to enable media stream private encryption. |
4228
2019
 
4229
2020
  > **Note**
4230
- >
2021
+ >
4231
2022
 
4232
2023
  > TRTC already encrypts media streams before transmission. When media stream private encryption is enabled, it will use the key and initialization vector you provided for additional encryption.
4233
- >
4234
-
2024
+ >
4235
2025
 
4236
2026
  #### Return value description:
4237
2027
 
4238
- API invocation results: 0: Method call successful, -1: Invalid input parameter, -2: Feature expired. To unlock: Please visit the Chinese mainland site to activate the [TRTC Enterprise Edition Package](https://buy.cloud.tencent.com/trtc?tab=month&trtcversion=ultimate), and submit an [application](https://cloud.tencent.com/apply/p/diifjcmffhw). You can use it upon approval.
2028
+ API invocation results: 0: Method call successful, -1: Invalid input parameter, -2: Feature expired. To unlock: Please visit the Chinese mainland site to activate the [TRTC Enterprise Edition Package](https://buy.cloud.tencent.com/trtc?tab=month&trtcversion=ultimate), and submit an [application](https://cloud.tencent.com/apply/p/diifjcmffhw). You can use it upon approval.