@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,583 +2,129 @@
2
2
  ## Overview
3
3
  `TRTCCloudCallback.h` provides the event callback interface for TRTC Real-Time Communication (TRTC SDK) on C++.
4
4
 
5
-
6
5
  ## ITRTCCloudCallback
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" >[onError](https://write.woa.com/document/87030021158866944)</td>
16
-
17
- <td rowspan="1" colSpan="1" >Error event callback</td>
18
- </tr>
19
-
20
- <tr>
21
- <td rowspan="1" colSpan="1" >[onWarning](https://write.woa.com/document/87030021158866944)</td>
22
-
23
- <td rowspan="1" colSpan="1" >Warning event callback</td>
24
- </tr>
25
-
26
- <tr>
27
- <td rowspan="1" colSpan="1" >[onEnterRoom](https://write.woa.com/document/87030021158866944)</td>
28
-
29
- <td rowspan="1" colSpan="1" >Event callback for room entry success or failure</td>
30
- </tr>
31
-
32
- <tr>
33
- <td rowspan="1" colSpan="1" >[onExitRoom](https://write.woa.com/document/87030021158866944)</td>
34
-
35
- <td rowspan="1" colSpan="1" >Event callback for leaving the room</td>
36
- </tr>
37
-
38
- <tr>
39
- <td rowspan="1" colSpan="1" >[onSwitchRole](https://write.woa.com/document/87030021158866944)</td>
40
-
41
- <td rowspan="1" colSpan="1" >Event callback for switching roles</td>
42
- </tr>
43
-
44
- <tr>
45
- <td rowspan="1" colSpan="1" >[onSwitchRoom](https://write.woa.com/document/87030021158866944)</td>
46
-
47
- <td rowspan="1" colSpan="1" >Event callback for switching rooms result</td>
48
- </tr>
49
-
50
- <tr>
51
- <td rowspan="1" colSpan="1" >[onConnectOtherRoom](https://write.woa.com/document/87030021158866944)</td>
52
-
53
- <td rowspan="1" colSpan="1" >Event callback for cross-room communication request result</td>
54
- </tr>
55
-
56
- <tr>
57
- <td rowspan="1" colSpan="1" >[onDisconnectOtherRoom](https://write.woa.com/document/87030021158866944)</td>
58
-
59
- <td rowspan="1" colSpan="1" >Event callback for ending cross-room communication result</td>
60
- </tr>
61
-
62
- <tr>
63
- <td rowspan="1" colSpan="1" >[onUpdateOtherRoomForwardMode](https://write.woa.com/document/87030021158866944)</td>
64
-
65
- <td rowspan="1" colSpan="1" >Event callback for modifying cross-room broadcaster uplink capability result</td>
66
- </tr>
67
-
68
- <tr>
69
- <td rowspan="1" colSpan="1" >[onRemoteUserEnterRoom](https://write.woa.com/document/87030021158866944)</td>
70
-
71
- <td rowspan="1" colSpan="1" >A user has joined the current room</td>
72
- </tr>
73
-
74
- <tr>
75
- <td rowspan="1" colSpan="1" >[onRemoteUserLeaveRoom](https://write.woa.com/document/87030021158866944)</td>
76
-
77
- <td rowspan="1" colSpan="1" >A user has left the current room</td>
78
- </tr>
79
-
80
- <tr>
81
- <td rowspan="1" colSpan="1" >[onUserVideoAvailable](https://write.woa.com/document/87030021158866944)</td>
82
-
83
- <td rowspan="1" colSpan="1" >A remote user has started/stopped publishing the main video stream</td>
84
- </tr>
85
-
86
- <tr>
87
- <td rowspan="1" colSpan="1" >[onUserSubStreamAvailable](https://write.woa.com/document/87030021158866944)</td>
88
-
89
- <td rowspan="1" colSpan="1" >A remote user has started/stopped publishing the auxiliary video stream</td>
90
- </tr>
91
-
92
- <tr>
93
- <td rowspan="1" colSpan="1" >[onUserAudioAvailable](https://write.woa.com/document/87030021158866944)</td>
94
-
95
- <td rowspan="1" colSpan="1" >A remote user has started/stopped publishing their audio</td>
96
- </tr>
97
-
98
- <tr>
99
- <td rowspan="1" colSpan="1" >[onFirstVideoFrame](https://write.woa.com/document/87030021158866944)</td>
100
-
101
- <td rowspan="1" colSpan="1" >The SDK has started rendering the first frame of the local or remote user's video</td>
102
- </tr>
103
-
104
- <tr>
105
- <td rowspan="1" colSpan="1" >[onFirstAudioFrame](https://write.woa.com/document/87030021158866944)</td>
106
-
107
- <td rowspan="1" colSpan="1" >The SDK has started playing the remote user's first audio frame</td>
108
- </tr>
109
-
110
- <tr>
111
- <td rowspan="1" colSpan="1" >[onSendFirstLocalVideoFrame](https://write.woa.com/document/87030021158866944)</td>
112
-
113
- <td rowspan="1" colSpan="1" >The first local video frame has been published</td>
114
- </tr>
115
-
116
- <tr>
117
- <td rowspan="1" colSpan="1" >[onSendFirstLocalAudioFrame](https://write.woa.com/document/87030021158866944)</td>
118
-
119
- <td rowspan="1" colSpan="1" >The first local audio frame has been published</td>
120
- </tr>
121
-
122
- <tr>
123
- <td rowspan="1" colSpan="1" >[onRemoteVideoStatusUpdated](https://write.woa.com/document/87030021158866944)</td>
124
-
125
- <td rowspan="1" colSpan="1" >Event callback for remote video status changes</td>
126
- </tr>
127
-
128
- <tr>
129
- <td rowspan="1" colSpan="1" >[onRemoteAudioStatusUpdated](https://write.woa.com/document/87030021158866944)</td>
130
-
131
- <td rowspan="1" colSpan="1" >Event callback for remote audio status changes</td>
132
- </tr>
133
-
134
- <tr>
135
- <td rowspan="1" colSpan="1" >[onUserVideoSizeChanged](https://write.woa.com/document/87030021158866944)</td>
136
-
137
- <td rowspan="1" colSpan="1" >Callback for changes in user video size</td>
138
- </tr>
139
-
140
- <tr>
141
- <td rowspan="1" colSpan="1" >[onNetworkQuality](https://write.woa.com/document/87030021158866944)</td>
142
-
143
- <td rowspan="1" colSpan="1" >Real-time statistics callback for network quality</td>
144
- </tr>
145
-
146
- <tr>
147
- <td rowspan="1" colSpan="1" >[onStatistics](https://write.woa.com/document/87030021158866944)</td>
148
-
149
- <td rowspan="1" colSpan="1" >Real-time statistics callback for audio and video technical indicators</td>
150
- </tr>
151
-
152
- <tr>
153
- <td rowspan="1" colSpan="1" >[onSpeedTestResult](https://write.woa.com/document/87030021158866944)</td>
154
-
155
- <td rowspan="1" colSpan="1" >Callback for internet speed test results</td>
156
- </tr>
157
-
158
- <tr>
159
- <td rowspan="1" colSpan="1" >[onConnectionLost](https://write.woa.com/document/87030021158866944)</td>
160
-
161
- <td rowspan="1" colSpan="1" >The connection between the SDK and the cloud has been disconnected.</td>
162
- </tr>
163
-
164
- <tr>
165
- <td rowspan="1" colSpan="1" >[onTryToReconnect](https://write.woa.com/document/87030021158866944)</td>
166
-
167
- <td rowspan="1" colSpan="1" >The SDK is trying to reconnect to the cloud.</td>
168
- </tr>
169
-
170
- <tr>
171
- <td rowspan="1" colSpan="1" >[onConnectionRecovery](https://write.woa.com/document/87030021158866944)</td>
172
-
173
- <td rowspan="1" colSpan="1" >The connection between the SDK and the cloud has been restored.</td>
174
- </tr>
175
-
176
- <tr>
177
- <td rowspan="1" colSpan="1" >[onCameraDidReady](https://write.woa.com/document/87030021158866944)</td>
178
-
179
- <td rowspan="1" colSpan="1" >Camera is ready</td>
180
- </tr>
181
-
182
- <tr>
183
- <td rowspan="1" colSpan="1" >[onMicDidReady](https://write.woa.com/document/87030021158866944)</td>
184
-
185
- <td rowspan="1" colSpan="1" >Microphone is ready</td>
186
- </tr>
187
-
188
- <tr>
189
- <td rowspan="1" colSpan="1" >[onUserVoiceVolume](https://write.woa.com/document/87030021158866944)</td>
190
-
191
- <td rowspan="1" colSpan="1" >Callback for volume feedback</td>
192
- </tr>
193
-
194
- <tr>
195
- <td rowspan="1" colSpan="1" >[onDeviceChange](https://write.woa.com/document/87030021158866944)</td>
196
-
197
- <td rowspan="1" colSpan="1" >Local device connection status has changed (applicable only to desktop systems)</td>
198
- </tr>
199
-
200
- <tr>
201
- <td rowspan="1" colSpan="1" >[onAudioDeviceCaptureVolumeChanged](https://write.woa.com/document/87030021158866944)</td>
202
-
203
- <td rowspan="1" colSpan="1" >Current system mic capture volume has changed</td>
204
- </tr>
205
-
206
- <tr>
207
- <td rowspan="1" colSpan="1" >[onAudioDevicePlayoutVolumeChanged](https://write.woa.com/document/87030021158866944)</td>
208
-
209
- <td rowspan="1" colSpan="1" >Current system playback volume has changed</td>
210
- </tr>
211
-
212
- <tr>
213
- <td rowspan="1" colSpan="1" >[onSystemAudioLoopbackError](https://write.woa.com/document/87030021158866944)</td>
214
-
215
- <td rowspan="1" colSpan="1" >Event callback for successfully turning on system sound acquisition (applicable only to desktop systems)</td>
216
- </tr>
217
-
218
- <tr>
219
- <td rowspan="1" colSpan="1" >[onTestMicVolume](https://write.woa.com/document/87030021158866944)</td>
220
-
221
- <td rowspan="1" colSpan="1" >Volume callback while testing the microphone</td>
222
- </tr>
223
-
224
- <tr>
225
- <td rowspan="1" colSpan="1" >[onTestSpeakerVolume](https://write.woa.com/document/87030021158866944)</td>
226
-
227
- <td rowspan="1" colSpan="1" >Volume callback while testing the speaker</td>
228
- </tr>
229
-
230
- <tr>
231
- <td rowspan="1" colSpan="1" >[onRecvCustomCmdMsg](https://write.woa.com/document/87030021158866944)</td>
232
-
233
- <td rowspan="1" colSpan="1" >Receipt of a custom Definition message</td>
234
- </tr>
235
-
236
- <tr>
237
- <td rowspan="1" colSpan="1" >[onMissCustomCmdMsg](https://write.woa.com/document/87030021158866944)</td>
238
-
239
- <td rowspan="1" colSpan="1" >Event callback for lost custom Definition messages</td>
240
- </tr>
241
-
242
- <tr>
243
- <td rowspan="1" colSpan="1" >[onRecvSEIMsg](https://write.woa.com/document/87030021158866944)</td>
244
-
245
- <td rowspan="1" colSpan="1" >Callback for receiving SEI message</td>
246
- </tr>
247
-
248
- <tr>
249
- <td rowspan="1" colSpan="1" >[onStartPublishing](https://write.woa.com/document/87030021158866944)</td>
250
-
251
- <td rowspan="1" colSpan="1" >Event callback for starting to publish audio and video streams to Tencent CSS CDN</td>
252
- </tr>
253
-
254
- <tr>
255
- <td rowspan="1" colSpan="1" >[onStopPublishing](https://write.woa.com/document/87030021158866944)</td>
256
-
257
- <td rowspan="1" colSpan="1" >Event callback for stopping the publishing of audio and video streams to Tencent CSS CDN</td>
258
- </tr>
259
-
260
- <tr>
261
- <td rowspan="1" colSpan="1" >[onStartPublishCDNStream](https://write.woa.com/document/87030021158866944)</td>
262
-
263
- <td rowspan="1" colSpan="1" >Event callback for starting to publish audio and video streams to a non-Tencent Cloud CDN</td>
264
- </tr>
265
-
266
- <tr>
267
- <td rowspan="1" colSpan="1" >[onStopPublishCDNStream](https://write.woa.com/document/87030021158866944)</td>
268
-
269
- <td rowspan="1" colSpan="1" >Event callback for stopping the publishing of audio and video streams to a non-Tencent Cloud CDN</td>
270
- </tr>
271
-
272
- <tr>
273
- <td rowspan="1" colSpan="1" >[onSetMixTranscodingConfig](https://write.woa.com/document/87030021158866944)</td>
274
-
275
- <td rowspan="1" colSpan="1" >Event callback for setting the layout and transcoding parameters of Cloud Mixed Streaming</td>
276
- </tr>
277
-
278
- <tr>
279
- <td rowspan="1" colSpan="1" >[onStartPublishMediaStream](https://write.woa.com/document/87030021158866944)</td>
280
-
281
- <td rowspan="1" colSpan="1" >Event callback for starting to publish the media stream</td>
282
- </tr>
283
-
284
- <tr>
285
- <td rowspan="1" colSpan="1" >[onUpdatePublishMediaStream](https://write.woa.com/document/87030021158866944)</td>
286
-
287
- <td rowspan="1" colSpan="1" >Event callback for updating the media stream</td>
288
- </tr>
289
-
290
- <tr>
291
- <td rowspan="1" colSpan="1" >[onStopPublishMediaStream](https://write.woa.com/document/87030021158866944)</td>
292
-
293
- <td rowspan="1" colSpan="1" >Event callback for stopping the media stream</td>
294
- </tr>
295
-
296
- <tr>
297
- <td rowspan="1" colSpan="1" >[onCdnStreamStateChanged](https://write.woa.com/document/87030021158866944)</td>
298
-
299
- <td rowspan="1" colSpan="1" >RTMP/RTMPS streaming status change callback</td>
300
- </tr>
301
-
302
- <tr>
303
- <td rowspan="1" colSpan="1" >[onScreenCaptureStarted](https://write.woa.com/document/87030021158866944)</td>
304
-
305
- <td rowspan="1" colSpan="1" >Event callback for starting screen sharing</td>
306
- </tr>
307
-
308
- <tr>
309
- <td rowspan="1" colSpan="1" >[onScreenCapturePaused](https://write.woa.com/document/87030021158866944)</td>
310
-
311
- <td rowspan="1" colSpan="1" >Event callback for pausing screen sharing</td>
312
- </tr>
313
-
314
- <tr>
315
- <td rowspan="1" colSpan="1" >[onScreenCaptureResumed](https://write.woa.com/document/87030021158866944)</td>
316
-
317
- <td rowspan="1" colSpan="1" >Event callback for resuming screen sharing</td>
318
- </tr>
319
-
320
- <tr>
321
- <td rowspan="1" colSpan="1" >[onScreenCaptureStoped](https://write.woa.com/document/87030021158866944)</td>
322
-
323
- <td rowspan="1" colSpan="1" >Event callback for stopping screen sharing</td>
324
- </tr>
325
-
326
- <tr>
327
- <td rowspan="1" colSpan="1" >[onScreenCaptureCovered](https://write.woa.com/document/87030021158866944)</td>
328
-
329
- <td rowspan="1" colSpan="1" >Event callback for when the target window of screen sharing is blocked (only applicable for Windows operating system)</td>
330
- </tr>
331
-
332
- <tr>
333
- <td rowspan="1" colSpan="1" >[onLocalRecordBegin](https://write.woa.com/document/87030021158866944)</td>
334
-
335
- <td rowspan="1" colSpan="1" >Event callback for the local recording task that has started</td>
336
- </tr>
337
-
338
- <tr>
339
- <td rowspan="1" colSpan="1" >[onLocalRecording](https://write.woa.com/document/87030021158866944)</td>
340
-
341
- <td rowspan="1" colSpan="1" >Progress event callback for an ongoing local recording task</td>
342
- </tr>
343
-
344
- <tr>
345
- <td rowspan="1" colSpan="1" >[onLocalRecordFragment](https://write.woa.com/document/87030021158866944)</td>
346
-
347
- <td rowspan="1" colSpan="1" >Event callback for local recording shard</td>
348
- </tr>
349
-
350
- <tr>
351
- <td rowspan="1" colSpan="1" >[onLocalRecordComplete](https://write.woa.com/document/87030021158866944)</td>
352
-
353
- <td rowspan="1" colSpan="1" >Event callback for the local recording task that has ended</td>
354
- </tr>
355
-
356
- <tr>
357
- <td rowspan="1" colSpan="1" >[onSnapshotComplete](https://write.woa.com/document/87030021158866944)</td>
358
-
359
- <td rowspan="1" colSpan="1" >Event callback for local screenshot completion</td>
360
- </tr>
361
-
362
- <tr>
363
- <td rowspan="1" colSpan="1" >[onUserEnter](https://write.woa.com/document/87030021158866944)</td>
364
-
365
- <td rowspan="1" colSpan="1" >A host has joined the current room (deprecated)</td>
366
- </tr>
367
-
368
- <tr>
369
- <td rowspan="1" colSpan="1" >[onUserExit](https://write.woa.com/document/87030021158866944)</td>
370
-
371
- <td rowspan="1" colSpan="1" >A host has left the current room (deprecated)</td>
372
- </tr>
373
-
374
- <tr>
375
- <td rowspan="1" colSpan="1" >[onAudioEffectFinished](https://write.woa.com/document/87030021158866944)</td>
376
-
377
- <td rowspan="1" colSpan="1" >Sound effect playback has ended (deprecated)</td>
378
- </tr>
379
-
380
- <tr>
381
- <td rowspan="1" colSpan="1" >[onPlayBGMBegin](https://write.woa.com/document/87030021158866944)</td>
382
-
383
- <td rowspan="1" colSpan="1" >Start playing background music (deprecated)</td>
384
- </tr>
385
-
386
- <tr>
387
- <td rowspan="1" colSpan="1" >[onPlayBGMProgress](https://write.woa.com/document/87030021158866944)</td>
388
-
389
- <td rowspan="1" colSpan="1" >Playback progress callback for background music (deprecated)</td>
390
- </tr>
391
-
392
- <tr>
393
- <td rowspan="1" colSpan="1" >[onPlayBGMComplete](https://write.woa.com/document/87030021158866944)</td>
394
-
395
- <td rowspan="1" colSpan="1" >Background music playback has ended (deprecated)</td>
396
- </tr>
397
-
398
- <tr>
399
- <td rowspan="1" colSpan="1" >[onSpeedTest](https://write.woa.com/document/87030021158866944)</td>
400
-
401
- <td rowspan="1" colSpan="1" >Callback for server speed test results (deprecated)</td>
402
- </tr>
403
- </table>
404
-
6
+ | Function List | Description |
7
+ | --- | --- |
8
+ | onError | Error event callback |
9
+ | onWarning | Warning event callback |
10
+ | onEnterRoom | Event callback for room entry success or failure |
11
+ | onExitRoom | Event callback for leaving the room |
12
+ | onSwitchRole | Event callback for switching roles |
13
+ | onSwitchRoom | Event callback for switching rooms result |
14
+ | onConnectOtherRoom | Event callback for cross-room communication request result |
15
+ | onDisconnectOtherRoom | Event callback for ending cross-room communication result |
16
+ | onUpdateOtherRoomForwardMode | Event callback for modifying cross-room broadcaster uplink capability result |
17
+ | onRemoteUserEnterRoom | A user has joined the current room |
18
+ | onRemoteUserLeaveRoom | A user has left the current room |
19
+ | onUserVideoAvailable | A remote user has started/stopped publishing the main video stream |
20
+ | onUserSubStreamAvailable | A remote user has started/stopped publishing the auxiliary video stream |
21
+ | onUserAudioAvailable | A remote user has started/stopped publishing their audio |
22
+ | onFirstVideoFrame | The SDK has started rendering the first frame of the local or remote user's video |
23
+ | onFirstAudioFrame | The SDK has started playing the remote user's first audio frame |
24
+ | onSendFirstLocalVideoFrame | The first local video frame has been published |
25
+ | onSendFirstLocalAudioFrame | The first local audio frame has been published |
26
+ | onRemoteVideoStatusUpdated | Event callback for remote video status changes |
27
+ | onRemoteAudioStatusUpdated | Event callback for remote audio status changes |
28
+ | onUserVideoSizeChanged | Callback for changes in user video size |
29
+ | onNetworkQuality | Real-time statistics callback for network quality |
30
+ | onStatistics | Real-time statistics callback for audio and video technical indicators |
31
+ | onSpeedTestResult | Callback for internet speed test results |
32
+ | onConnectionLost | The connection between the SDK and the cloud has been disconnected. |
33
+ | onTryToReconnect | The SDK is trying to reconnect to the cloud. |
34
+ | onConnectionRecovery | The connection between the SDK and the cloud has been restored. |
35
+ | onCameraDidReady | Camera is ready |
36
+ | onMicDidReady | Microphone is ready |
37
+ | onUserVoiceVolume | Callback for volume feedback |
38
+ | onDeviceChange | Local device connection status has changed (applicable only to desktop systems) |
39
+ | onAudioDeviceCaptureVolumeChanged | Current system mic capture volume has changed |
40
+ | onAudioDevicePlayoutVolumeChanged | Current system playback volume has changed |
41
+ | onSystemAudioLoopbackError | Event callback for successfully turning on system sound acquisition (applicable only to desktop systems) |
42
+ | onTestMicVolume | Volume callback while testing the microphone |
43
+ | onTestSpeakerVolume | Volume callback while testing the speaker |
44
+ | onRecvCustomCmdMsg | Receipt of a custom Definition message |
45
+ | onMissCustomCmdMsg | Event callback for lost custom Definition messages |
46
+ | onRecvSEIMsg | Callback for receiving SEI message |
47
+ | onStartPublishing | Event callback for starting to publish audio and video streams to Tencent CSS CDN |
48
+ | onStopPublishing | Event callback for stopping the publishing of audio and video streams to Tencent CSS CDN |
49
+ | onStartPublishCDNStream | Event callback for starting to publish audio and video streams to a non-Tencent Cloud CDN |
50
+ | onStopPublishCDNStream | Event callback for stopping the publishing of audio and video streams to a non-Tencent Cloud CDN |
51
+ | onSetMixTranscodingConfig | Event callback for setting the layout and transcoding parameters of Cloud Mixed Streaming |
52
+ | onStartPublishMediaStream | Event callback for starting to publish the media stream |
53
+ | onUpdatePublishMediaStream | Event callback for updating the media stream |
54
+ | onStopPublishMediaStream | Event callback for stopping the media stream |
55
+ | onCdnStreamStateChanged | RTMP/RTMPS streaming status change callback |
56
+ | onScreenCaptureStarted | Event callback for starting screen sharing |
57
+ | onScreenCapturePaused | Event callback for pausing screen sharing |
58
+ | onScreenCaptureResumed | Event callback for resuming screen sharing |
59
+ | onScreenCaptureStoped | Event callback for stopping screen sharing |
60
+ | onScreenCaptureCovered | Event callback for when the target window of screen sharing is blocked (only applicable for Windows operating system) |
61
+ | onLocalRecordBegin | Event callback for the local recording task that has started |
62
+ | onLocalRecording | Progress event callback for an ongoing local recording task |
63
+ | onLocalRecordFragment | Event callback for local recording shard |
64
+ | onLocalRecordComplete | Event callback for the local recording task that has ended |
65
+ | onSnapshotComplete | Event callback for local screenshot completion |
66
+ | onUserEnter | A host has joined the current room (deprecated) |
67
+ | onUserExit | A host has left the current room (deprecated) |
68
+ | onAudioEffectFinished | Sound effect playback has ended (deprecated) |
69
+ | onPlayBGMBegin | Start playing background music (deprecated) |
70
+ | onPlayBGMProgress | Playback progress callback for background music (deprecated) |
71
+ | onPlayBGMComplete | Background music playback has ended (deprecated) |
72
+ | onSpeedTest | Callback for server speed test results (deprecated) |
405
73
 
406
74
  ## ITRTCVideoRenderCallback
407
- <table>
408
- <tr>
409
- <td rowspan="1" colSpan="1" >Function List</td>
410
-
411
- <td rowspan="1" colSpan="1" >Description</td>
412
- </tr>
413
-
414
- <tr>
415
- <td rowspan="1" colSpan="1" >[onRenderVideoFrame](https://write.woa.com/document/87030021158866944)</td>
416
-
417
- <td rowspan="1" colSpan="1" >Self-definition video rendering callback</td>
418
- </tr>
419
- </table>
420
-
75
+ | Function List | Description |
76
+ | --- | --- |
77
+ | onRenderVideoFrame | Self-definition video rendering callback |
421
78
 
422
79
  ## ITRTCVideoFrameCallback
423
- <table>
424
- <tr>
425
- <td rowspan="1" colSpan="1" >Function List</td>
426
-
427
- <td rowspan="1" colSpan="1" >Description</td>
428
- </tr>
429
-
430
- <tr>
431
- <td rowspan="1" colSpan="1" >[onGLContextCreated](https://write.woa.com/document/87030021158866944)</td>
432
-
433
- <td rowspan="1" colSpan="1" >Notification that the SDK's internal OpenGL environment has been created</td>
434
- </tr>
435
-
436
- <tr>
437
- <td rowspan="1" colSpan="1" >[onProcessVideoFrame](https://write.woa.com/document/87030021158866944)</td>
438
-
439
- <td rowspan="1" colSpan="1" >Video processing callback for integrating third-party beauty components</td>
440
- </tr>
441
-
442
- <tr>
443
- <td rowspan="1" colSpan="1" >[onGLContextDestroy](https://write.woa.com/document/87030021158866944)</td>
444
-
445
- <td rowspan="1" colSpan="1" >Notification that the SDK's internal OpenGL environment has been destroyed</td>
446
- </tr>
447
- </table>
448
-
80
+ | Function List | Description |
81
+ | --- | --- |
82
+ | onGLContextCreated | Notification that the SDK's internal OpenGL environment has been created |
83
+ | onProcessVideoFrame | Video processing callback for integrating third-party beauty components |
84
+ | onGLContextDestroy | Notification that the SDK's internal OpenGL environment has been destroyed |
449
85
 
450
86
  ## ITRTCAudioFrameCallback
451
- <table>
452
- <tr>
453
- <td rowspan="1" colSpan="1" >Function List</td>
454
-
455
- <td rowspan="1" colSpan="1" >Description</td>
456
- </tr>
457
-
458
- <tr>
459
- <td rowspan="1" colSpan="1" >[onCapturedAudioFrame](https://write.woa.com/document/87030021158866944)</td>
460
-
461
- <td rowspan="1" colSpan="1" >Local audio data callback after preprocessing by the audio module</td>
462
- </tr>
463
-
464
- <tr>
465
- <td rowspan="1" colSpan="1" >[onLocalProcessedAudioFrame](https://write.woa.com/document/87030021158866944)</td>
466
-
467
- <td rowspan="1" colSpan="1" >Local audio data callback after preprocessing, sound-effect processing, and mixing BGM by the audio module</td>
468
- </tr>
469
-
470
- <tr>
471
- <td rowspan="1" colSpan="1" >[onPlayAudioFrame](https://write.woa.com/document/87030021158866944)</td>
472
-
473
- <td rowspan="1" colSpan="1" >Audio data of each remote user before mixing</td>
474
- </tr>
475
-
476
- <tr>
477
- <td rowspan="1" colSpan="1" >[onMixedPlayAudioFrame](https://write.woa.com/document/87030021158866944)</td>
478
-
479
- <td rowspan="1" colSpan="1" >Callback of mixed audio data before final submission to the system for playback</td>
480
- </tr>
481
-
482
- <tr>
483
- <td rowspan="1" colSpan="1" >[onMixedAllAudioFrame](https://write.woa.com/document/87030021158866944)</td>
484
-
485
- <td rowspan="1" colSpan="1" >Audio data mixed by the SDK (including collected and to-be-played audio)</td>
486
- </tr>
487
- </table>
488
-
87
+ | Function List | Description |
88
+ | --- | --- |
89
+ | onCapturedAudioFrame | Local audio data callback after preprocessing by the audio module |
90
+ | onLocalProcessedAudioFrame | Local audio data callback after preprocessing, sound-effect processing, and mixing BGM by the audio module |
91
+ | onPlayAudioFrame | Audio data of each remote user before mixing |
92
+ | onMixedPlayAudioFrame | Callback of mixed audio data before final submission to the system for playback |
93
+ | onMixedAllAudioFrame | Audio data mixed by the SDK (including collected and to-be-played audio) |
489
94
 
490
95
  ## ITRTCLogCallback
491
- <table>
492
- <tr>
493
- <td rowspan="1" colSpan="1" >Function List</td>
494
-
495
- <td rowspan="1" colSpan="1" >Description</td>
496
- </tr>
497
-
498
- <tr>
499
- <td rowspan="1" colSpan="1" >[onLog](https://write.woa.com/document/87030021158866944)</td>
500
-
501
- <td rowspan="1" colSpan="1" >Local LOG printing callback</td>
502
- </tr>
503
- </table>
504
-
96
+ | Function List | Description |
97
+ | --- | --- |
98
+ | onLog | Local LOG printing callback |
505
99
 
506
100
  ## onError
507
101
 
508
-
509
-
510
102
  #### Error event callback
511
103
 
512
104
  Error events indicate unrecoverable errors thrown by the SDK, such as room entry failure or device startup failure.
513
105
 
514
106
  Reference document: [Error Code Table](https://cloud.tencent.com/document/product/647/38308)
515
- <table>
516
- <tr>
517
- <td rowspan="1" colSpan="1" >Parameters</td>
518
-
519
- <td rowspan="1" colSpan="1" >Description</td>
520
- </tr>
521
-
522
- <tr>
523
- <td rowspan="1" colSpan="1" >errCode</td>
524
-
525
- <td rowspan="1" colSpan="1" >Error Code</td>
526
- </tr>
527
-
528
- <tr>
529
- <td rowspan="1" colSpan="1" >errMsg</td>
530
-
531
- <td rowspan="1" colSpan="1" >Error Message</td>
532
- </tr>
533
-
534
- <tr>
535
- <td rowspan="1" colSpan="1" >extInfo</td>
536
-
537
- <td rowspan="1" colSpan="1" >Expand Information Field, some error codes may carry additional information to help pinpoint issues</td>
538
- </tr>
539
- </table>
540
-
107
+ | Parameters | Description |
108
+ | --- | --- |
109
+ | errCode | Error Code |
110
+ | errMsg | Error Message |
111
+ | extInfo | Expand Information Field, some error codes may carry additional information to help pinpoint issues |
541
112
 
542
113
  ## onWarning
543
114
 
544
-
545
-
546
115
  #### Warning event callback
547
116
 
548
117
  Warning events indicate prompt issues thrown by the SDK, such as video stuttering or high CPU utilization.
549
118
 
550
119
  Reference document: [Error Code Table](https://cloud.tencent.com/document/product/647/38308)
551
- <table>
552
- <tr>
553
- <td rowspan="1" colSpan="1" >Parameters</td>
554
-
555
- <td rowspan="1" colSpan="1" >Description</td>
556
- </tr>
557
-
558
- <tr>
559
- <td rowspan="1" colSpan="1" >extInfo</td>
560
-
561
- <td rowspan="1" colSpan="1" >Expand Information Field, some warning codes may carry additional information to help pinpoint issues</td>
562
- </tr>
563
-
564
- <tr>
565
- <td rowspan="1" colSpan="1" >warningCode</td>
566
-
567
- <td rowspan="1" colSpan="1" >Warning Codes</td>
568
- </tr>
569
-
570
- <tr>
571
- <td rowspan="1" colSpan="1" >warningMsg</td>
572
-
573
- <td rowspan="1" colSpan="1" >Warning Information</td>
574
- </tr>
575
- </table>
576
-
120
+ | Parameters | Description |
121
+ | --- | --- |
122
+ | extInfo | Expand Information Field, some warning codes may carry additional information to help pinpoint issues |
123
+ | warningCode | Warning Codes |
124
+ | warningMsg | Warning Information |
577
125
 
578
126
  ## onEnterRoom
579
127
 
580
-
581
-
582
128
  #### Event callback for room entry success or failure
583
129
 
584
130
  After calling the enterRoom() interface in TRTCCloud to perform the room entry operation, you will receive the onEnterRoom(result) callback from ITRTCCloudCallback:
@@ -586,121 +132,55 @@ After calling the enterRoom() interface in TRTCCloud to perform the room entry o
586
132
 
587
133
  - If the entry fails, the result will be a negative number (result < 0), representing the error code of the failure reason.
588
134
 
589
-
590
135
  For the meaning of error codes of room entry failure, please see [Error Code Table](https://cloud.tencent.com/document/product/647/38308).
591
- <table>
592
- <tr>
593
- <td rowspan="1" colSpan="1" >Parameters</td>
594
-
595
- <td rowspan="1" colSpan="1" >Description</td>
596
- </tr>
597
-
598
- <tr>
599
- <td rowspan="1" colSpan="1" >result</td>
600
-
601
- <td rowspan="1" colSpan="1" >When result > 0, it means the time taken to enter the room (ms). When result < 0, it means the error code for entering the room.</td>
602
- </tr>
603
- </table>
604
-
136
+ | Parameters | Description |
137
+ | --- | --- |
138
+ | result | When result > 0, it means the time taken to enter the room (ms). When result < 0, it means the error code for entering the room. |
605
139
 
606
140
  > **Note**
607
- >
141
+ >
608
142
 
609
143
  > 1. In versions before Ver6.6, only successful room entry would throw the onEnterRoom(result) callback; failure would be thrown by the onError() callback.
610
- >
144
+ >
611
145
 
612
146
  > 2. In versions after Ver6.6: regardless of success or failure, the onEnterRoom(result) callback will be thrown, and room entry failure will also throw the onError() callback.
613
- >
614
-
147
+ >
615
148
 
616
149
  ## onExitRoom
617
150
 
618
-
619
-
620
151
  #### Event callback for leaving the room
621
152
 
622
153
  Calling the exitRoom interface in TRTCCloud will execute the related logic of leaving the room, such as releasing audio/video device resources and codec resources.
623
154
 
624
155
  After all resources occupied by the SDK are released, the SDK will trigger the onExitRoom() callback to notify you.
625
156
 
626
-
627
-
628
157
  If you want to call enterRoom again or switch to another audio and video SDK, please wait for the onExitRoom callback before performing related operations. Otherwise, you may encounter various abnormal issues, such as the camera and microphone equipment being forcibly occupied.
629
- <table>
630
- <tr>
631
- <td rowspan="1" colSpan="1" >Parameters</td>
632
-
633
- <td rowspan="1" colSpan="1" >Description</td>
634
- </tr>
635
-
636
- <tr>
637
- <td rowspan="1" colSpan="1" >reason</td>
638
-
639
- <td rowspan="1" colSpan="1" >Reasons for leaving the room: 0: Actively call exitRoom to leave the room; 1: Kicked out of the current room by the server; 2: The entire current room is dissolved.</td>
640
- </tr>
641
- </table>
642
-
158
+ | Parameters | Description |
159
+ | --- | --- |
160
+ | reason | Reasons for leaving the room: 0: Actively call exitRoom to leave the room; 1: Kicked out of the current room by the server; 2: The entire current room is dissolved. |
643
161
 
644
162
  ## onSwitchRole
645
163
 
646
-
647
-
648
164
  #### Event callback for switching roles
649
165
 
650
166
  Calling the switchRole() interface in TRTCCloud will switch the roles of anchor and audience. This operation will involve a circuit switching process, and once the SDK completes the switch, it will trigger the onSwitchRole() event callback.
651
- <table>
652
- <tr>
653
- <td rowspan="1" colSpan="1" >Parameters</td>
654
-
655
- <td rowspan="1" colSpan="1" >Description</td>
656
- </tr>
657
-
658
- <tr>
659
- <td rowspan="1" colSpan="1" >errCode</td>
660
-
661
- <td rowspan="1" colSpan="1" >Error Code, ERR_NULL represents successful switching. For others, please refer to [ Error Code ](https://cloud.tencent.com/document/product/647/32257).</td>
662
- </tr>
663
-
664
- <tr>
665
- <td rowspan="1" colSpan="1" >errMsg</td>
666
-
667
- <td rowspan="1" colSpan="1" >Error message.</td>
668
- </tr>
669
- </table>
670
-
167
+ | Parameters | Description |
168
+ | --- | --- |
169
+ | errCode | Error Code, ERR_NULL represents successful switching. For others, please refer to [ Error Code ](https://cloud.tencent.com/document/product/647/32257). |
170
+ | errMsg | Error message. |
671
171
 
672
172
  ## onSwitchRoom
673
173
 
674
-
675
-
676
174
  #### Event callback for switching rooms result
677
175
 
678
176
  Calling the switchRoom() interface in TRTCCloud allows the user to quickly switch from one room to another. After the SDK completes the switch, it will trigger the onSwitchRoom() event callback.
679
- <table>
680
- <tr>
681
- <td rowspan="1" colSpan="1" >Parameters</td>
682
-
683
- <td rowspan="1" colSpan="1" >Description</td>
684
- </tr>
685
-
686
- <tr>
687
- <td rowspan="1" colSpan="1" >errCode</td>
688
-
689
- <td rowspan="1" colSpan="1" >Error Code, ERR_NULL represents successful switching. For others, please refer to [ Error Code ](https://cloud.tencent.com/document/product/647/32257).</td>
690
- </tr>
691
-
692
- <tr>
693
- <td rowspan="1" colSpan="1" >errMsg</td>
694
-
695
- <td rowspan="1" colSpan="1" >Error message.</td>
696
- </tr>
697
- </table>
698
-
177
+ | Parameters | Description |
178
+ | --- | --- |
179
+ | errCode | Error Code, ERR_NULL represents successful switching. For others, please refer to [ Error Code ](https://cloud.tencent.com/document/product/647/32257). |
180
+ | errMsg | Error message. |
699
181
 
700
182
  ## onConnectOtherRoom
701
183
 
702
-
703
-
704
184
  #### Event callback for cross-room communication request result
705
185
 
706
186
  Calling the connectOtherRoom() interface in TRTCCloud will initiate a video call between broadcasters in two different rooms, which is the so-called “Host PK” feature.
@@ -708,49 +188,22 @@ Calling the connectOtherRoom() interface in TRTCCloud will initiate a video call
708
188
  The caller will receive the onConnectOtherRoom() callback to learn whether the cross-room communication is successful
709
189
 
710
190
  If successful, all users in both rooms will receive the onUserVideoAvailable() callback from the PK anchor in the other room.
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" >errCode</td>
720
-
721
- <td rowspan="1" colSpan="1" >Error Code, ERR_NULL represents successful switching. For others, please refer to [ Error Code ](https://cloud.tencent.com/document/product/647/32257).</td>
722
- </tr>
723
-
724
- <tr>
725
- <td rowspan="1" colSpan="1" >errMsg</td>
726
-
727
- <td rowspan="1" colSpan="1" >Error message.</td>
728
- </tr>
729
-
730
- <tr>
731
- <td rowspan="1" colSpan="1" >userId</td>
732
-
733
- <td rowspan="1" colSpan="1" >User ID of the anchor in the other room for cross-room communication.</td>
734
- </tr>
735
- </table>
736
-
191
+ | Parameters | Description |
192
+ | --- | --- |
193
+ | errCode | Error Code, ERR_NULL represents successful switching. For others, please refer to [ Error Code ](https://cloud.tencent.com/document/product/647/32257). |
194
+ | errMsg | Error message. |
195
+ | userId | User ID of the anchor in the other room for cross-room communication. |
737
196
 
738
197
  ## onDisconnectOtherRoom
739
198
 
740
-
741
-
742
199
  #### Event callback for ending cross-room communication result
743
200
 
744
201
  ## onUpdateOtherRoomForwardMode
745
202
 
746
-
747
-
748
203
  #### Event callback for modifying cross-room broadcaster uplink capability result
749
204
 
750
205
  ## onRemoteUserEnterRoom
751
206
 
752
-
753
-
754
207
  #### A user has joined the current room
755
208
 
756
209
  For performance considerations, the behavior of this notification differs in two different TRTC application scenarios (i.e., AppScene, specified by the second parameter when calling enterRoom):
@@ -758,35 +211,21 @@ For performance considerations, the behavior of this notification differs in two
758
211
 
759
212
  - Call scenarios (TRTCAppSceneVideoCall and TRTCAppSceneAudioCall): In this scenario, there is no role distinction among users (they can all be considered anchors). This notification is triggered when any user enters the room.
760
213
 
761
- <table>
762
- <tr>
763
- <td rowspan="1" colSpan="1" >Parameters</td>
764
-
765
- <td rowspan="1" colSpan="1" >Description</td>
766
- </tr>
767
-
768
- <tr>
769
- <td rowspan="1" colSpan="1" >userId</td>
770
-
771
- <td rowspan="1" colSpan="1" >User Identifier of the remote user.</td>
772
- </tr>
773
- </table>
774
-
214
+ | Parameters | Description |
215
+ | --- | --- |
216
+ | userId | User Identifier of the remote user. |
775
217
 
776
218
  > **Note**
777
- >
219
+ >
778
220
 
779
221
  > 1. The event callbacks onRemoteUserEnterRoom and onRemoteUserLeaveRoom are only applicable for maintaining the "user list" in the current room. The presence of these callbacks does not necessarily imply video streams.
780
- >
222
+ >
781
223
 
782
224
  > 2. To display the remote screen, please listen for the onUserVideoAvailable() event callback, which indicates whether a specific user has video footage.
783
- >
784
-
225
+ >
785
226
 
786
227
  ## onRemoteUserLeaveRoom
787
228
 
788
-
789
-
790
229
  #### A user has left the current room
791
230
 
792
231
  Corresponding to onRemoteUserEnterRoom, the behavior of this notification differs in two different application scenarios (i.e., AppScene, specified by the second parameter when calling enterRoom):
@@ -794,1563 +233,677 @@ Corresponding to onRemoteUserEnterRoom, the behavior of this notification differ
794
233
 
795
234
  - Call scenarios (TRTCAppSceneVideoCall and TRTCAppSceneAudioCall): In this scenario, there is no role distinction among users. This notification is triggered when any user leaves.
796
235
 
797
- <table>
798
- <tr>
799
- <td rowspan="1" colSpan="1" >Parameters</td>
236
+ | Parameters | Description |
237
+ | --- | --- |
238
+ | reason | Reason for leaving: 0 indicates the user left the room voluntarily, 1 indicates a timeout exit, 2 indicates the user was kicked out of the room, and 3 indicates the anchor switched to audience mode and left the room. |
239
+ | userId | User Identifier of the remote user. |
800
240
 
801
- <td rowspan="1" colSpan="1" >Description</td>
802
- </tr>
241
+ ## onUserVideoAvailable
803
242
 
804
- <tr>
805
- <td rowspan="1" colSpan="1" >reason</td>
243
+ #### A remote user has started/stopped publishing the main video stream
806
244
 
807
- <td rowspan="1" colSpan="1" >Reason for leaving: 0 indicates the user left the room voluntarily, 1 indicates a timeout exit, 2 indicates the user was kicked out of the room, and 3 indicates the anchor switched to audience mode and left the room.</td>
808
- </tr>
245
+ **The primary video** is generally used to carry the camera's video feed. When you receive the onUserVideoAvailable(userId, true) notification, it indicates that video frames are available for playback on this channel.
809
246
 
810
- <tr>
811
- <td rowspan="1" colSpan="1" >userId</td>
247
+ At this point, you need to call the startRemoteView interface to subscribe to the user's remote screen. Upon successful subscription, you will continue to receive the user's first frame rendering callback onFirstVideoFrame(userId).
812
248
 
813
- <td rowspan="1" colSpan="1" >User Identifier of the remote user.</td>
814
- </tr>
815
- </table>
249
+ When you receive the onUserVideoAvailable(userId, false) notification, it means that the remote video on this channel has been turned off. The shutdown may be due to the user invoking muteLocalVideo or stopLocalPreview.
250
+ | Parameters | Description |
251
+ | --- | --- |
252
+ | available | Whether the user has published (or cancelled publishing) the Main Road Picture, true: published; false: cancelled. |
253
+ | userId | User Identifier of the remote user. |
816
254
 
255
+ ## onUserSubStreamAvailable
817
256
 
818
- ## onUserVideoAvailable
257
+ #### A remote user has started/stopped publishing the auxiliary video stream
819
258
 
259
+ "Auxiliary Road Picture" is generally used to carry the screen sharing content. When you receive the onUserSubStreamAvailable(userId, true) notification, it indicates that video frames are available for playback on this channel.
820
260
 
261
+ At this point, you need to call the startRemoteView interface to subscribe to the user's remote screen. Upon successful subscription, you will continue to receive the user's first frame rendering callback onFirstVideoFrame(userId).
262
+ | Parameters | Description |
263
+ | --- | --- |
264
+ | available | Whether the user has published (or cancelled publishing) the auxiliary video content, true: published; false: cancelled. |
265
+ | userId | User Identifier of the remote user. |
821
266
 
822
- #### A remote user has started/stopped publishing the main video stream
267
+ > **Note**
268
+ >
823
269
 
824
- **The primary video** is generally used to carry the camera's video feed. When you receive the onUserVideoAvailable(userId, true) notification, it indicates that video frames are available for playback on this channel.
270
+ > The function used to display the auxiliary road picture is startRemoteView, not startRemoteSubStreamView. The latter has been deprecated.
271
+ >
825
272
 
826
- At this point, you need to call the [startRemoteView](https://write.woa.com/document/87030026264555520) interface to subscribe to the user's remote screen. Upon successful subscription, you will continue to receive the user's first frame rendering callback onFirstVideoFrame(userId).
273
+ ## onUserAudioAvailable
827
274
 
275
+ #### A remote user has started/stopped publishing their audio
828
276
 
277
+ When you receive the onUserAudioAvailable(userId, true) notification, it means the user has published their audio. At this time, the SDK behaves as follows:
278
+ - In Automatic Subscription Mode, you do not need to take any action; the SDK will automatically play the user's audio.
829
279
 
830
- When you receive the onUserVideoAvailable(userId, false) notification, it means that the remote video on this channel has been turned off. The shutdown may be due to the user invoking [muteLocalVideo](https://write.woa.com/document/87030026264555520) or [stopLocalPreview](https://write.woa.com/document/87030026264555520).
831
- <table>
832
- <tr>
833
- <td rowspan="1" colSpan="1" >Parameters</td>
280
+ - In manual subscription mode, you can use muteRemoteAudio(userid, false) to play the user's audio.
834
281
 
835
- <td rowspan="1" colSpan="1" >Description</td>
836
- </tr>
282
+ | Parameters | Description |
283
+ | --- | --- |
284
+ | available | Whether the user has published (or cancelled publishing) their audio, true: published; false: cancelled. |
285
+ | userId | User Identifier of the remote user. |
837
286
 
838
- <tr>
839
- <td rowspan="1" colSpan="1" >available</td>
287
+ > **Note**
288
+ >
840
289
 
841
- <td rowspan="1" colSpan="1" >Whether the user has published (or cancelled publishing) the Main Road Picture, true: published; false: cancelled.</td>
842
- </tr>
290
+ > The SDK uses automatic subscription mode by default. You can set it to manual subscription by calling setDefaultStreamRecvMode, but this must be done before you enter the room.
291
+ >
843
292
 
844
- <tr>
845
- <td rowspan="1" colSpan="1" >userId</td>
293
+ ## onFirstVideoFrame
846
294
 
847
- <td rowspan="1" colSpan="1" >User Identifier of the remote user.</td>
848
- </tr>
849
- </table>
295
+ #### The SDK has started rendering the first frame of the local or remote user's video
850
296
 
297
+ The SDK triggers this event when rendering the first video frame of the local or remote user. You can use the userId parameter in the callback event to determine whether the event is from "Local" or "Remote".
298
+ - If userId is empty, it means the SDK has started rendering your local video footage, but you must have called startLocalPreview or startScreenCapture.
851
299
 
852
- ## onUserSubStreamAvailable
300
+ - If userId is not empty, it means the SDK has started rendering the remote user's video footage. However, you must have called startRemoteView to subscribe to the user's video footage.
853
301
 
302
+ | Parameters | Description |
303
+ | --- | --- |
304
+ | height | Height of the video footage. |
305
+ | streamType | Video stream type: Main is generally used for carrying camera footage, while Sub is generally used for carrying screen sharing footage. |
306
+ | userId | The user identifier of local or remote. If userId is empty, it means your local first video frame has arrived. If userId is not empty, it means the remote user's first video frame has arrived. |
307
+ | width | Width of the video footage. |
854
308
 
309
+ > **Note**
310
+ >
855
311
 
856
- #### A remote user has started/stopped publishing the auxiliary video stream
857
-
858
- "Auxiliary Road Picture" is generally used to carry the screen sharing content. When you receive the onUserSubStreamAvailable(userId, true) notification, it indicates that video frames are available for playback on this channel.
859
-
860
- At this point, you need to call the [startRemoteView](https://write.woa.com/document/87030026264555520) interface to subscribe to the user's remote screen. Upon successful subscription, you will continue to receive the user's first frame rendering callback onFirstVideoFrame(userId).
861
- <table>
862
- <tr>
863
- <td rowspan="1" colSpan="1" >Parameters</td>
864
-
865
- <td rowspan="1" colSpan="1" >Description</td>
866
- </tr>
867
-
868
- <tr>
869
- <td rowspan="1" colSpan="1" >available</td>
870
-
871
- <td rowspan="1" colSpan="1" >Whether the user has published (or cancelled publishing) the auxiliary video content, true: published; false: cancelled.</td>
872
- </tr>
873
-
874
- <tr>
875
- <td rowspan="1" colSpan="1" >userId</td>
876
-
877
- <td rowspan="1" colSpan="1" >User Identifier of the remote user.</td>
878
- </tr>
879
- </table>
880
-
881
-
882
- > **Note**
883
- >
884
-
885
- > The function used to display the auxiliary road picture is [startRemoteView](https://write.woa.com/document/87030026264555520), not startRemoteSubStreamView. The latter has been deprecated.
886
- >
887
-
888
-
889
- ## onUserAudioAvailable
890
-
891
-
892
-
893
- #### A remote user has started/stopped publishing their audio
894
-
895
- When you receive the onUserAudioAvailable(userId, true) notification, it means the user has published their audio. At this time, the SDK behaves as follows:
896
- - In Automatic Subscription Mode, you do not need to take any action; the SDK will automatically play the user's audio.
897
-
898
- - In manual subscription mode, you can use [muteRemoteAudio](https://write.woa.com/document/87030026264555520)(userid, false) to play the user's audio.
899
-
900
- <table>
901
- <tr>
902
- <td rowspan="1" colSpan="1" >Parameters</td>
903
-
904
- <td rowspan="1" colSpan="1" >Description</td>
905
- </tr>
906
-
907
- <tr>
908
- <td rowspan="1" colSpan="1" >available</td>
909
-
910
- <td rowspan="1" colSpan="1" >Whether the user has published (or cancelled publishing) their audio, true: published; false: cancelled.</td>
911
- </tr>
912
-
913
- <tr>
914
- <td rowspan="1" colSpan="1" >userId</td>
915
-
916
- <td rowspan="1" colSpan="1" >User Identifier of the remote user.</td>
917
- </tr>
918
- </table>
919
-
920
-
921
- > **Note**
922
- >
923
-
924
- > The SDK uses automatic subscription mode by default. You can set it to manual subscription by calling [setDefaultStreamRecvMode](https://write.woa.com/document/87030026264555520), but this must be done before you enter the room.
925
- >
926
-
927
-
928
- ## onFirstVideoFrame
929
-
930
-
931
-
932
- #### The SDK has started rendering the first frame of the local or remote user's video
933
-
934
- The SDK triggers this event when rendering the first video frame of the local or remote user. You can use the userId parameter in the callback event to determine whether the event is from "Local" or "Remote".
935
- - If userId is empty, it means the SDK has started rendering your local video footage, but you must have called [startLocalPreview](https://write.woa.com/document/87030026264555520) or [startScreenCapture](https://write.woa.com/document/87030026264555520).
936
-
937
- - If userId is not empty, it means the SDK has started rendering the remote user's video footage. However, you must have called [startRemoteView](https://write.woa.com/document/87030026264555520) to subscribe to the user's video footage.
938
-
939
- <table>
940
- <tr>
941
- <td rowspan="1" colSpan="1" >Parameters</td>
942
-
943
- <td rowspan="1" colSpan="1" >Description</td>
944
- </tr>
945
-
946
- <tr>
947
- <td rowspan="1" colSpan="1" >height</td>
948
-
949
- <td rowspan="1" colSpan="1" >Height of the video footage.</td>
950
- </tr>
951
-
952
- <tr>
953
- <td rowspan="1" colSpan="1" >streamType</td>
954
-
955
- <td rowspan="1" colSpan="1" >Video stream type: Main is generally used for carrying camera footage, while Sub is generally used for carrying screen sharing footage.</td>
956
- </tr>
957
-
958
- <tr>
959
- <td rowspan="1" colSpan="1" >userId</td>
960
-
961
- <td rowspan="1" colSpan="1" >The user identifier of local or remote. If userId is empty, it means your local first video frame has arrived. If userId is not empty, it means the remote user's first video frame has arrived.</td>
962
- </tr>
963
-
964
- <tr>
965
- <td rowspan="1" colSpan="1" >width</td>
966
-
967
- <td rowspan="1" colSpan="1" >Width of the video footage.</td>
968
- </tr>
969
- </table>
970
-
971
-
972
- > **Note**
973
- >
974
-
975
- > 1. The local first video frame event callback is triggered only after you call [startLocalPreview](https://write.woa.com/document/87030026264555520) or [startScreenCapture](https://write.woa.com/document/87030026264555520).
976
- >
977
-
978
- > 2. The remote user's first video frame event callback is triggered only after you call [startRemoteView](https://write.woa.com/document/87030026264555520) or startRemoteSubStreamView.
979
- >
312
+ > 1. The local first video frame event callback is triggered only after you call startLocalPreview or startScreenCapture.
313
+ >
980
314
 
315
+ > 2. The remote user's first video frame event callback is triggered only after you call startRemoteView or startRemoteSubStreamView.
316
+ >
981
317
 
982
318
  ## onFirstAudioFrame
983
319
 
984
-
985
-
986
320
  #### The SDK has started playing the remote user's first audio frame
987
321
 
988
322
  The SDK will throw this event when playing the remote user's first frame of audio. The first frame event of local audio is not thrown for now.
989
- <table>
990
- <tr>
991
- <td rowspan="1" colSpan="1" >Parameters</td>
992
-
993
- <td rowspan="1" colSpan="1" >Description</td>
994
- </tr>
995
-
996
- <tr>
997
- <td rowspan="1" colSpan="1" >userId</td>
998
-
999
- <td rowspan="1" colSpan="1" >User Identifier of the remote user.</td>
1000
- </tr>
1001
- </table>
1002
-
1003
-
1004
- ## onSendFirstLocalVideoFrame
1005
-
1006
-
1007
-
1008
- #### The first local video frame has been published
1009
-
1010
- After successfully joining the room and starting local video capture via [startLocalPreview](https://write.woa.com/document/87030026264555520) or [startScreenCapture](https://write.woa.com/document/87030026264555520) (the order of starting capture and joining the room does not matter), the SDK will start video encoding and publish the local video data to the cloud using its network module. Once the SDK successfully sends the first frame of local video data to the cloud, the onSendFirstLocalVideoFrame event callback will be triggered.
1011
- <table>
1012
- <tr>
1013
- <td rowspan="1" colSpan="1" >Parameters</td>
1014
-
1015
- <td rowspan="1" colSpan="1" >Description</td>
1016
- </tr>
1017
-
1018
- <tr>
1019
- <td rowspan="1" colSpan="1" >streamType</td>
1020
-
1021
- <td rowspan="1" colSpan="1" >Video stream type: Main is generally used for carrying camera footage, while Sub is generally used for carrying screen sharing footage.</td>
1022
- </tr>
1023
- </table>
1024
-
1025
-
1026
- ## onSendFirstLocalAudioFrame
1027
-
1028
-
1029
-
1030
- #### The first local audio frame has been published
1031
-
1032
- After successfully joining the room and starting local audio capture via [startLocalAudio](https://write.woa.com/document/87030026264555520) (the order of starting capture and joining the room does not matter), the SDK will start audio encoding and publish the local audio data to the cloud using its network module. Once the SDK successfully sends the first frame of local audio data to the cloud, the onSendFirstLocalAudioFrame event callback will be triggered.
1033
-
1034
- ## onRemoteVideoStatusUpdated
1035
-
1036
-
1037
-
1038
- #### Event callback for remote video status changes
1039
-
1040
- You can use this event callback to obtain the playback status of each remote video stream (including three states: Playing, Loading, and Stopped) for corresponding UI display.
1041
- <table>
1042
- <tr>
1043
- <td rowspan="1" colSpan="1" >Parameters</td>
1044
-
1045
- <td rowspan="1" colSpan="1" >Description</td>
1046
- </tr>
1047
-
1048
- <tr>
1049
- <td rowspan="1" colSpan="1" >extrainfo</td>
1050
-
1051
- <td rowspan="1" colSpan="1" >Additional Information.</td>
1052
- </tr>
1053
-
1054
- <tr>
1055
- <td rowspan="1" colSpan="1" >reason</td>
1056
-
1057
- <td rowspan="1" colSpan="1" >Reasons for video status changes.</td>
1058
- </tr>
1059
-
1060
- <tr>
1061
- <td rowspan="1" colSpan="1" >status</td>
1062
-
1063
- <td rowspan="1" colSpan="1" >Video Status: Including Playing, Loading, and Stopped states.</td>
1064
- </tr>
1065
-
1066
- <tr>
1067
- <td rowspan="1" colSpan="1" >streamType</td>
1068
-
1069
- <td rowspan="1" colSpan="1" >Video stream type: Main is generally used for carrying camera footage, while Sub is generally used for carrying screen sharing footage.</td>
1070
- </tr>
1071
-
1072
- <tr>
1073
- <td rowspan="1" colSpan="1" >userId</td>
1074
-
1075
- <td rowspan="1" colSpan="1" >User identifier.</td>
1076
- </tr>
1077
- </table>
1078
-
1079
-
1080
- ## onRemoteAudioStatusUpdated
1081
-
1082
-
1083
-
1084
- #### Event callback for remote audio status changes
1085
-
1086
- You can use this event callback to obtain the playback status of each remote audio stream (including three states: Playing, Loading, and Stopped) for corresponding UI display.
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" >extrainfo</td>
1096
-
1097
- <td rowspan="1" colSpan="1" >Additional Information.</td>
1098
- </tr>
1099
-
1100
- <tr>
1101
- <td rowspan="1" colSpan="1" >reason</td>
1102
-
1103
- <td rowspan="1" colSpan="1" >Reasons for audio status changes.</td>
1104
- </tr>
1105
-
1106
- <tr>
1107
- <td rowspan="1" colSpan="1" >status</td>
1108
-
1109
- <td rowspan="1" colSpan="1" >Audio Status: Including Playing, Loading, and Stopped states.</td>
1110
- </tr>
1111
-
1112
- <tr>
1113
- <td rowspan="1" colSpan="1" >userId</td>
1114
-
1115
- <td rowspan="1" colSpan="1" >User identifier.</td>
1116
- </tr>
1117
- </table>
1118
-
1119
-
1120
- ## onUserVideoSizeChanged
1121
-
1122
-
1123
-
1124
- #### Callback for changes in user video size
1125
-
1126
- When you receive the onUserVideoSizeChanged(userId, streamtype, newWidth, newHeight) notification, it indicates that the video size has changed, possibly because the user has called setVideoEncoderParam or setSubStreamEncoderParam to reset the video dimensions.
1127
- <table>
1128
- <tr>
1129
- <td rowspan="1" colSpan="1" >Parameters</td>
1130
-
1131
- <td rowspan="1" colSpan="1" >Description</td>
1132
- </tr>
1133
-
1134
- <tr>
1135
- <td rowspan="1" colSpan="1" >newHeight</td>
1136
-
1137
- <td rowspan="1" colSpan="1" >The height of the video stream (in pixels).</td>
1138
- </tr>
1139
-
1140
- <tr>
1141
- <td rowspan="1" colSpan="1" >newWidth</td>
1142
-
1143
- <td rowspan="1" colSpan="1" >The width of the video stream (in pixels).</td>
1144
- </tr>
1145
-
1146
- <tr>
1147
- <td rowspan="1" colSpan="1" >streamType</td>
1148
-
1149
- <td rowspan="1" colSpan="1" >Video stream type: Main is generally used for carrying camera footage, while Sub is generally used for carrying screen sharing footage.</td>
1150
- </tr>
1151
-
1152
- <tr>
1153
- <td rowspan="1" colSpan="1" >userId</td>
1154
-
1155
- <td rowspan="1" colSpan="1" >User identifier.</td>
1156
- </tr>
1157
- </table>
1158
-
1159
-
1160
- ## onNetworkQuality
1161
-
1162
-
1163
-
1164
- #### Real-time statistics callback for network quality
1165
-
1166
- This statistical callback is thrown every 2 seconds to notify the SDK of the perceived current network's uplink and downlink quality.
1167
-
1168
- The SDK uses a set of proprietary algorithms to assess the current network's latency, bandwidth, and stability, and calculates an evaluation result: An evaluation result of 1 (Excellent) indicates that the current network condition is very good, while a result of 6 (Down) indicates that the current network cannot support normal calls on TRTC.
1169
- <table>
1170
- <tr>
1171
- <td rowspan="1" colSpan="1" >Parameters</td>
1172
-
1173
- <td rowspan="1" colSpan="1" >Description</td>
1174
- </tr>
1175
-
1176
- <tr>
1177
- <td rowspan="1" colSpan="1" >localQuality</td>
1178
-
1179
- <td rowspan="1" colSpan="1" >Uplink network quality.</td>
1180
- </tr>
1181
-
1182
- <tr>
1183
- <td rowspan="1" colSpan="1" >remoteQuality</td>
1184
-
1185
- <td rowspan="1" colSpan="1" >Downlink network quality, represents the data quality finally gathered at the client-end after the data stream travels through a complete transmission link from "remote-end -> cloud -> client-end". Thus, the downlink network quality represents the result influenced by both the remote uplink and the client downlink.</td>
1186
- </tr>
1187
- </table>
1188
-
1189
-
1190
- > **Note**
1191
- >
1192
-
1193
- > It is temporarily impossible to assess the remote user's uplink quality through this interface alone.
1194
- >
1195
-
1196
-
1197
- ## onStatistics
1198
-
1199
-
1200
-
1201
- #### Real-time statistics callback for audio and video technical indicators
1202
-
1203
- This statistical callback is thrown every 2 seconds, notifying the SDK internal audio, video, and network-related technical indicators. This information is listed in [TRTCStatistics](https://write.woa.com/document/87030057818304512):
1204
- - Video statistical information: Video resolution, frame rate (FPS), and bitrate information.
1205
-
1206
- - Audio statistical information: Audio sample rate, channel, and bitrate information.
1207
-
1208
- - Network Statistics: Network Latency (RTT), Packet Loss Rate (loss), Upstream Traffic (sentBytes), Downstream Traffic (receivedBytes), and other information from a round-trip (SDK > Cloud > SDK).
1209
-
1210
- <table>
1211
- <tr>
1212
- <td rowspan="1" colSpan="1" >Parameters</td>
1213
-
1214
- <td rowspan="1" colSpan="1" >Description</td>
1215
- </tr>
1216
-
1217
- <tr>
1218
- <td rowspan="1" colSpan="1" >statistics</td>
1219
-
1220
- <td rowspan="1" colSpan="1" >Statistics including local and remote user statistics, for details refer to [TRTCStatistics](https://write.woa.com/document/87030057818304512).</td>
1221
- </tr>
1222
- </table>
1223
-
1224
-
1225
- > **Note**
1226
- >
1227
-
1228
- > If you just need to know the current network quality and do not want to spend too much time studying this statistical callback, it is recommended to use [onNetworkQuality](https://write.woa.com/document/87030021158866944) to solve the problem.
1229
- >
1230
-
1231
-
1232
- ## onSpeedTestResult
1233
-
1234
-
1235
-
1236
- #### Callback for internet speed test results
1237
-
1238
- This statistical callback is triggered by startSpeedTest.
1239
- <table>
1240
- <tr>
1241
- <td rowspan="1" colSpan="1" >Parameters</td>
1242
-
1243
- <td rowspan="1" colSpan="1" >Description</td>
1244
- </tr>
1245
-
1246
- <tr>
1247
- <td rowspan="1" colSpan="1" >result</td>
1248
-
1249
- <td rowspan="1" colSpan="1" >Internet Speed Test results, including packet loss, round-trip delay, upstream and downstream bandwidth rates; for details, refer to [TRTCSpeedTestResult](https://write.woa.com/document/87030132707430400).</td>
1250
- </tr>
1251
- </table>
1252
-
1253
-
1254
- ## onConnectionLost
1255
-
1256
-
1257
-
1258
- #### The connection between the SDK and the cloud has been disconnected.
1259
-
1260
- The SDK will throw this event callback when the connection to the cloud is disconnected. The main reasons for disconnection are network unavailability or network switching, such as when the user enters an elevator during a call.
1261
-
1262
- After throwing this event, the SDK will attempt to re-establish the connection with the cloud. During the reconnection process, it will throw [onTryToReconnect](https://write.woa.com/document/87030021158866944), and once the connection is restored, it will throw [onConnectionRecovery](https://write.woa.com/document/87030021158866944).
1263
-
1264
- Thus, the SDK will switch among the following three connection-related events in the following manner:
1265
-
1266
- ![](https://qcloudimg.tencent-cloud.cn/raw/fb3c40a4fca55b0010d385cf3b2472cd.png)
1267
-
1268
- ## onTryToReconnect
1269
-
1270
-
1271
-
1272
- #### The SDK is trying to reconnect to the cloud.
1273
-
1274
- The SDK will throw [onConnectionLost](https://write.woa.com/document/87030021158866944) when the connection to the cloud is disconnected, then it will attempt to re-establish the connection with the cloud and throw this event. Once the connection is restored, it will throw [onConnectionRecovery](https://write.woa.com/document/87030021158866944).
1275
-
1276
- ## onConnectionRecovery
1277
-
1278
-
1279
-
1280
- #### The connection between the SDK and the cloud has been restored.
1281
-
1282
- The SDK will throw [onConnectionLost](https://write.woa.com/document/87030021158866944) when the connection to the cloud is disconnected. It will then attempt to re-establish the connection and throw [onTryToReconnect](https://write.woa.com/document/87030021158866944). Once the connection is restored, this event callback will be triggered.
1283
-
1284
- ## onCameraDidReady
1285
-
1286
-
1287
-
1288
- #### Camera is ready
1289
-
1290
- When you call startLocalPreivew, the SDK will attempt to enable the camera. If successful, this event will be thrown.
1291
-
1292
- If enabling the camera fails, it is most likely because the current application does not have access permissions to the camera or the camera is currently being used exclusively by another application.
1293
-
1294
- You can capture the [onError](https://write.woa.com/document/87030021158866944) event callback to understand these exceptional conditions and prompt users through the UI interface.
1295
-
1296
- ## onMicDidReady
1297
-
1298
-
1299
-
1300
- #### Microphone is ready
1301
-
1302
- When you call [startLocalAudio](https://write.woa.com/document/87030026264555520), the SDK will attempt to enable the microphone. If successful, this event will be thrown.
1303
-
1304
- If enabling the microphone fails, it is most likely because the current application does not have access permissions to the microphone or the microphone is currently being used exclusively by another application.
1305
-
1306
- You can capture the [onError](https://write.woa.com/document/87030021158866944) event callback to understand these exceptional conditions and prompt users through the UI interface.
1307
-
1308
- ## onUserVoiceVolume
1309
-
1310
-
1311
-
1312
- #### Callback for volume feedback
1313
-
1314
- The SDK can assess the volume of each audio stream and periodically trigger this event callback. You can provide corresponding UI indications based on the volume, such as `waveform chart` or `volume slider`.
1315
-
1316
- To implement this feature, you need to call [enableAudioVolumeEvaluation](https://write.woa.com/document/87030026264555520) to enable this capability and set the time interval for event triggers.
1317
-
1318
- It is important to note that, regardless of whether anyone is speaking in the current room, the SDK will periodically trigger this event callback at the interval you set.
1319
- <table>
1320
- <tr>
1321
- <td rowspan="1" colSpan="1" >Parameters</td>
1322
-
1323
- <td rowspan="1" colSpan="1" >Description</td>
1324
- </tr>
1325
-
1326
- <tr>
1327
- <td rowspan="1" colSpan="1" >totalVolume</td>
1328
-
1329
- <td rowspan="1" colSpan="1" >The total volume level of all remote users, with a range of 0 to 100.</td>
1330
- </tr>
1331
-
1332
- <tr>
1333
- <td rowspan="1" colSpan="1" >userVolumes</td>
1334
-
1335
- <td rowspan="1" colSpan="1" >It is an array that holds the volume levels of all speaking users, with a range of 0 to 100.</td>
1336
- </tr>
1337
- </table>
1338
-
1339
-
1340
- > **Note**
1341
- >
1342
-
1343
- > userVolumes is an array. For each element in the array, if the userId is empty, it represents the volume level collected by the local microphone. If the userId is not empty, it represents the volume level of remote users.
1344
- >
1345
-
1346
-
1347
- ## onDeviceChange
1348
-
1349
-
1350
-
1351
- #### Local device connection status has changed (applicable only to desktop systems)
1352
-
1353
- When local devices (including camera, microphone, and speaker) are plugged in or unplugged, the SDK will trigger this event callback.
1354
- <table>
1355
- <tr>
1356
- <td rowspan="1" colSpan="1" >Parameters</td>
1357
-
1358
- <td rowspan="1" colSpan="1" >Description</td>
1359
- </tr>
1360
-
1361
- <tr>
1362
- <td rowspan="1" colSpan="1" >deviceId</td>
1363
-
1364
- <td rowspan="1" colSpan="1" >Device ID.</td>
1365
- </tr>
1366
-
1367
- <tr>
1368
- <td rowspan="1" colSpan="1" >deviceType</td>
1369
-
1370
- <td rowspan="1" colSpan="1" >Device Type. 0: Microphone device; 1: Speaker device; 2: Camera device.</td>
1371
- </tr>
1372
-
1373
- <tr>
1374
- <td rowspan="1" colSpan="1" >state</td>
1375
-
1376
- <td rowspan="1" colSpan="1" >On/Off status, 0: Device added; 1: Device removed; 2: Device enabled.</td>
1377
- </tr>
1378
- </table>
1379
-
1380
-
1381
- ## onAudioDeviceCaptureVolumeChanged
1382
-
1383
-
1384
-
1385
- #### Current system mic capture volume has changed
1386
-
1387
- On desktop operating systems like Mac or Windows, users can find the sound settings panel in the settings center and set the microphone's capture volume level.
1388
-
1389
- The larger the microphone capture volume set by the user, the larger the original volume of the sound captured by the microphone will be; conversely, the smaller it will be.
1390
-
1391
- On some models of keyboards and laptops, users can also mute the microphone by pressing the `Disable Microphone` button (the icon is a `Microphone` with a slash representing disable).
1392
-
1393
-
1394
-
1395
- When the user sets the microphone capture volume of the operating system through the system settings interface or shortcut keys on the keyboard, the SDK will trigger this event.
1396
- <table>
1397
- <tr>
1398
- <td rowspan="1" colSpan="1" >Parameters</td>
1399
-
1400
- <td rowspan="1" colSpan="1" >Description</td>
1401
- </tr>
1402
-
1403
- <tr>
1404
- <td rowspan="1" colSpan="1" >muted</td>
1405
-
1406
- <td rowspan="1" colSpan="1" >Is the microphone disabled by the user: true for disabled, false for enabled.</td>
1407
- </tr>
1408
-
1409
- <tr>
1410
- <td rowspan="1" colSpan="1" >volume</td>
1411
-
1412
- <td rowspan="1" colSpan="1" >System capture volume, range 0 - 100, can be adjusted by dragging on the sound settings panel of the system.</td>
1413
- </tr>
1414
- </table>
1415
-
1416
-
1417
- > **Note**
1418
- >
1419
-
1420
- > You need to call the [enableAudioVolumeEvaluation](https://write.woa.com/document/87030026264555520) interface and set the interval greater than 0 to enable this event callback, set the interval to 0 to disable this event callback.
1421
- >
1422
-
1423
-
1424
- ## onAudioDevicePlayoutVolumeChanged
1425
-
1426
-
1427
-
1428
- #### Current system playback volume has changed
1429
-
1430
- On desktop operating systems like Mac or Windows, users can find the sound settings panel in the settings center and set the system playback volume.
1431
-
1432
- On some models of keyboards and laptops, users can also mute the system by pressing the "Mute" button (the icon is a speaker with a slash representing disable).
1433
-
1434
-
1435
-
1436
- When the user sets the system playback volume through the system settings interface or shortcut keys on the keyboard, the SDK will trigger this event.
1437
- <table>
1438
- <tr>
1439
- <td rowspan="1" colSpan="1" >Parameters</td>
1440
-
1441
- <td rowspan="1" colSpan="1" >Description</td>
1442
- </tr>
1443
-
1444
- <tr>
1445
- <td rowspan="1" colSpan="1" >muted</td>
1446
-
1447
- <td rowspan="1" colSpan="1" >Is the system muted by the user: true for muted, false for restored.</td>
1448
- </tr>
1449
-
1450
- <tr>
1451
- <td rowspan="1" colSpan="1" >volume</td>
1452
-
1453
- <td rowspan="1" colSpan="1" >System playback volume, range 0 - 100. Users can adjust it by dragging on the system's sound settings panel.</td>
1454
- </tr>
1455
- </table>
1456
-
1457
-
1458
- > **Note**
1459
- >
1460
-
1461
- > You need to call the [enableAudioVolumeEvaluation](https://write.woa.com/document/87030026264555520) interface and set the interval greater than 0 to enable this event callback, set the interval to 0 to disable this event callback.
1462
- >
1463
-
1464
-
1465
- ## onSystemAudioLoopbackError
1466
-
1467
-
1468
-
1469
- #### Event callback for successfully turning on system sound acquisition (applicable only to desktop systems)
1470
-
1471
- On macOS, you can call [startSystemAudioLoopback](https://write.woa.com/document/87030026264555520) to install an audio driver on the current system, allowing the SDK to capture the sound played by the macOS system.
1472
-
1473
- On Windows, you can call [startSystemAudioLoopback](https://write.woa.com/document/87030026264555520) to let the SDK capture the sound played by the Windows system.
1474
-
1475
- When used for film teaching or music live streaming, the teacher can use this feature to allow the SDK to capture the sound played in the movie, so that students in the same room can hear the movie's sound.
1476
-
1477
- The SDK will throw an event callback with the result of whether the system sound capture was successfully enabled, and you need to pay attention to the error code in the parameters.
1478
- <table>
1479
- <tr>
1480
- <td rowspan="1" colSpan="1" >Parameters</td>
1481
-
1482
- <td rowspan="1" colSpan="1" >Description</td>
1483
- </tr>
1484
-
1485
- <tr>
1486
- <td rowspan="1" colSpan="1" >err</td>
1487
-
1488
- <td rowspan="1" colSpan="1" >ERR_NULL indicates success, any other value indicates failure.</td>
1489
- </tr>
1490
- </table>
1491
-
1492
-
1493
- ## onTestMicVolume
1494
-
1495
-
1496
-
1497
- #### Volume callback while testing the microphone
1498
-
1499
- When you call [startMicDeviceTest](https://write.woa.com/document/87030115247763456) to test if the microphone is working properly, the SDK will continuously throw this callback. The parameter volume represents the volume level currently captured by the microphone.
1500
-
1501
- If there are fluctuations in volume during the test, it indicates that the microphone is in good condition; if the volume value remains at 0, it indicates that the microphone is abnormal and the user should be prompted to replace it.
1502
- <table>
1503
- <tr>
1504
- <td rowspan="1" colSpan="1" >Parameters</td>
1505
-
1506
- <td rowspan="1" colSpan="1" >Description</td>
1507
- </tr>
1508
-
1509
- <tr>
1510
- <td rowspan="1" colSpan="1" >volume</td>
1511
-
1512
- <td rowspan="1" colSpan="1" >The volume value captured by the microphone, range 0 - 100.</td>
1513
- </tr>
1514
- </table>
1515
-
1516
-
1517
- ## onTestSpeakerVolume
1518
-
1519
-
1520
-
1521
- #### Volume callback while testing the speaker
1522
-
1523
- When you call [startSpeakerDeviceTest](https://write.woa.com/document/87030115247763456) to test if the speaker is working properly, the SDK will continuously throw this callback.
1524
-
1525
- The parameter volume represents the volume level of the sound the SDK submits to the system speaker for playback. If this value continues to change but the user reports hearing no sound, it indicates a problem with the speaker.
1526
- <table>
1527
- <tr>
1528
- <td rowspan="1" colSpan="1" >Parameters</td>
1529
-
1530
- <td rowspan="1" colSpan="1" >Description</td>
1531
- </tr>
1532
-
1533
- <tr>
1534
- <td rowspan="1" colSpan="1" >volume</td>
1535
-
1536
- <td rowspan="1" colSpan="1" >The volume of the sound the SDK submits to the speaker for playback, range 0 - 100.</td>
1537
- </tr>
1538
- </table>
1539
-
1540
-
1541
- ## onRecvCustomCmdMsg
1542
-
1543
-
1544
-
1545
- #### Receipt of a custom Definition message
1546
-
1547
- When a user in a room uses [sendCustomCmdMsg](https://write.woa.com/document/87030026264555520) to send a Definition UDP Message, other users in the room can receive the message through the onRecvCustomCmdMsg event callback.
1548
- <table>
1549
- <tr>
1550
- <td rowspan="1" colSpan="1" >Parameters</td>
1551
-
1552
- <td rowspan="1" colSpan="1" >Description</td>
1553
- </tr>
1554
-
1555
- <tr>
1556
- <td rowspan="1" colSpan="1" >cmdID</td>
1557
-
1558
- <td rowspan="1" colSpan="1" >Command ID.</td>
1559
- </tr>
1560
-
1561
- <tr>
1562
- <td rowspan="1" colSpan="1" >message</td>
1563
-
1564
- <td rowspan="1" colSpan="1" >Message Data.</td>
1565
- </tr>
1566
-
1567
- <tr>
1568
- <td rowspan="1" colSpan="1" >seq</td>
1569
-
1570
- <td rowspan="1" colSpan="1" >Message serial number.</td>
1571
- </tr>
1572
-
1573
- <tr>
1574
- <td rowspan="1" colSpan="1" >userId</td>
1575
-
1576
- <td rowspan="1" colSpan="1" >User identifier.</td>
1577
- </tr>
1578
- </table>
1579
-
1580
-
1581
- ## onMissCustomCmdMsg
1582
-
1583
-
1584
-
1585
- #### Event callback for lost custom Definition messages
1586
-
1587
- When you use [sendCustomCmdMsg](https://write.woa.com/document/87030026264555520) to send a Definition UDP message, even if reliable transmission is set, it cannot guarantee 100% message delivery, but the probability of message loss is very low and meets conventional reliability requirements.
1588
-
1589
- After setting reliable transmission on the sender side, the SDK will notify the number of lost Definition messages during the past time period (usually 5 seconds) through this callback.
1590
- <table>
1591
- <tr>
1592
- <td rowspan="1" colSpan="1" >Parameters</td>
1593
-
1594
- <td rowspan="1" colSpan="1" >Description</td>
1595
- </tr>
1596
-
1597
- <tr>
1598
- <td rowspan="1" colSpan="1" >cmdID</td>
1599
-
1600
- <td rowspan="1" colSpan="1" >Command ID.</td>
1601
- </tr>
1602
-
1603
- <tr>
1604
- <td rowspan="1" colSpan="1" >errCode</td>
1605
-
1606
- <td rowspan="1" colSpan="1" >Error code.</td>
1607
- </tr>
1608
-
1609
- <tr>
1610
- <td rowspan="1" colSpan="1" >missed</td>
1611
-
1612
- <td rowspan="1" colSpan="1" >Number of lost messages.</td>
1613
- </tr>
1614
-
1615
- <tr>
1616
- <td rowspan="1" colSpan="1" >userId</td>
1617
-
1618
- <td rowspan="1" colSpan="1" >User identifier.</td>
1619
- </tr>
1620
- </table>
1621
-
1622
-
1623
- > **Note**
1624
- >
1625
-
1626
- > Only if reliable transmission is set on the sender side can the receiver receive the message loss callback.
1627
- >
1628
-
1629
-
1630
- ## onRecvSEIMsg
1631
-
1632
-
1633
-
1634
- #### Callback for receiving SEI message
1635
-
1636
- When a user in the room sends an SEI message through the video frame using [sendSEIMsg](https://write.woa.com/document/87030026264555520), other users in the room can receive the message via the onRecvSEIMsg event callback.
1637
- <table>
1638
- <tr>
1639
- <td rowspan="1" colSpan="1" >Parameters</td>
1640
-
1641
- <td rowspan="1" colSpan="1" >Description</td>
1642
- </tr>
1643
-
1644
- <tr>
1645
- <td rowspan="1" colSpan="1" >message</td>
1646
-
1647
- <td rowspan="1" colSpan="1" >Data.</td>
1648
- </tr>
1649
-
1650
- <tr>
1651
- <td rowspan="1" colSpan="1" >userId</td>
1652
-
1653
- <td rowspan="1" colSpan="1" >User identifier.</td>
1654
- </tr>
1655
- </table>
1656
-
1657
-
1658
- ## onStartPublishing
1659
-
1660
-
1661
-
1662
- #### Event callback for starting to publish audio and video streams to Tencent CSS CDN
1663
-
1664
- When you call startPublishing to start publishing audio and video streams to the Tencent CSS CDN, the SDK will immediately synchronize this command to the cloud server.
1665
-
1666
- The SDK will then receive the processing results from the cloud server and notify you of the execution results of the command through this event callback.
1667
- <table>
1668
- <tr>
1669
- <td rowspan="1" colSpan="1" >Parameters</td>
1670
-
1671
- <td rowspan="1" colSpan="1" >Description</td>
1672
- </tr>
1673
-
1674
- <tr>
1675
- <td rowspan="1" colSpan="1" >err</td>
1676
-
1677
- <td rowspan="1" colSpan="1" >0 indicates success, other values indicate failure.</td>
1678
- </tr>
1679
-
1680
- <tr>
1681
- <td rowspan="1" colSpan="1" >errMsg</td>
1682
-
1683
- <td rowspan="1" colSpan="1" >Specific error reasons.</td>
1684
- </tr>
1685
- </table>
1686
-
1687
-
1688
- ## onStopPublishing
1689
-
1690
-
1691
-
1692
- #### Event callback for stopping the publishing of audio and video streams to Tencent CSS CDN
1693
-
1694
- When you call stopPublishing to stop publishing audio and video streams to the Tencent CSS CDN, the SDK will immediately synchronize this command to the cloud server.
1695
-
1696
- The SDK will then receive the processing results from the cloud server and notify you of the execution results of the command through this event callback.
1697
- <table>
1698
- <tr>
1699
- <td rowspan="1" colSpan="1" >Parameters</td>
1700
-
1701
- <td rowspan="1" colSpan="1" >Description</td>
1702
- </tr>
1703
-
1704
- <tr>
1705
- <td rowspan="1" colSpan="1" >err</td>
1706
-
1707
- <td rowspan="1" colSpan="1" >0 indicates success, other values indicate failure.</td>
1708
- </tr>
1709
-
1710
- <tr>
1711
- <td rowspan="1" colSpan="1" >errMsg</td>
1712
-
1713
- <td rowspan="1" colSpan="1" >Specific error reasons.</td>
1714
- </tr>
1715
- </table>
1716
-
1717
-
1718
- ## onStartPublishCDNStream
1719
-
1720
-
1721
-
1722
- #### Event callback for starting to publish audio and video streams to a non-Tencent Cloud CDN
1723
-
1724
- When you call startPublishCDNStream to start publishing audio and video streams to a non-Tencent CSS CDN, the SDK will immediately synchronize this command to the cloud server. The SDK will then receive the processing results from the cloud server and notify you of the execution results of the command through this event callback.
1725
- <table>
1726
- <tr>
1727
- <td rowspan="1" colSpan="1" >Parameters</td>
1728
-
1729
- <td rowspan="1" colSpan="1" >Description</td>
1730
- </tr>
1731
-
1732
- <tr>
1733
- <td rowspan="1" colSpan="1" >err</td>
1734
-
1735
- <td rowspan="1" colSpan="1" >0 indicates success, other values indicate failure.</td>
1736
- </tr>
1737
-
1738
- <tr>
1739
- <td rowspan="1" colSpan="1" >errMsg</td>
1740
-
1741
- <td rowspan="1" colSpan="1" >Specific error reasons.</td>
1742
- </tr>
1743
- </table>
1744
-
1745
-
1746
- > **Note**
1747
- >
1748
-
1749
- > When you receive a successful event callback, it only indicates that your publishing command has been synchronized to the Tencent Cloud backend server, but if the target CDN provider's server does not accept the video stream, it may still result in a publishing failure.
1750
- >
1751
-
1752
-
1753
- ## onStopPublishCDNStream
1754
-
1755
-
1756
-
1757
- #### Event callback for stopping the publishing of audio and video streams to a non-Tencent Cloud CDN
1758
-
1759
- When you call stopPublishCDNStream to stop publishing audio and video streams to a non-Tencent CSS CDN, the SDK will immediately synchronize this command to the cloud server. The SDK will then receive the processing results from the cloud server and notify you of the execution results of the command through this event callback.
1760
- <table>
1761
- <tr>
1762
- <td rowspan="1" colSpan="1" >Parameters</td>
1763
-
1764
- <td rowspan="1" colSpan="1" >Description</td>
1765
- </tr>
1766
-
1767
- <tr>
1768
- <td rowspan="1" colSpan="1" >err</td>
1769
-
1770
- <td rowspan="1" colSpan="1" >0 indicates success, other values indicate failure.</td>
1771
- </tr>
1772
-
1773
- <tr>
1774
- <td rowspan="1" colSpan="1" >errMsg</td>
1775
-
1776
- <td rowspan="1" colSpan="1" >Specific error reasons.</td>
1777
- </tr>
1778
- </table>
1779
-
1780
-
1781
- ## onSetMixTranscodingConfig
1782
-
1783
-
1784
-
1785
- #### Event callback for setting the layout and transcoding parameters of Cloud Mixed Streaming
1786
-
1787
- When you call setMixTranscodingConfig to adjust the layout and transcoding parameters of cloud mixed streaming, the SDK will immediately sync this adjustment command to the cloud server. The SDK will then receive the process results from the cloud server and notify you of the execution results through this event callback.
1788
- <table>
1789
- <tr>
1790
- <td rowspan="1" colSpan="1" >Parameters</td>
1791
-
1792
- <td rowspan="1" colSpan="1" >Description</td>
1793
- </tr>
1794
-
1795
- <tr>
1796
- <td rowspan="1" colSpan="1" >err</td>
1797
-
1798
- <td rowspan="1" colSpan="1" >Error code: 0 indicates success, other values indicate failure.</td>
1799
- </tr>
1800
-
1801
- <tr>
1802
- <td rowspan="1" colSpan="1" >errMsg</td>
1803
-
1804
- <td rowspan="1" colSpan="1" >Specific error reason.</td>
1805
- </tr>
1806
- </table>
323
+ | Parameters | Description |
324
+ | --- | --- |
325
+ | userId | User Identifier of the remote user. |
1807
326
 
327
+ ## onSendFirstLocalVideoFrame
1808
328
 
1809
- ## onStartPublishMediaStream
329
+ #### The first local video frame has been published
1810
330
 
331
+ After successfully joining the room and starting local video capture via startLocalPreview or startScreenCapture (the order of starting capture and joining the room does not matter), the SDK will start video encoding and publish the local video data to the cloud using its network module. Once the SDK successfully sends the first frame of local video data to the cloud, the onSendFirstLocalVideoFrame event callback will be triggered.
332
+ | Parameters | Description |
333
+ | --- | --- |
334
+ | streamType | Video stream type: Main is generally used for carrying camera footage, while Sub is generally used for carrying screen sharing footage. |
1811
335
 
336
+ ## onSendFirstLocalAudioFrame
1812
337
 
1813
- #### Event callback for starting to publish the media stream
338
+ #### The first local audio frame has been published
1814
339
 
1815
- When you call [startPublishMediaStream](https://write.woa.com/document/87030026264555520) to start publishing the media stream to TRTC backend services, the SDK will immediately sync this command to the cloud server. The SDK will then receive the process results from the cloud server and notify you of the execution results through this event callback.
1816
- <table>
1817
- <tr>
1818
- <td rowspan="1" colSpan="1" >Parameters</td>
340
+ After successfully joining the room and starting local audio capture via startLocalAudio (the order of starting capture and joining the room does not matter), the SDK will start audio encoding and publish the local audio data to the cloud using its network module. Once the SDK successfully sends the first frame of local audio data to the cloud, the onSendFirstLocalAudioFrame event callback will be triggered.
1819
341
 
1820
- <td rowspan="1" colSpan="1" >Description</td>
1821
- </tr>
342
+ ## onRemoteVideoStatusUpdated
1822
343
 
1823
- <tr>
1824
- <td rowspan="1" colSpan="1" >code</td>
344
+ #### Event callback for remote video status changes
1825
345
 
1826
- <td rowspan="1" colSpan="1" >Callback result, 0 indicates success, other values indicate failure.</td>
1827
- </tr>
346
+ You can use this event callback to obtain the playback status of each remote video stream (including three states: Playing, Loading, and Stopped) for corresponding UI display.
347
+ | Parameters | Description |
348
+ | --- | --- |
349
+ | extrainfo | Additional Information. |
350
+ | reason | Reasons for video status changes. |
351
+ | status | Video Status: Including Playing, Loading, and Stopped states. |
352
+ | streamType | Video stream type: Main is generally used for carrying camera footage, while Sub is generally used for carrying screen sharing footage. |
353
+ | userId | User identifier. |
1828
354
 
1829
- <tr>
1830
- <td rowspan="1" colSpan="1" >extraInfo</td>
355
+ ## onRemoteAudioStatusUpdated
1831
356
 
1832
- <td rowspan="1" colSpan="1" >Expand information field, some error codes may carry additional information to help locate the problem.</td>
1833
- </tr>
357
+ #### Event callback for remote audio status changes
1834
358
 
1835
- <tr>
1836
- <td rowspan="1" colSpan="1" >message</td>
359
+ You can use this event callback to obtain the playback status of each remote audio stream (including three states: Playing, Loading, and Stopped) for corresponding UI display.
360
+ | Parameters | Description |
361
+ | --- | --- |
362
+ | extrainfo | Additional Information. |
363
+ | reason | Reasons for audio status changes. |
364
+ | status | Audio Status: Including Playing, Loading, and Stopped states. |
365
+ | userId | User identifier. |
1837
366
 
1838
- <td rowspan="1" colSpan="1" >Specific callback information.</td>
1839
- </tr>
367
+ ## onUserVideoSizeChanged
1840
368
 
1841
- <tr>
1842
- <td rowspan="1" colSpan="1" >taskId</td>
369
+ #### Callback for changes in user video size
1843
370
 
1844
- <td rowspan="1" colSpan="1" >When the request is successful, the TRTC backend will provide the taskId of this task in the callback. Subsequently, you can use this taskId in combination with [updatePublishMediaStream](https://write.woa.com/document/87030026264555520) and [stopPublishMediaStream](https://write.woa.com/document/87030026264555520) to update and stop.</td>
1845
- </tr>
1846
- </table>
371
+ When you receive the onUserVideoSizeChanged(userId, streamtype, newWidth, newHeight) notification, it indicates that the video size has changed, possibly because the user has called setVideoEncoderParam or setSubStreamEncoderParam to reset the video dimensions.
372
+ | Parameters | Description |
373
+ | --- | --- |
374
+ | newHeight | The height of the video stream (in pixels). |
375
+ | newWidth | The width of the video stream (in pixels). |
376
+ | streamType | Video stream type: Main is generally used for carrying camera footage, while Sub is generally used for carrying screen sharing footage. |
377
+ | userId | User identifier. |
1847
378
 
379
+ ## onNetworkQuality
1848
380
 
1849
- ## onUpdatePublishMediaStream
381
+ #### Real-time statistics callback for network quality
1850
382
 
383
+ This statistical callback is thrown every 2 seconds to notify the SDK of the perceived current network's uplink and downlink quality.
1851
384
 
385
+ The SDK uses a set of proprietary algorithms to assess the current network's latency, bandwidth, and stability, and calculates an evaluation result: An evaluation result of 1 (Excellent) indicates that the current network condition is very good, while a result of 6 (Down) indicates that the current network cannot support normal calls on TRTC.
386
+ | Parameters | Description |
387
+ | --- | --- |
388
+ | localQuality | Uplink network quality. |
389
+ | remoteQuality | Downlink network quality, represents the data quality finally gathered at the client-end after the data stream travels through a complete transmission link from "remote-end -> cloud -> client-end". Thus, the downlink network quality represents the result influenced by both the remote uplink and the client downlink. |
1852
390
 
1853
- #### Event callback for updating the media stream
391
+ > **Note**
392
+ >
1854
393
 
1855
- When you call the media stream publishing interface ([updatePublishMediaStream](https://write.woa.com/document/87030026264555520)) to start updating the media stream to the TRTC backend services, the SDK will immediately sync this command to the cloud server. The SDK will then receive the process results from the cloud server and notify you of the execution results through this event callback.
1856
- <table>
1857
- <tr>
1858
- <td rowspan="1" colSpan="1" >Parameters</td>
394
+ > It is temporarily impossible to assess the remote user's uplink quality through this interface alone.
395
+ >
1859
396
 
1860
- <td rowspan="1" colSpan="1" >Description</td>
1861
- </tr>
397
+ ## onStatistics
1862
398
 
1863
- <tr>
1864
- <td rowspan="1" colSpan="1" >code</td>
399
+ #### Real-time statistics callback for audio and video technical indicators
1865
400
 
1866
- <td rowspan="1" colSpan="1" >Callback result, 0 indicates success, other values indicate failure.</td>
1867
- </tr>
401
+ This statistical callback is thrown every 2 seconds, notifying the SDK internal audio, video, and network-related technical indicators. This information is listed in TRTCStatistics:
402
+ - Video statistical information: Video resolution, frame rate (FPS), and bitrate information.
1868
403
 
1869
- <tr>
1870
- <td rowspan="1" colSpan="1" >extraInfo</td>
404
+ - Audio statistical information: Audio sample rate, channel, and bitrate information.
1871
405
 
1872
- <td rowspan="1" colSpan="1" >Expand information field, some error codes may carry additional information to help locate the problem.</td>
1873
- </tr>
406
+ - Network Statistics: Network Latency (RTT), Packet Loss Rate (loss), Upstream Traffic (sentBytes), Downstream Traffic (receivedBytes), and other information from a round-trip (SDK > Cloud > SDK).
1874
407
 
1875
- <tr>
1876
- <td rowspan="1" colSpan="1" >message</td>
408
+ | Parameters | Description |
409
+ | --- | --- |
410
+ | statistics | Statistics including local and remote user statistics, for details refer to TRTCStatistics. |
1877
411
 
1878
- <td rowspan="1" colSpan="1" >Specific callback information.</td>
1879
- </tr>
412
+ > **Note**
413
+ >
1880
414
 
1881
- <tr>
1882
- <td rowspan="1" colSpan="1" >taskId</td>
415
+ > If you just need to know the current network quality and do not want to spend too much time studying this statistical callback, it is recommended to use onNetworkQuality to solve the problem.
416
+ >
1883
417
 
1884
- <td rowspan="1" colSpan="1" >The taskId you provide when calling the media stream publishing interface ([updatePublishMediaStream](https://write.woa.com/document/87030026264555520)) will be brought back to you through this callback, to identify which update request this callback belongs to.</td>
1885
- </tr>
1886
- </table>
418
+ ## onSpeedTestResult
1887
419
 
420
+ #### Callback for internet speed test results
1888
421
 
1889
- ## onStopPublishMediaStream
422
+ This statistical callback is triggered by startSpeedTest.
423
+ | Parameters | Description |
424
+ | --- | --- |
425
+ | result | Internet Speed Test results, including packet loss, round-trip delay, upstream and downstream bandwidth rates; for details, refer to TRTCSpeedTestResult. |
1890
426
 
427
+ ## onConnectionLost
1891
428
 
429
+ #### The connection between the SDK and the cloud has been disconnected.
1892
430
 
1893
- #### Event callback for stopping the media stream
431
+ The SDK will throw this event callback when the connection to the cloud is disconnected. The main reasons for disconnection are network unavailability or network switching, such as when the user enters an elevator during a call.
1894
432
 
1895
- When you call stop publishing media stream ([stopPublishMediaStream](https://write.woa.com/document/87030026264555520)) to stop the media stream to TRTC backend service, the SDK will immediately synchronize this command to the cloud server. Subsequently, the SDK will receive the process results from the cloud server and notify you of the execution results of the command through this event callback.
1896
- <table>
1897
- <tr>
1898
- <td rowspan="1" colSpan="1" >Parameters</td>
433
+ After throwing this event, the SDK will attempt to re-establish the connection with the cloud. During the reconnection process, it will throw onTryToReconnect, and once the connection is restored, it will throw onConnectionRecovery.
1899
434
 
1900
- <td rowspan="1" colSpan="1" >Description</td>
1901
- </tr>
435
+ Thus, the SDK will switch among the following three connection-related events in the following manner:
1902
436
 
1903
- <tr>
1904
- <td rowspan="1" colSpan="1" >code</td>
437
+ ## onTryToReconnect
1905
438
 
1906
- <td rowspan="1" colSpan="1" >Callback result, 0 indicates success, other values indicate failure.</td>
1907
- </tr>
439
+ #### The SDK is trying to reconnect to the cloud.
1908
440
 
1909
- <tr>
1910
- <td rowspan="1" colSpan="1" >extraInfo</td>
441
+ The SDK will throw onConnectionLost when the connection to the cloud is disconnected, then it will attempt to re-establish the connection with the cloud and throw this event. Once the connection is restored, it will throw onConnectionRecovery.
1911
442
 
1912
- <td rowspan="1" colSpan="1" >Expand information field, some error codes may carry additional information to help locate the problem.</td>
1913
- </tr>
443
+ ## onConnectionRecovery
1914
444
 
1915
- <tr>
1916
- <td rowspan="1" colSpan="1" >message</td>
445
+ #### The connection between the SDK and the cloud has been restored.
1917
446
 
1918
- <td rowspan="1" colSpan="1" >Specific callback information.</td>
1919
- </tr>
447
+ The SDK will throw onConnectionLost when the connection to the cloud is disconnected. It will then attempt to re-establish the connection and throw onTryToReconnect. Once the connection is restored, this event callback will be triggered.
1920
448
 
1921
- <tr>
1922
- <td rowspan="1" colSpan="1" >taskId</td>
449
+ ## onCameraDidReady
1923
450
 
1924
- <td rowspan="1" colSpan="1" >The taskId you passed in when you called stop publishing media stream ([stopPublishMediaStream](https://write.woa.com/document/87030026264555520)) will be brought back to you through this callback, identifying which stop request this callback belongs to.</td>
1925
- </tr>
1926
- </table>
451
+ #### Camera is ready
1927
452
 
453
+ When you call startLocalPreivew, the SDK will attempt to enable the camera. If successful, this event will be thrown.
1928
454
 
1929
- ## onCdnStreamStateChanged
455
+ If enabling the camera fails, it is most likely because the current application does not have access permissions to the camera or the camera is currently being used exclusively by another application.
1930
456
 
457
+ You can capture the onError event callback to understand these exceptional conditions and prompt users through the UI interface.
1931
458
 
459
+ ## onMicDidReady
1932
460
 
1933
- #### RTMP/RTMPS streaming status change callback
461
+ #### Microphone is ready
1934
462
 
1935
- When you call [startPublishMediaStream](https://write.woa.com/document/87030026264555520) to start publishing media stream to TRTC backend service, the SDK will immediately synchronize this command to the cloud service.
463
+ When you call startLocalAudio, the SDK will attempt to enable the microphone. If successful, this event will be thrown.
1936
464
 
1937
- If you set the URL configuration for publishing audio and video streaming to Tencent or third-party CDN in the target stream configuration ([TRTCPublishTarget](https://write.woa.com/document/87030132707430400)), the specific RTMP or RTMPS streaming status will be synchronized to you through this callback.
1938
- <table>
1939
- <tr>
1940
- <td rowspan="1" colSpan="1" >Parameters</td>
465
+ If enabling the microphone fails, it is most likely because the current application does not have access permissions to the microphone or the microphone is currently being used exclusively by another application.
1941
466
 
1942
- <td rowspan="1" colSpan="1" >Description</td>
1943
- </tr>
467
+ You can capture the onError event callback to understand these exceptional conditions and prompt users through the UI interface.
1944
468
 
1945
- <tr>
1946
- <td rowspan="1" colSpan="1" >cdnUrl</td>
469
+ ## onUserVoiceVolume
1947
470
 
1948
- <td rowspan="1" colSpan="1" >The URL you passed in through the target stream configuration ([TRTCPublishTarget](https://write.woa.com/document/87030132707430400)) when you called [startPublishMediaStream](https://write.woa.com/document/87030026264555520) will be synchronized to you through this callback when the streaming status changes.</td>
1949
- </tr>
471
+ #### Callback for volume feedback
1950
472
 
1951
- <tr>
1952
- <td rowspan="1" colSpan="1" >code</td>
473
+ The SDK can assess the volume of each audio stream and periodically trigger this event callback. You can provide corresponding UI indications based on the volume, such as `waveform chart` or `volume slider`.
1953
474
 
1954
- <td rowspan="1" colSpan="1" >Stream Push Result, 0 means success, other values indicate an error.</td>
1955
- </tr>
475
+ To implement this feature, you need to call enableAudioVolumeEvaluation to enable this capability and set the time interval for event triggers.
1956
476
 
1957
- <tr>
1958
- <td rowspan="1" colSpan="1" >extraInfo</td>
477
+ It is important to note that, regardless of whether anyone is speaking in the current room, the SDK will periodically trigger this event callback at the interval you set.
478
+ | Parameters | Description |
479
+ | --- | --- |
480
+ | totalVolume | The total volume level of all remote users, with a range of 0 to 100. |
481
+ | userVolumes | It is an array that holds the volume levels of all speaking users, with a range of 0 to 100. |
1959
482
 
1960
- <td rowspan="1" colSpan="1" >Expand information field, some error codes may carry additional information to help locate the problem.</td>
1961
- </tr>
483
+ > **Note**
484
+ >
1962
485
 
1963
- <tr>
1964
- <td rowspan="1" colSpan="1" >message</td>
486
+ > userVolumes is an array. For each element in the array, if the userId is empty, it represents the volume level collected by the local microphone. If the userId is not empty, it represents the volume level of remote users.
487
+ >
1965
488
 
1966
- <td rowspan="1" colSpan="1" >Specific Stream Push Information.</td>
1967
- </tr>
489
+ ## onDeviceChange
1968
490
 
1969
- <tr>
1970
- <td rowspan="1" colSpan="1" >status</td>
491
+ #### Local device connection status has changed (applicable only to desktop systems)
1971
492
 
1972
- <td rowspan="1" colSpan="1" >Streaming Status.<br>- 0: Streaming not started or already ended. This status is returned when you call [stopPublishMediaStream](https://write.woa.com/document/87030026264555520).<br>- 1: Connecting to TRTC server and CDN server. If not immediately successful, TRTC backend service will retry multiple times and return this status (callback every 5s). If successful, it enters status 2; if server error occurs or streaming is not successful within 60 seconds, it enters status 4.<br>- 2: CDN streaming is in progress. This status is returned when streaming is successful.<br>- 3: TRTC server and CDN server streaming interruption, recovering. When CDN has an issue or streaming briefly interrupts, the TRTC backend service will automatically attempt to recover streaming and return this status (callback every 5 seconds). If streaming recovers successfully, it will transition to status 2; if server error occurs or recovery fails within 60 seconds, it will transition to status 4.<br>- 4: TRTC server and CDN server streaming interrupted, and recovery or connection timeout. At this point, streaming failed, you can call [updatePublishMediaStream](https://write.woa.com/document/87030026264555520) again to attempt streaming.<br>- 5: Disconnecting TRTC server and CDN server. When you call [stopPublishMediaStream](https://write.woa.com/document/87030026264555520), the TRTC backend service will transition to status 5 and then status 0.</td>
1973
- </tr>
1974
- </table>
493
+ When local devices (including camera, microphone, and speaker) are plugged in or unplugged, the SDK will trigger this event callback.
494
+ | Parameters | Description |
495
+ | --- | --- |
496
+ | deviceId | Device ID. |
497
+ | deviceType | Device Type. 0: Microphone device; 1: Speaker device; 2: Camera device. |
498
+ | state | On/Off status, 0: Device added; 1: Device removed; 2: Device enabled. |
1975
499
 
500
+ ## onAudioDeviceCaptureVolumeChanged
1976
501
 
1977
- ## onScreenCaptureStarted
502
+ #### Current system mic capture volume has changed
1978
503
 
504
+ On desktop operating systems like Mac or Windows, users can find the sound settings panel in the settings center and set the microphone's capture volume level.
1979
505
 
506
+ The larger the microphone capture volume set by the user, the larger the original volume of the sound captured by the microphone will be; conversely, the smaller it will be.
1980
507
 
1981
- #### Event callback for starting screen sharing
508
+ On some models of keyboards and laptops, users can also mute the microphone by pressing the `Disable Microphone` button (the icon is a `Microphone` with a slash representing disable).
1982
509
 
1983
- When you start screen sharing through [startScreenCapture](https://write.woa.com/document/87030026264555520) or related interfaces, the SDK will trigger this event callback.
510
+ When the user sets the microphone capture volume of the operating system through the system settings interface or shortcut keys on the keyboard, the SDK will trigger this event.
511
+ | Parameters | Description |
512
+ | --- | --- |
513
+ | muted | Is the microphone disabled by the user: true for disabled, false for enabled. |
514
+ | volume | System capture volume, range 0 - 100, can be adjusted by dragging on the sound settings panel of the system. |
1984
515
 
1985
- ## onScreenCapturePaused
516
+ > **Note**
517
+ >
1986
518
 
519
+ > You need to call the enableAudioVolumeEvaluation interface and set the interval greater than 0 to enable this event callback, set the interval to 0 to disable this event callback.
520
+ >
1987
521
 
522
+ ## onAudioDevicePlayoutVolumeChanged
1988
523
 
1989
- #### Event callback for pausing screen sharing
524
+ #### Current system playback volume has changed
1990
525
 
1991
- When you pause screen sharing through [pauseScreenCapture](https://write.woa.com/document/87030026264555520), the SDK will trigger this event callback.
1992
- <table>
1993
- <tr>
1994
- <td rowspan="1" colSpan="1" >Parameters</td>
526
+ On desktop operating systems like Mac or Windows, users can find the sound settings panel in the settings center and set the system playback volume.
1995
527
 
1996
- <td rowspan="1" colSpan="1" >Description</td>
1997
- </tr>
528
+ On some models of keyboards and laptops, users can also mute the system by pressing the "Mute" button (the icon is a speaker with a slash representing disable).
1998
529
 
1999
- <tr>
2000
- <td rowspan="1" colSpan="1" >reason</td>
530
+ When the user sets the system playback volume through the system settings interface or shortcut keys on the keyboard, the SDK will trigger this event.
531
+ | Parameters | Description |
532
+ | --- | --- |
533
+ | muted | Is the system muted by the user: true for muted, false for restored. |
534
+ | volume | System playback volume, range 0 - 100. Users can adjust it by dragging on the system's sound settings panel. |
2001
535
 
2002
- <td rowspan="1" colSpan="1" >Reason.<br>- 0: User-initiated pause.<br>- 1: Note that the meaning of this field slightly differs on MAC and Windows platforms. Screen window not visible pause (Mac). Pause due to setting screen sharing parameters (Windows).<br>- 2: Pause due to screen sharing window being minimized (Windows only).<br>- 3: Pause due to screen sharing window being hidden (Windows only).</td>
2003
- </tr>
2004
- </table>
536
+ > **Note**
537
+ >
2005
538
 
539
+ > You need to call the enableAudioVolumeEvaluation interface and set the interval greater than 0 to enable this event callback, set the interval to 0 to disable this event callback.
540
+ >
2006
541
 
2007
- ## onScreenCaptureResumed
542
+ ## onSystemAudioLoopbackError
2008
543
 
544
+ #### Event callback for successfully turning on system sound acquisition (applicable only to desktop systems)
2009
545
 
546
+ On macOS, you can call startSystemAudioLoopback to install an audio driver on the current system, allowing the SDK to capture the sound played by the macOS system.
2010
547
 
2011
- #### Event callback for resuming screen sharing
548
+ On Windows, you can call startSystemAudioLoopback to let the SDK capture the sound played by the Windows system.
2012
549
 
2013
- When you resume screen sharing through [resumeScreenCapture](https://write.woa.com/document/87030026264555520), the SDK will trigger this event callback.
2014
- <table>
2015
- <tr>
2016
- <td rowspan="1" colSpan="1" >Parameters</td>
550
+ When used for film teaching or music live streaming, the teacher can use this feature to allow the SDK to capture the sound played in the movie, so that students in the same room can hear the movie's sound.
2017
551
 
2018
- <td rowspan="1" colSpan="1" >Description</td>
2019
- </tr>
552
+ The SDK will throw an event callback with the result of whether the system sound capture was successfully enabled, and you need to pay attention to the error code in the parameters.
553
+ | Parameters | Description |
554
+ | --- | --- |
555
+ | err | ERR_NULL indicates success, any other value indicates failure. |
2020
556
 
2021
- <tr>
2022
- <td rowspan="1" colSpan="1" >reason</td>
557
+ ## onTestMicVolume
2023
558
 
2024
- <td rowspan="1" colSpan="1" >Reason for recovery.<br>- 0: User-initiated recovery.<br>- 1: Note that the meaning of this field slightly differs between MAC and Windows platforms. For MAC, the screen window becomes visible again to resume sharing. For Windows, the screen sharing parameters are automatically restored after configuration.<br>- 2: Indicates that the screen sharing window is restored from being minimized (Windows only).<br>- 3: Indicates that the screen sharing window is restored from being hidden (Windows only).</td>
2025
- </tr>
2026
- </table>
559
+ #### Volume callback while testing the microphone
2027
560
 
561
+ When you call startMicDeviceTest to test if the microphone is working properly, the SDK will continuously throw this callback. The parameter volume represents the volume level currently captured by the microphone.
2028
562
 
2029
- ## onScreenCaptureStoped
563
+ If there are fluctuations in volume during the test, it indicates that the microphone is in good condition; if the volume value remains at 0, it indicates that the microphone is abnormal and the user should be prompted to replace it.
564
+ | Parameters | Description |
565
+ | --- | --- |
566
+ | volume | The volume value captured by the microphone, range 0 - 100. |
2030
567
 
568
+ ## onTestSpeakerVolume
2031
569
 
570
+ #### Volume callback while testing the speaker
2032
571
 
2033
- #### Event callback for stopping screen sharing
572
+ When you call startSpeakerDeviceTest to test if the speaker is working properly, the SDK will continuously throw this callback.
2034
573
 
2035
- When you stop screen sharing by calling [stopScreenCapture](https://write.woa.com/document/87030026264555520), the SDK will trigger this event callback.
2036
- <table>
2037
- <tr>
2038
- <td rowspan="1" colSpan="1" >Parameters</td>
574
+ The parameter volume represents the volume level of the sound the SDK submits to the system speaker for playback. If this value continues to change but the user reports hearing no sound, it indicates a problem with the speaker.
575
+ | Parameters | Description |
576
+ | --- | --- |
577
+ | volume | The volume of the sound the SDK submits to the speaker for playback, range 0 - 100. |
2039
578
 
2040
- <td rowspan="1" colSpan="1" >Description</td>
2041
- </tr>
579
+ ## onRecvCustomCmdMsg
2042
580
 
2043
- <tr>
2044
- <td rowspan="1" colSpan="1" >reason</td>
581
+ #### Receipt of a custom Definition message
2045
582
 
2046
- <td rowspan="1" colSpan="1" >Stop Reason, 0: User proactively stopped; 1: Screen window closed causing stop; 2: Indicates a change in the display screen status for screen sharing (e.g., interface unplugged, change in projection mode, etc.).</td>
2047
- </tr>
2048
- </table>
583
+ When a user in a room uses sendCustomCmdMsg to send a Definition UDP Message, other users in the room can receive the message through the onRecvCustomCmdMsg event callback.
584
+ | Parameters | Description |
585
+ | --- | --- |
586
+ | cmdID | Command ID. |
587
+ | message | Message Data. |
588
+ | seq | Message serial number. |
589
+ | userId | User identifier. |
2049
590
 
591
+ ## onMissCustomCmdMsg
2050
592
 
2051
- ## onScreenCaptureCovered
593
+ #### Event callback for lost custom Definition messages
2052
594
 
595
+ When you use sendCustomCmdMsg to send a Definition UDP message, even if reliable transmission is set, it cannot guarantee 100% message delivery, but the probability of message loss is very low and meets conventional reliability requirements.
2053
596
 
597
+ After setting reliable transmission on the sender side, the SDK will notify the number of lost Definition messages during the past time period (usually 5 seconds) through this callback.
598
+ | Parameters | Description |
599
+ | --- | --- |
600
+ | cmdID | Command ID. |
601
+ | errCode | Error code. |
602
+ | missed | Number of lost messages. |
603
+ | userId | User identifier. |
2054
604
 
2055
- #### Event callback for when the target window of screen sharing is blocked (only applicable for Windows operating system)
605
+ > **Note**
606
+ >
2056
607
 
2057
- When the target window for screen sharing is occluded and cannot be captured normally, the SDK will throw this event callback. Upon receiving this event callback, you can prompt the user to move the occluding window through some UI changes.
608
+ > Only if reliable transmission is set on the sender side can the receiver receive the message loss callback.
609
+ >
2058
610
 
2059
- ## onLocalRecordBegin
611
+ ## onRecvSEIMsg
2060
612
 
613
+ #### Callback for receiving SEI message
2061
614
 
615
+ When a user in the room sends an SEI message through the video frame using sendSEIMsg, other users in the room can receive the message via the onRecvSEIMsg event callback.
616
+ | Parameters | Description |
617
+ | --- | --- |
618
+ | message | Data. |
619
+ | userId | User identifier. |
2062
620
 
2063
- #### Event callback for the local recording task that has started
621
+ ## onStartPublishing
2064
622
 
2065
- When you start a local media recording task by calling [startLocalRecording](https://write.woa.com/document/87030026264555520), the SDK will trigger this event callback to notify you whether the recording task has successfully started.
2066
- <table>
2067
- <tr>
2068
- <td rowspan="1" colSpan="1" >Parameters</td>
623
+ #### Event callback for starting to publish audio and video streams to Tencent CSS CDN
2069
624
 
2070
- <td rowspan="1" colSpan="1" >Description</td>
2071
- </tr>
625
+ When you call startPublishing to start publishing audio and video streams to the Tencent CSS CDN, the SDK will immediately synchronize this command to the cloud server.
2072
626
 
2073
- <tr>
2074
- <td rowspan="1" colSpan="1" >errCode</td>
627
+ The SDK will then receive the processing results from the cloud server and notify you of the execution results of the command through this event callback.
628
+ | Parameters | Description |
629
+ | --- | --- |
630
+ | err | 0 indicates success, other values indicate failure. |
631
+ | errMsg | Specific error reasons. |
2075
632
 
2076
- <td rowspan="1" colSpan="1" >Status Code.<br>- 0: Recording task started successfully.<br>- -1: Internal error caused the recording task to fail to start.<br>- -2: Incorrect file suffix name (e.g., unsupported recording format).<br>- -6: Recording has already started, needs to stop recording first.<br>- -7: Recording file already exists, needs to delete the file first.<br>- -8: No write permission in the recording directory, please check directory permissions.</td>
2077
- </tr>
633
+ ## onStopPublishing
2078
634
 
2079
- <tr>
2080
- <td rowspan="1" colSpan="1" >storagePath</td>
635
+ #### Event callback for stopping the publishing of audio and video streams to Tencent CSS CDN
2081
636
 
2082
- <td rowspan="1" colSpan="1" >CFS path for recording.</td>
2083
- </tr>
2084
- </table>
637
+ When you call stopPublishing to stop publishing audio and video streams to the Tencent CSS CDN, the SDK will immediately synchronize this command to the cloud server.
2085
638
 
639
+ The SDK will then receive the processing results from the cloud server and notify you of the execution results of the command through this event callback.
640
+ | Parameters | Description |
641
+ | --- | --- |
642
+ | err | 0 indicates success, other values indicate failure. |
643
+ | errMsg | Specific error reasons. |
2086
644
 
2087
- ## onLocalRecording
645
+ ## onStartPublishCDNStream
2088
646
 
647
+ #### Event callback for starting to publish audio and video streams to a non-Tencent Cloud CDN
2089
648
 
649
+ When you call startPublishCDNStream to start publishing audio and video streams to a non-Tencent CSS CDN, the SDK will immediately synchronize this command to the cloud server. The SDK will then receive the processing results from the cloud server and notify you of the execution results of the command through this event callback.
650
+ | Parameters | Description |
651
+ | --- | --- |
652
+ | err | 0 indicates success, other values indicate failure. |
653
+ | errMsg | Specific error reasons. |
2090
654
 
2091
- #### Progress event callback for an ongoing local recording task
655
+ > **Note**
656
+ >
2092
657
 
2093
- After you successfully start a local media recording task by calling [startLocalRecording](https://write.woa.com/document/87030026264555520), the SDK will periodically trigger this event callback.
658
+ > When you receive a successful event callback, it only indicates that your publishing command has been synchronized to the Tencent Cloud backend server, but if the target CDN provider's server does not accept the video stream, it may still result in a publishing failure.
659
+ >
2094
660
 
2095
- You can capture this event callback to know the health status of the recording task.
661
+ ## onStopPublishCDNStream
2096
662
 
2097
- You can set the interval for this event callback when you call [startLocalRecording](https://write.woa.com/document/87030026264555520).
2098
- <table>
2099
- <tr>
2100
- <td rowspan="1" colSpan="1" >Parameters</td>
663
+ #### Event callback for stopping the publishing of audio and video streams to a non-Tencent Cloud CDN
2101
664
 
2102
- <td rowspan="1" colSpan="1" >Description</td>
2103
- </tr>
665
+ When you call stopPublishCDNStream to stop publishing audio and video streams to a non-Tencent CSS CDN, the SDK will immediately synchronize this command to the cloud server. The SDK will then receive the processing results from the cloud server and notify you of the execution results of the command through this event callback.
666
+ | Parameters | Description |
667
+ | --- | --- |
668
+ | err | 0 indicates success, other values indicate failure. |
669
+ | errMsg | Specific error reasons. |
2104
670
 
2105
- <tr>
2106
- <td rowspan="1" colSpan="1" >duration</td>
671
+ ## onSetMixTranscodingConfig
2107
672
 
2108
- <td rowspan="1" colSpan="1" >The cumulative recorded duration in milliseconds.</td>
2109
- </tr>
673
+ #### Event callback for setting the layout and transcoding parameters of Cloud Mixed Streaming
2110
674
 
2111
- <tr>
2112
- <td rowspan="1" colSpan="1" >storagePath</td>
675
+ When you call setMixTranscodingConfig to adjust the layout and transcoding parameters of cloud mixed streaming, the SDK will immediately sync this adjustment command to the cloud server. The SDK will then receive the process results from the cloud server and notify you of the execution results through this event callback.
676
+ | Parameters | Description |
677
+ | --- | --- |
678
+ | err | Error code: 0 indicates success, other values indicate failure. |
679
+ | errMsg | Specific error reason. |
2113
680
 
2114
- <td rowspan="1" colSpan="1" >CFS path for recording.</td>
2115
- </tr>
2116
- </table>
681
+ ## onStartPublishMediaStream
2117
682
 
683
+ #### Event callback for starting to publish the media stream
2118
684
 
2119
- ## onLocalRecordFragment
685
+ When you call startPublishMediaStream to start publishing the media stream to TRTC backend services, the SDK will immediately sync this command to the cloud server. The SDK will then receive the process results from the cloud server and notify you of the execution results through this event callback.
686
+ | Parameters | Description |
687
+ | --- | --- |
688
+ | code | Callback result, 0 indicates success, other values indicate failure. |
689
+ | extraInfo | Expand information field, some error codes may carry additional information to help locate the problem. |
690
+ | message | Specific callback information. |
691
+ | taskId | When the request is successful, the TRTC backend will provide the taskId of this task in the callback. Subsequently, you can use this taskId in combination with updatePublishMediaStream and stopPublishMediaStream to update and stop. |
2120
692
 
693
+ ## onUpdatePublishMediaStream
2121
694
 
695
+ #### Event callback for updating the media stream
2122
696
 
2123
- #### Event callback for local recording shard
697
+ When you call the media stream publishing interface (updatePublishMediaStream) to start updating the media stream to the TRTC backend services, the SDK will immediately sync this command to the cloud server. The SDK will then receive the process results from the cloud server and notify you of the execution results through this event callback.
698
+ | Parameters | Description |
699
+ | --- | --- |
700
+ | code | Callback result, 0 indicates success, other values indicate failure. |
701
+ | extraInfo | Expand information field, some error codes may carry additional information to help locate the problem. |
702
+ | message | Specific callback information. |
703
+ | taskId | The taskId you provide when calling the media stream publishing interface (updatePublishMediaStream) will be brought back to you through this callback, to identify which update request this callback belongs to. |
2124
704
 
2125
- When you enable shard recording, each completed shard will trigger a callback through this interface.
2126
- <table>
2127
- <tr>
2128
- <td rowspan="1" colSpan="1" >Parameters</td>
705
+ ## onStopPublishMediaStream
2129
706
 
2130
- <td rowspan="1" colSpan="1" >Description</td>
2131
- </tr>
707
+ #### Event callback for stopping the media stream
2132
708
 
2133
- <tr>
2134
- <td rowspan="1" colSpan="1" >storagePath</td>
709
+ When you call stop publishing media stream (stopPublishMediaStream) to stop the media stream to TRTC backend service, the SDK will immediately synchronize this command to the cloud server. Subsequently, the SDK will receive the process results from the cloud server and notify you of the execution results of the command through this event callback.
710
+ | Parameters | Description |
711
+ | --- | --- |
712
+ | code | Callback result, 0 indicates success, other values indicate failure. |
713
+ | extraInfo | Expand information field, some error codes may carry additional information to help locate the problem. |
714
+ | message | Specific callback information. |
715
+ | taskId | The taskId you passed in when you called stop publishing media stream (stopPublishMediaStream) will be brought back to you through this callback, identifying which stop request this callback belongs to. |
2135
716
 
2136
- <td rowspan="1" colSpan="1" >Shard CFS path.</td>
2137
- </tr>
2138
- </table>
717
+ ## onCdnStreamStateChanged
2139
718
 
719
+ #### RTMP/RTMPS streaming status change callback
2140
720
 
2141
- ## onLocalRecordComplete
721
+ When you call startPublishMediaStream to start publishing media stream to TRTC backend service, the SDK will immediately synchronize this command to the cloud service.
2142
722
 
723
+ If you set the URL configuration for publishing audio and video streaming to Tencent or third-party CDN in the target stream configuration (TRTCPublishTarget), the specific RTMP or RTMPS streaming status will be synchronized to you through this callback.
724
+ | Parameters | Description |
725
+ | --- | --- |
726
+ | cdnUrl | The URL you passed in through the target stream configuration (TRTCPublishTarget) when you called startPublishMediaStream will be synchronized to you through this callback when the streaming status changes. |
727
+ | code | Stream Push Result, 0 means success, other values indicate an error. |
728
+ | extraInfo | Expand information field, some error codes may carry additional information to help locate the problem. |
729
+ | message | Specific Stream Push Information. |
730
+ | status | Streaming Status.<br>- 0: Streaming not started or already ended. This status is returned when you call stopPublishMediaStream.<br>- 1: Connecting to TRTC server and CDN server. If not immediately successful, TRTC backend service will retry multiple times and return this status (callback every 5s). If successful, it enters status 2; if server error occurs or streaming is not successful within 60 seconds, it enters status 4.<br>- 2: CDN streaming is in progress. This status is returned when streaming is successful.<br>- 3: TRTC server and CDN server streaming interruption, recovering. When CDN has an issue or streaming briefly interrupts, the TRTC backend service will automatically attempt to recover streaming and return this status (callback every 5 seconds). If streaming recovers successfully, it will transition to status 2; if server error occurs or recovery fails within 60 seconds, it will transition to status 4.<br>- 4: TRTC server and CDN server streaming interrupted, and recovery or connection timeout. At this point, streaming failed, you can call updatePublishMediaStream again to attempt streaming.<br>- 5: Disconnecting TRTC server and CDN server. When you call stopPublishMediaStream, the TRTC backend service will transition to status 5 and then status 0. |
2143
731
 
732
+ ## onScreenCaptureStarted
2144
733
 
2145
- #### Event callback for the local recording task that has ended
734
+ #### Event callback for starting screen sharing
2146
735
 
2147
- When you call [stopLocalRecording](https://write.woa.com/document/87030026264555520) to stop the local media recording task, the SDK will trigger this event callback to notify you of the final result of the recording task.
2148
- <table>
2149
- <tr>
2150
- <td rowspan="1" colSpan="1" >Parameters</td>
736
+ When you start screen sharing through startScreenCapture or related interfaces, the SDK will trigger this event callback.
2151
737
 
2152
- <td rowspan="1" colSpan="1" >Description</td>
2153
- </tr>
738
+ ## onScreenCapturePaused
2154
739
 
2155
- <tr>
2156
- <td rowspan="1" colSpan="1" >errCode</td>
740
+ #### Event callback for pausing screen sharing
2157
741
 
2158
- <td rowspan="1" colSpan="1" >Status Code.<br>- 0: Successfully ended the recording task.<br>- -1: Recording failed.<br>- -2: Changing resolution or switching between portrait and landscape mode caused the recording to end.<br>- -3: The recording duration is too short, or no video or audio data was captured. Please check the recording duration, or whether audio and video capture is enabled.</td>
2159
- </tr>
742
+ When you pause screen sharing through pauseScreenCapture, the SDK will trigger this event callback.
743
+ | Parameters | Description |
744
+ | --- | --- |
745
+ | reason | Reason.<br>- 0: User-initiated pause.<br>- 1: Note that the meaning of this field slightly differs on MAC and Windows platforms. Screen window not visible pause (Mac). Pause due to setting screen sharing parameters (Windows).<br>- 2: Pause due to screen sharing window being minimized (Windows only).<br>- 3: Pause due to screen sharing window being hidden (Windows only). |
2160
746
 
2161
- <tr>
2162
- <td rowspan="1" colSpan="1" >storagePath</td>
747
+ ## onScreenCaptureResumed
2163
748
 
2164
- <td rowspan="1" colSpan="1" >CFS path for recording.</td>
2165
- </tr>
2166
- </table>
749
+ #### Event callback for resuming screen sharing
2167
750
 
751
+ When you resume screen sharing through resumeScreenCapture, the SDK will trigger this event callback.
752
+ | Parameters | Description |
753
+ | --- | --- |
754
+ | reason | Reason for recovery.<br>- 0: User-initiated recovery.<br>- 1: Note that the meaning of this field slightly differs between MAC and Windows platforms. For MAC, the screen window becomes visible again to resume sharing. For Windows, the screen sharing parameters are automatically restored after configuration.<br>- 2: Indicates that the screen sharing window is restored from being minimized (Windows only).<br>- 3: Indicates that the screen sharing window is restored from being hidden (Windows only). |
2168
755
 
2169
- ## onSnapshotComplete
756
+ ## onScreenCaptureStoped
2170
757
 
758
+ #### Event callback for stopping screen sharing
2171
759
 
760
+ When you stop screen sharing by calling stopScreenCapture, the SDK will trigger this event callback.
761
+ | Parameters | Description |
762
+ | --- | --- |
763
+ | reason | Stop Reason, 0: User proactively stopped; 1: Screen window closed causing stop; 2: Indicates a change in the display screen status for screen sharing (e.g., interface unplugged, change in projection mode, etc.). |
2172
764
 
2173
- #### Event callback for local screenshot completion
2174
- <table>
2175
- <tr>
2176
- <td rowspan="1" colSpan="1" >Parameters</td>
765
+ ## onScreenCaptureCovered
2177
766
 
2178
- <td rowspan="1" colSpan="1" >Description</td>
2179
- </tr>
767
+ #### Event callback for when the target window of screen sharing is blocked (only applicable for Windows operating system)
2180
768
 
2181
- <tr>
2182
- <td rowspan="1" colSpan="1" >bmp</td>
769
+ When the target window for screen sharing is occluded and cannot be captured normally, the SDK will throw this event callback. Upon receiving this event callback, you can prompt the user to move the occluding window through some UI changes.
2183
770
 
2184
- <td rowspan="1" colSpan="1" >Screenshot result, if bmp is null it means the screenshot operation failed.</td>
2185
- </tr>
771
+ ## onLocalRecordBegin
2186
772
 
2187
- <tr>
2188
- <td rowspan="1" colSpan="1" >data</td>
773
+ #### Event callback for the local recording task that has started
2189
774
 
2190
- <td rowspan="1" colSpan="1" >Screenshot data, nullptr means the screenshot failed.</td>
2191
- </tr>
775
+ When you start a local media recording task by calling startLocalRecording, the SDK will trigger this event callback to notify you whether the recording task has successfully started.
776
+ | Parameters | Description |
777
+ | --- | --- |
778
+ | errCode | Status Code.<br>- 0: Recording task started successfully.<br>- -1: Internal error caused the recording task to fail to start.<br>- -2: Incorrect file suffix name (e.g., unsupported recording format).<br>- -6: Recording has already started, needs to stop recording first.<br>- -7: Recording file already exists, needs to delete the file first.<br>- -8: No write permission in the recording directory, please check directory permissions. |
779
+ | storagePath | CFS path for recording. |
2192
780
 
2193
- <tr>
2194
- <td rowspan="1" colSpan="1" >format</td>
781
+ ## onLocalRecording
2195
782
 
2196
- <td rowspan="1" colSpan="1" >Screenshot data format, currently only supports TRTCVideoPixelFormat_BGRA32.</td>
2197
- </tr>
783
+ #### Progress event callback for an ongoing local recording task
2198
784
 
2199
- <tr>
2200
- <td rowspan="1" colSpan="1" >height</td>
785
+ After you successfully start a local media recording task by calling startLocalRecording, the SDK will periodically trigger this event callback.
2201
786
 
2202
- <td rowspan="1" colSpan="1" >Height of the screenshot.</td>
2203
- </tr>
787
+ You can capture this event callback to know the health status of the recording task.
2204
788
 
2205
- <tr>
2206
- <td rowspan="1" colSpan="1" >length</td>
789
+ You can set the interval for this event callback when you call startLocalRecording.
790
+ | Parameters | Description |
791
+ | --- | --- |
792
+ | duration | The cumulative recorded duration in milliseconds. |
793
+ | storagePath | CFS path for recording. |
2207
794
 
2208
- <td rowspan="1" colSpan="1" >Length of the screenshot data, for BGRA32, length = width * height * 4.</td>
2209
- </tr>
795
+ ## onLocalRecordFragment
2210
796
 
2211
- <tr>
2212
- <td rowspan="1" colSpan="1" >type</td>
797
+ #### Event callback for local recording shard
2213
798
 
2214
- <td rowspan="1" colSpan="1" >Video stream type.</td>
2215
- </tr>
799
+ When you enable shard recording, each completed shard will trigger a callback through this interface.
800
+ | Parameters | Description |
801
+ | --- | --- |
802
+ | storagePath | Shard CFS path. |
2216
803
 
2217
- <tr>
2218
- <td rowspan="1" colSpan="1" >userId</td>
804
+ ## onLocalRecordComplete
2219
805
 
2220
- <td rowspan="1" colSpan="1" >User Identifier, if userId is an empty string, it means the local screen was captured.</td>
2221
- </tr>
806
+ #### Event callback for the local recording task that has ended
2222
807
 
2223
- <tr>
2224
- <td rowspan="1" colSpan="1" >width</td>
808
+ When you call stopLocalRecording to stop the local media recording task, the SDK will trigger this event callback to notify you of the final result of the recording task.
809
+ | Parameters | Description |
810
+ | --- | --- |
811
+ | errCode | Status Code.<br>- 0: Successfully ended the recording task.<br>- -1: Recording failed.<br>- -2: Changing resolution or switching between portrait and landscape mode caused the recording to end.<br>- -3: The recording duration is too short, or no video or audio data was captured. Please check the recording duration, or whether audio and video capture is enabled. |
812
+ | storagePath | CFS path for recording. |
2225
813
 
2226
- <td rowspan="1" colSpan="1" >Width of the screenshot.</td>
2227
- </tr>
2228
- </table>
814
+ ## onSnapshotComplete
2229
815
 
816
+ #### Event callback for local screenshot completion
817
+ | Parameters | Description |
818
+ | --- | --- |
819
+ | bmp | Screenshot result, if bmp is null it means the screenshot operation failed. |
820
+ | data | Screenshot data, nullptr means the screenshot failed. |
821
+ | format | Screenshot data format, currently only supports TRTCVideoPixelFormat_BGRA32. |
822
+ | height | Height of the screenshot. |
823
+ | length | Length of the screenshot data, for BGRA32, length = width * height * 4. |
824
+ | type | Video stream type. |
825
+ | userId | User Identifier, if userId is an empty string, it means the local screen was captured. |
826
+ | width | Width of the screenshot. |
2230
827
 
2231
828
  > **Note**
2232
- >
829
+ >
2233
830
 
2234
831
  > The parameters for the C++ interface and the Java interface across all platforms are different. The C++ interface uses 7 parameters to describe a screenshot, while the Java interface uses only one Bitmap to describe a screenshot.
2235
- >
2236
-
832
+ >
2237
833
 
2238
834
  ## onUserEnter
2239
835
 
2240
-
2241
-
2242
836
  #### A host has joined the current room (deprecated)
2243
837
 
2244
- @deprecated Starting from the new version, it is recommended to use [onRemoteUserEnterRoom](https://write.woa.com/document/87030021158866944) instead.
838
+ @deprecated Starting from the new version, it is recommended to use onRemoteUserEnterRoom instead.
2245
839
 
2246
840
  ## onUserExit
2247
841
 
2248
-
2249
-
2250
842
  #### A host has left the current room (deprecated)
2251
843
 
2252
- @deprecated Starting from the new version, it is recommended to use [onRemoteUserLeaveRoom](https://write.woa.com/document/87030021158866944) instead.
844
+ @deprecated Starting from the new version, it is recommended to use onRemoteUserLeaveRoom instead.
2253
845
 
2254
846
  ## onAudioEffectFinished
2255
847
 
2256
-
2257
-
2258
848
  #### Sound effect playback has ended (deprecated)
2259
849
 
2260
- @deprecated Starting from the new version, it is recommended to use the [ITXAudioEffectManager](https://write.woa.com/document/87030074293530624) interface instead.
850
+ @deprecated Starting from the new version, it is recommended to use the ITXAudioEffectManager interface instead.
2261
851
 
2262
- In the new interface, background music and sound effects are no longer distinguished and are unified with [startPlayMusic](https://write.woa.com/document/87030074293530624) instead.
852
+ In the new interface, background music and sound effects are no longer distinguished and are unified with startPlayMusic instead.
2263
853
 
2264
854
  ## onPlayBGMBegin
2265
855
 
2266
-
2267
-
2268
856
  #### Start playing background music (deprecated)
2269
857
 
2270
- @deprecated Starting from the new version, it is recommended to use the [ITXMusicPlayObserver](https://write.woa.com/document/87030074293530624) interface instead.
858
+ @deprecated Starting from the new version, it is recommended to use the ITXMusicPlayObserver interface instead.
2271
859
 
2272
- In the new interface, background music and sound effects are no longer distinguished and are unified with [startPlayMusic](https://write.woa.com/document/87030074293530624) instead.
860
+ In the new interface, background music and sound effects are no longer distinguished and are unified with startPlayMusic instead.
2273
861
 
2274
862
  ## onPlayBGMProgress
2275
863
 
2276
-
2277
-
2278
864
  #### Playback progress callback for background music (deprecated)
2279
865
 
2280
- @deprecated Starting from the new version, it is recommended to use the [ITXMusicPlayObserver](https://write.woa.com/document/87030074293530624) interface instead.
866
+ @deprecated Starting from the new version, it is recommended to use the ITXMusicPlayObserver interface instead.
2281
867
 
2282
- In the new interface, background music and sound effects are no longer distinguished and are unified with [startPlayMusic](https://write.woa.com/document/87030074293530624) instead.
868
+ In the new interface, background music and sound effects are no longer distinguished and are unified with startPlayMusic instead.
2283
869
 
2284
870
  ## onPlayBGMComplete
2285
871
 
2286
-
2287
-
2288
872
  #### Background music playback has ended (deprecated)
2289
873
 
2290
- @deprecated Starting from the new version, it is recommended to use the [ITXMusicPlayObserver](https://write.woa.com/document/87030074293530624) interface instead.
874
+ @deprecated Starting from the new version, it is recommended to use the ITXMusicPlayObserver interface instead.
2291
875
 
2292
- In the new interface, background music and sound effects are no longer distinguished and are unified with [startPlayMusic](https://write.woa.com/document/87030074293530624) instead.
876
+ In the new interface, background music and sound effects are no longer distinguished and are unified with startPlayMusic instead.
2293
877
 
2294
878
  ## onSpeedTest
2295
879
 
2296
-
2297
-
2298
880
  #### Callback for server speed test results (deprecated)
2299
881
 
2300
- @deprecated Starting from the new version, it is recommended to use the [onSpeedTestResult](https://write.woa.com/document/87030021158866944) interface instead.
882
+ @deprecated Starting from the new version, it is recommended to use the onSpeedTestResult interface instead.
2301
883
 
2302
884
  ## onRenderVideoFrame
2303
885
 
2304
-
2305
-
2306
886
  #### Self-definition video rendering callback
2307
887
 
2308
888
  When you set a local or remote self-definition video rendering callback, the SDK will deliver the video frames, originally intended for the rendering controls, to you through this callback interface for self-definition rendering.
2309
- <table>
2310
- <tr>
2311
- <td rowspan="1" colSpan="1" >Parameters</td>
2312
-
2313
- <td rowspan="1" colSpan="1" >Description</td>
2314
- </tr>
2315
-
2316
- <tr>
2317
- <td rowspan="1" colSpan="1" >frame</td>
2318
-
2319
- <td rowspan="1" colSpan="1" >Information on video frames to be rendered.</td>
2320
- </tr>
2321
-
2322
- <tr>
2323
- <td rowspan="1" colSpan="1" >streamType</td>
2324
-
2325
- <td rowspan="1" colSpan="1" >Frequency stream type: Main (generally used for carrying camera footage) and Sub (generally used for carrying screen sharing footage).</td>
2326
- </tr>
2327
-
2328
- <tr>
2329
- <td rowspan="1" colSpan="1" >userId</td>
2330
-
2331
- <td rowspan="1" colSpan="1" >UserId of the video source. If it's a local video callback (setLocalVideoRenderDelegate), this parameter can be ignored.</td>
2332
- </tr>
2333
- </table>
2334
-
889
+ | Parameters | Description |
890
+ | --- | --- |
891
+ | frame | Information on video frames to be rendered. |
892
+ | streamType | Frequency stream type: Main (generally used for carrying camera footage) and Sub (generally used for carrying screen sharing footage). |
893
+ | userId | UserId of the video source. If it's a local video callback (setLocalVideoRenderDelegate), this parameter can be ignored. |
2335
894
 
2336
895
  ## onGLContextCreated
2337
896
 
2338
-
2339
-
2340
897
  #### Notification that the SDK's internal OpenGL environment has been created
2341
898
 
2342
899
  ## onProcessVideoFrame
2343
900
 
2344
-
2345
-
2346
901
  #### Video processing callback for integrating third-party beauty components
2347
902
 
2348
903
  If you have purchased a third-party beauty filter component, you need to set the third-party beauty filter callback in TRTCCloud. TRTC will then deliver the video frames that need preprocessing through this callback interface.
2349
904
 
2350
905
  You can then hand over the video frames from TRTC to the third-party beauty filter component for image processing. Since the data is readable and writable, the results from the third-party beauty filter can be synchronized back to TRTC for subsequent encoding and transmission.
2351
906
 
2352
-
2353
-
2354
907
  Scenario 1: The beauty filter component generates a new texture on its own.
2355
908
 
2356
909
  If the beauty filter component you are using generates a new texture (to carry the processed image) during the image processing, please set dstFrame.textureId to the new texture ID in the callback function:
@@ -2370,44 +923,23 @@ int onProcessVideoFrame(TRTCVideoFrame *srcFrame, TRTCVideoFrame *dstFrame) {
2370
923
  return 0;
2371
924
  }
2372
925
  ```
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" >dstFrame</td>
2382
-
2383
- <td rowspan="1" colSpan="1" >Used to receive video frames processed by the third-party beauty filter.</td>
2384
- </tr>
2385
-
2386
- <tr>
2387
- <td rowspan="1" colSpan="1" >srcFrame</td>
2388
-
2389
- <td rowspan="1" colSpan="1" >Used to carry camera footage collected by TRTC.</td>
2390
- </tr>
2391
- </table>
2392
-
926
+ | Parameters | Description |
927
+ | --- | --- |
928
+ | dstFrame | Used to receive video frames processed by the third-party beauty filter. |
929
+ | srcFrame | Used to carry camera footage collected by TRTC. |
2393
930
 
2394
931
  > **Note**
2395
- >
932
+ >
2396
933
 
2397
934
  > Currently supports only OpenGL texture schemes (PC supports only TRTCVideoBufferType_Buffer format).
2398
- >
2399
-
935
+ >
2400
936
 
2401
937
  ## onGLContextDestroy
2402
938
 
2403
-
2404
-
2405
939
  #### Notification that the SDK's internal OpenGL environment has been destroyed
2406
940
 
2407
941
  ## onCapturedAudioFrame
2408
942
 
2409
-
2410
-
2411
943
  #### Local audio data callback after preprocessing by the audio module
2412
944
 
2413
945
  After you set the audio data self-definition callback, the SDK will deliver the freshly collected and preprocessed (ANS, AEC, AGC) data to you in PCM format through this interface callback.
@@ -2417,38 +949,24 @@ After you set the audio data self-definition callback, the SDK will deliver the
2417
949
 
2418
950
  - For example, with TRTC's default audio recording format of 48000 sampling rate, mono channel, and 16-bit sampling point width, the byte frame length is ` 48000 × 0.02s × 1 × 16bit = 15360bit = 1920 bytes `.
2419
951
 
2420
- <table>
2421
- <tr>
2422
- <td rowspan="1" colSpan="1" >Parameters</td>
2423
-
2424
- <td rowspan="1" colSpan="1" >Description</td>
2425
- </tr>
2426
-
2427
- <tr>
2428
- <td rowspan="1" colSpan="1" >frame</td>
2429
-
2430
- <td rowspan="1" colSpan="1" >Audio data frame in PCM format.</td>
2431
- </tr>
2432
- </table>
2433
-
952
+ | Parameters | Description |
953
+ | --- | --- |
954
+ | frame | Audio data frame in PCM format. |
2434
955
 
2435
956
  > **Note**
2436
- >
957
+ >
2437
958
 
2438
959
  > 1. Please avoid any time-consuming operations in this callback function, as the SDK processes one frame of audio data every 20ms. If your processing time exceeds 20ms, it will cause sound anomalies.
2439
- >
960
+ >
2440
961
 
2441
962
  > 2. The audio data from this interface callback is read-write, meaning you can modify the audio data synchronously within the callback function, but ensure that the processing time is efficient.
2442
- >
963
+ >
2443
964
 
2444
965
  > 3. The audio data callback from this interface has undergone preprocessing (ANS, AEC, AGC) but does ** not include ** background music, sound effects, reverb, etc., with low latency.
2445
- >
2446
-
966
+ >
2447
967
 
2448
968
  ## onLocalProcessedAudioFrame
2449
969
 
2450
-
2451
-
2452
970
  #### Local audio data callback after preprocessing, sound-effect processing, and mixing BGM by the audio module
2453
971
 
2454
972
  After you set the audio data self-definition callback, the SDK will deliver the freshly collected and preprocessed audio data, processed with sound effects and mixed BGM, in PCM format through this interface callback before final network encoding.
@@ -2458,48 +976,29 @@ After you set the audio data self-definition callback, the SDK will deliver the
2458
976
 
2459
977
  - Taking TRTC's default audio recording format as an example: 48000 sampling rate, mono, 16 sampling point width, the byte frame length is ` 48000 × 0.02s × 1 × 16bit = 15360bit = 1920 bytes `.
2460
978
 
2461
-
2462
-
2463
-
2464
979
  Special note:
2465
980
 
2466
981
  You can achieve the signaling transmission purpose by setting the ` TRTCAudioFrame.extraData ` field in the interface. Since the data block at the head of the audio frame cannot be too large, it is recommended that when you write ` extraData `, try to control the signaling to be within a few bytes. If it exceeds 100 bytes, the written data will not be sent.
2467
982
 
2468
-
2469
-
2470
- Other users in the room can receive data through the callback field [ITRTCAudioFrameCallback](https://write.woa.com/document/87030021158866944) in `onRemoteUserAudioFrame` from `TRTCAudioFrame.extraData`.
2471
- <table>
2472
- <tr>
2473
- <td rowspan="1" colSpan="1" >Parameters</td>
2474
-
2475
- <td rowspan="1" colSpan="1" >Description</td>
2476
- </tr>
2477
-
2478
- <tr>
2479
- <td rowspan="1" colSpan="1" >frame</td>
2480
-
2481
- <td rowspan="1" colSpan="1" >Audio data frame in PCM format.</td>
2482
- </tr>
2483
- </table>
2484
-
983
+ Other users in the room can receive data through the callback field ITRTCAudioFrameCallback in `onRemoteUserAudioFrame` from `TRTCAudioFrame.extraData`.
984
+ | Parameters | Description |
985
+ | --- | --- |
986
+ | frame | Audio data frame in PCM format. |
2485
987
 
2486
988
  > **Note**
2487
- >
989
+ >
2488
990
 
2489
991
  > 1. Please avoid any time-consuming operations in this callback function, as the SDK processes one frame of audio data every 20ms. If your processing time exceeds 20ms, it will cause sound anomalies.
2490
- >
992
+ >
2491
993
 
2492
994
  > 2. The audio data from this interface callback is read-write, meaning you can modify the audio data synchronously within the callback function, but ensure that the processing time is efficient.
2493
- >
2494
-
2495
- > 3. The data from this callback interface has undergone preprocessing (ANS, AEC, AGC), sound effects and mixed BGM processing, resulting in higher sound delay compared to [ onCapturedAudioFrame ](https://write.woa.com/document/87030021158866944).
2496
- >
995
+ >
2497
996
 
997
+ > 3. The data from this callback interface has undergone preprocessing (ANS, AEC, AGC), sound effects and mixed BGM processing, resulting in higher sound delay compared to onCapturedAudioFrame .
998
+ >
2498
999
 
2499
1000
  ## onPlayAudioFrame
2500
1001
 
2501
-
2502
-
2503
1002
  #### Audio data of each remote user before mixing
2504
1003
 
2505
1004
  After you set the audio data self-definition callback, the SDK will deliver the raw data of each remote source to you in PCM format through this interface callback before final mixing.
@@ -2509,38 +1008,19 @@ After you set the audio data self-definition callback, the SDK will deliver the
2509
1008
 
2510
1009
  - Taking TRTC's default audio recording format as an example: 48000 sampling rate, mono, 16 sampling point width, the byte frame length is ` 48000 × 0.02s × 1 × 16bit = 15360bit = 1920 bytes `.
2511
1010
 
2512
- <table>
2513
- <tr>
2514
- <td rowspan="1" colSpan="1" >Parameters</td>
2515
-
2516
- <td rowspan="1" colSpan="1" >Description</td>
2517
- </tr>
2518
-
2519
- <tr>
2520
- <td rowspan="1" colSpan="1" >frame</td>
2521
-
2522
- <td rowspan="1" colSpan="1" >Audio data frame in PCM format.</td>
2523
- </tr>
2524
-
2525
- <tr>
2526
- <td rowspan="1" colSpan="1" >userId</td>
2527
-
2528
- <td rowspan="1" colSpan="1" >User identifier.</td>
2529
- </tr>
2530
- </table>
2531
-
1011
+ | Parameters | Description |
1012
+ | --- | --- |
1013
+ | frame | Audio data frame in PCM format. |
1014
+ | userId | User identifier. |
2532
1015
 
2533
1016
  > **Note**
2534
- >
1017
+ >
2535
1018
 
2536
1019
  > The audio data from this callback interface is read-only and cannot be modified.
2537
- >
2538
-
1020
+ >
2539
1021
 
2540
1022
  ## onMixedPlayAudioFrame
2541
1023
 
2542
-
2543
-
2544
1024
  #### Callback of mixed audio data before final submission to the system for playback
2545
1025
 
2546
1026
  After you set the audio data self-definition callback, the SDK will deliver the mixed audio data of each audio track to you in PCM format through this interface callback before submitting it for system playback.
@@ -2550,38 +1030,24 @@ After you set the audio data self-definition callback, the SDK will deliver the
2550
1030
 
2551
1031
  - For example, with TRTC's default audio recording format of 48000 sampling rate, mono channel, and 16-bit sampling point width, the byte frame length is ` 48000 × 0.02s × 1 × 16bit = 15360bit = 1920 bytes `.
2552
1032
 
2553
- <table>
2554
- <tr>
2555
- <td rowspan="1" colSpan="1" >Parameters</td>
2556
-
2557
- <td rowspan="1" colSpan="1" >Description</td>
2558
- </tr>
2559
-
2560
- <tr>
2561
- <td rowspan="1" colSpan="1" >frame</td>
2562
-
2563
- <td rowspan="1" colSpan="1" >Audio data frame in PCM format.</td>
2564
- </tr>
2565
- </table>
2566
-
1033
+ | Parameters | Description |
1034
+ | --- | --- |
1035
+ | frame | Audio data frame in PCM format. |
2567
1036
 
2568
1037
  > **Note**
2569
- >
1038
+ >
2570
1039
 
2571
1040
  > 1. Please avoid any time-consuming operations in this callback function, as the SDK processes one frame of audio data every 20ms. If your processing time exceeds 20ms, it will cause sound anomalies.
2572
- >
1041
+ >
2573
1042
 
2574
1043
  > 2. The audio data from this interface callback is read-write, meaning you can modify the audio data synchronously within the callback function, but ensure that the processing time is efficient.
2575
- >
1044
+ >
2576
1045
 
2577
1046
  > 3. This interface callback delivers the mixed data of each audio track to be played, but it does not include ear return audio data.
2578
- >
2579
-
1047
+ >
2580
1048
 
2581
1049
  ## onMixedAllAudioFrame
2582
1050
 
2583
-
2584
-
2585
1051
  #### Audio data mixed by the SDK (including collected and to-be-played audio)
2586
1052
 
2587
1053
  After you set the audio data self-definition callback, the SDK will mix all the collected and to-be-played audio data and deliver it to you in PCM format through this interface callback for your self-definition recording.
@@ -2591,60 +1057,26 @@ After you set the audio data self-definition callback, the SDK will mix all the
2591
1057
 
2592
1058
  - For example, with TRTC's default audio recording format of 48000 sampling rate, mono channel, and 16-bit sampling point width, the byte frame length is ` 48000 × 0.02s × 1 × 16bit = 15360bit = 1920 bytes `.
2593
1059
 
2594
- <table>
2595
- <tr>
2596
- <td rowspan="1" colSpan="1" >Parameters</td>
2597
-
2598
- <td rowspan="1" colSpan="1" >Description</td>
2599
- </tr>
2600
-
2601
- <tr>
2602
- <td rowspan="1" colSpan="1" >frame</td>
2603
-
2604
- <td rowspan="1" colSpan="1" >Audio data frame in PCM format.</td>
2605
- </tr>
2606
- </table>
2607
-
1060
+ | Parameters | Description |
1061
+ | --- | --- |
1062
+ | frame | Audio data frame in PCM format. |
2608
1063
 
2609
1064
  > **Note**
2610
- >
1065
+ >
2611
1066
 
2612
1067
  > 1. This interface callback delivers the mixed data of all audio data from the SDK, including: local audio after 3A preprocessing, special effects overlay, and background music mixing; all remote audio; but not including ear return audio.
2613
- >
1068
+ >
2614
1069
 
2615
1070
  > 2. The audio data from this interface callback does not support modification.
2616
- >
2617
-
1071
+ >
2618
1072
 
2619
1073
  ## onLog
2620
1074
 
2621
-
2622
-
2623
1075
  #### Local LOG printing callback
2624
1076
 
2625
1077
  If you wish to capture the SDK's local log printing behavior, you can set a log callback, allowing the SDK to send all logs to you through this callback interface.
2626
- <table>
2627
- <tr>
2628
- <td rowspan="1" colSpan="1" >Parameters</td>
2629
-
2630
- <td rowspan="1" colSpan="1" >Description</td>
2631
- </tr>
2632
-
2633
- <tr>
2634
- <td rowspan="1" colSpan="1" >level</td>
2635
-
2636
- <td rowspan="1" colSpan="1" >For log levels, please refer to TRTC_LOG_LEVEL.</td>
2637
- </tr>
2638
-
2639
- <tr>
2640
- <td rowspan="1" colSpan="1" >log</td>
2641
-
2642
- <td rowspan="1" colSpan="1" >Log content.</td>
2643
- </tr>
2644
-
2645
- <tr>
2646
- <td rowspan="1" colSpan="1" >module</td>
2647
-
2648
- <td rowspan="1" colSpan="1" >Reserved field; currently has no specific meaning and is fixed at TXLiteAVSDK.</td>
2649
- </tr>
2650
- </table>
1078
+ | Parameters | Description |
1079
+ | --- | --- |
1080
+ | level | For log levels, please refer to TRTC_LOG_LEVEL. |
1081
+ | log | Log content. |
1082
+ | module | Reserved field; currently has no specific meaning and is fixed at TXLiteAVSDK. |