@tencent-rtc/mcp 1.4.7 → 1.6.0-beta.1

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 (552) hide show
  1. package/cursor-setting.png +0 -0
  2. package/knowledge/bm25-cache.js +74 -0
  3. package/knowledge/bm25-cache.js.map +1 -0
  4. package/knowledge/bm25.js +148 -0
  5. package/knowledge/bm25.js.map +1 -0
  6. package/knowledge/build-index.js +70 -0
  7. package/knowledge/build-index.js.map +1 -0
  8. package/knowledge/chunker.js +168 -0
  9. package/knowledge/chunker.js.map +1 -0
  10. package/knowledge/content-loader.js +40 -0
  11. package/knowledge/content-loader.js.map +1 -0
  12. package/knowledge/doc-url-resolver.js +143 -0
  13. package/knowledge/doc-url-resolver.js.map +1 -0
  14. package/knowledge/extractors.js +26 -0
  15. package/knowledge/extractors.js.map +1 -0
  16. package/knowledge/path-meta.js +185 -0
  17. package/knowledge/path-meta.js.map +1 -0
  18. package/knowledge/search/exact-lookup.js +498 -0
  19. package/knowledge/search/exact-lookup.js.map +1 -0
  20. package/knowledge/search/filter-pool.js +105 -0
  21. package/knowledge/search/filter-pool.js.map +1 -0
  22. package/knowledge/search/product-scope-intent.js +41 -0
  23. package/knowledge/search/product-scope-intent.js.map +1 -0
  24. package/knowledge/search/requires-framework.js +82 -0
  25. package/knowledge/search/requires-framework.js.map +1 -0
  26. package/knowledge/search/search-knowledge.js +230 -0
  27. package/knowledge/search/search-knowledge.js.map +1 -0
  28. package/mcp-server-prompt.png +0 -0
  29. package/package.json +1 -1
  30. package/resource/_schema/feature-aliases.yaml +10 -0
  31. package/resource/_schema/goal-tags.yaml +72 -0
  32. package/resource/_schema/products.yaml +19 -0
  33. package/resource/_schema/trtc-intents.yaml +27 -0
  34. package/resource/_schema/types.yaml +43 -0
  35. package/resource/index/component-slugs.json +1 -0
  36. package/resource/index/doc-source-urls.json +1 -0
  37. package/resource/index/manifest.json +1 -0
  38. package/resource/{doc → integration}/callkit/preset/android/integration.md +34 -28
  39. package/resource/integration/callkit/preset/flutter/integration.md +346 -0
  40. package/resource/integration/callkit/preset/ios/integration.md +408 -0
  41. package/resource/integration/callkit/preset/react/integration.md +362 -0
  42. package/resource/integration/callkit/preset/vue/integration.md +356 -0
  43. package/resource/integration/chat/preset/android/integration.md +500 -0
  44. package/resource/integration/chat/preset/flutter/integration.md +370 -0
  45. package/resource/integration/chat/preset/ios/integration.md +566 -0
  46. package/resource/integration/chat/preset/react/integration.md +490 -0
  47. package/resource/integration/chat/preset/vue/integration.md +504 -0
  48. package/resource/{doc → integration}/livekit/preset/live/vue/live-list-integration.md +26 -22
  49. package/resource/{doc → integration}/livekit/preset/live/vue/live-player-desk-integration.md +22 -18
  50. package/resource/integration/livekit/preset/live/vue/live-player-h5-integration.md +309 -0
  51. package/resource/{doc → integration}/livekit/preset/live/vue/live-pusher-integration.md +47 -39
  52. package/resource/integration/roomkit/preset/vue/integration.md +562 -0
  53. package/resource/knowledge/callkit/core-sdk/android/answer-call.md +828 -0
  54. package/resource/knowledge/callkit/core-sdk/android/make-call.md +897 -0
  55. package/resource/knowledge/callkit/core-sdk/android/offline-push.md +363 -0
  56. package/resource/knowledge/callkit/core-sdk/flutter/answer-call.md +1111 -0
  57. package/resource/knowledge/callkit/core-sdk/flutter/make-call.md +1132 -0
  58. package/resource/{doc → knowledge}/callkit/core-sdk/flutter/offline-push.md +174 -151
  59. package/resource/knowledge/callkit/core-sdk/ios/answer-call.md +1084 -0
  60. package/resource/knowledge/callkit/core-sdk/ios/make-call.md +1252 -0
  61. package/resource/knowledge/callkit/core-sdk/ios/offline-push.md +534 -0
  62. package/resource/knowledge/callkit/core-sdk/uni-app/answer-call.md +953 -0
  63. package/resource/knowledge/callkit/core-sdk/uni-app/make-call.md +1061 -0
  64. package/resource/knowledge/callkit/faq/android.md +92 -0
  65. package/resource/{doc/callkit/faq/android-faq.md → knowledge/callkit/faq/common.md} +11 -12
  66. package/resource/knowledge/callkit/faq/error-code.md +67 -0
  67. package/resource/knowledge/callkit/faq/flutter.md +52 -0
  68. package/resource/knowledge/callkit/faq/ios.md +104 -0
  69. package/resource/knowledge/callkit/faq/web.md +74 -0
  70. package/resource/knowledge/callkit/preset/android/api.md +412 -0
  71. package/resource/knowledge/callkit/preset/flutter/api.md +22 -0
  72. package/resource/knowledge/callkit/preset/ios/api.md +234 -0
  73. package/resource/knowledge/callkit/preset/web/api.md +83 -0
  74. package/resource/knowledge/chat/preset/android/features/chat-setting.md +74 -0
  75. package/resource/knowledge/chat/preset/android/features/contact-list.md +43 -0
  76. package/resource/knowledge/chat/preset/android/features/conversation-list.md +117 -0
  77. package/resource/knowledge/chat/preset/android/features/language.md +136 -0
  78. package/resource/knowledge/chat/preset/android/features/message-input.md +57 -0
  79. package/resource/knowledge/chat/preset/android/features/message-list.md +142 -0
  80. package/resource/knowledge/chat/preset/android/features/search.md +64 -0
  81. package/resource/knowledge/chat/preset/android/features/theme.md +222 -0
  82. package/resource/knowledge/chat/preset/android-view/integration.md +300 -0
  83. package/resource/knowledge/chat/preset/flutter/features/chat-setting.md +64 -0
  84. package/resource/knowledge/chat/preset/flutter/features/contact-list.md +40 -0
  85. package/resource/knowledge/chat/preset/flutter/features/conversation-list.md +129 -0
  86. package/resource/knowledge/chat/preset/flutter/features/language.md +104 -0
  87. package/resource/knowledge/chat/preset/flutter/features/message-input.md +54 -0
  88. package/resource/knowledge/chat/preset/flutter/features/message-list.md +158 -0
  89. package/resource/knowledge/chat/preset/flutter/features/search.md +59 -0
  90. package/resource/knowledge/chat/preset/flutter/features/theme.md +261 -0
  91. package/resource/knowledge/chat/preset/ios/features/chat-setting.md +94 -0
  92. package/resource/knowledge/chat/preset/ios/features/contact-list.md +119 -0
  93. package/resource/knowledge/chat/preset/ios/features/conversation-list.md +134 -0
  94. package/resource/knowledge/chat/preset/ios/features/language.md +125 -0
  95. package/resource/knowledge/chat/preset/ios/features/message-input.md +69 -0
  96. package/resource/knowledge/chat/preset/ios/features/message-list.md +162 -0
  97. package/resource/knowledge/chat/preset/ios/features/search.md +93 -0
  98. package/resource/knowledge/chat/preset/ios/features/theme.md +270 -0
  99. package/resource/{doc/chatkit/ios → knowledge/chat/preset/ios-uikit}/integration.md +160 -158
  100. package/resource/knowledge/chat/preset/react/features/chat-setting.md +101 -0
  101. package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/contact-list.md +43 -41
  102. package/resource/knowledge/chat/preset/react/features/conversation-actions.md +215 -0
  103. package/resource/knowledge/chat/preset/react/features/conversation-list.md +339 -0
  104. package/resource/knowledge/chat/preset/react/features/conversation-preview.md +101 -0
  105. package/resource/knowledge/chat/preset/react/features/conversation-search.md +61 -0
  106. package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/message-input.md +117 -156
  107. package/resource/knowledge/chat/preset/react/features/message-list.md +297 -0
  108. package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/search.md +65 -59
  109. package/resource/knowledge/chat/preset/react/features/theme.md +93 -0
  110. package/resource/knowledge/chat/preset/vue/features/chat-header.md +331 -0
  111. package/resource/knowledge/chat/preset/vue/features/chat-setting.md +79 -0
  112. package/resource/knowledge/chat/preset/vue/features/contact-list.md +277 -0
  113. package/resource/knowledge/chat/preset/vue/features/conversation-actions.md +234 -0
  114. package/resource/knowledge/chat/preset/vue/features/conversation-list.md +331 -0
  115. package/resource/knowledge/chat/preset/vue/features/conversation-preview.md +216 -0
  116. package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/conversation-search.md +13 -13
  117. package/resource/knowledge/chat/preset/vue/features/message-input.md +551 -0
  118. package/resource/knowledge/chat/preset/vue/features/message-list.md +350 -0
  119. package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/search.md +79 -73
  120. package/resource/knowledge/chat/preset/vue/features/theme.md +136 -0
  121. package/resource/knowledge/chat/urls/error-code.md +17 -0
  122. package/resource/knowledge/chat/urls/product.md +43 -0
  123. package/resource/knowledge/chat/urls/restapi.md +204 -0
  124. package/resource/knowledge/chat/urls/sdk/android.md +80 -0
  125. package/resource/knowledge/chat/urls/sdk/flutter.md +71 -0
  126. package/resource/knowledge/chat/urls/sdk/ios.md +80 -0
  127. package/resource/knowledge/chat/urls/sdk/web.md +80 -0
  128. package/resource/knowledge/chat/urls/webhook.md +68 -0
  129. package/resource/knowledge/livekit/core-sdk/api-reference/android/AudioEffectStore.md +286 -0
  130. package/resource/knowledge/livekit/core-sdk/api-reference/android/BarrageStore.md +174 -0
  131. package/resource/knowledge/livekit/core-sdk/api-reference/android/BattleStore.md +329 -0
  132. package/resource/knowledge/livekit/core-sdk/api-reference/android/CameraView.md +55 -0
  133. package/resource/knowledge/livekit/core-sdk/api-reference/android/CoGuestStore.md +434 -0
  134. package/resource/knowledge/livekit/core-sdk/api-reference/android/CoHostStore.md +362 -0
  135. package/resource/knowledge/livekit/core-sdk/api-reference/android/DeviceStore.md +466 -0
  136. package/resource/knowledge/livekit/core-sdk/api-reference/android/GiftStore.md +173 -0
  137. package/resource/knowledge/livekit/core-sdk/api-reference/android/LikeStore.md +51 -0
  138. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveAudienceStore.md +291 -0
  139. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveCoreView.md +78 -0
  140. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveSeatStore.md +488 -0
  141. package/resource/knowledge/livekit/core-sdk/api-reference/android/LoginStore.md +219 -0
  142. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/AudioEffectStore.md +282 -0
  143. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BarrageStore.md +212 -0
  144. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BaseBeautyStore.md +153 -0
  145. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BattleStore.md +312 -0
  146. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoGuestStore.md +404 -0
  147. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoHostStore.md +334 -0
  148. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/DeviceStore.md +426 -0
  149. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/GiftStore.md +166 -0
  150. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LikeStore.md +52 -0
  151. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveAudienceStore.md +281 -0
  152. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveCoreView.md +150 -0
  153. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveSeatStore.md +438 -0
  154. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LoginStore.md +190 -0
  155. package/resource/knowledge/livekit/core-sdk/api-reference/ios/AudioEffectStore.md +291 -0
  156. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BarrageStore.md +192 -0
  157. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BaseBeautyStore.md +146 -0
  158. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BattleStore.md +309 -0
  159. package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoGuestStore.md +370 -0
  160. package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoHostStore.md +339 -0
  161. package/resource/knowledge/livekit/core-sdk/api-reference/ios/DeviceStore.md +503 -0
  162. package/resource/knowledge/livekit/core-sdk/api-reference/ios/GiftStore.md +188 -0
  163. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LikeStore.md +51 -0
  164. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveAudienceStore.md +289 -0
  165. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveCoreView.md +78 -0
  166. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveSeatStore.md +487 -0
  167. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LoginStore.md +183 -0
  168. package/resource/knowledge/livekit/core-sdk/api-reference/web/index.md +736 -0
  169. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-audience-list.md +53 -47
  170. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-audio-effect.md +28 -24
  171. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-barrage.md +22 -18
  172. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-base-beauty.md +17 -15
  173. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-co-guest-interaction.md +19 -18
  174. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-gift.md +102 -89
  175. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-host-interaction.md +41 -37
  176. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-integration.md +45 -43
  177. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-live-list.md +23 -20
  178. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-audience-list.md +41 -41
  179. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-audio-effect.md +70 -69
  180. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-barrage.md +68 -71
  181. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-base-beauty.md +43 -47
  182. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-co-guest-interaction.md +59 -56
  183. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-gift.md +103 -105
  184. package/resource/knowledge/livekit/core-sdk/live/flutter/live-host-interaction.md +869 -0
  185. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-integration.md +84 -87
  186. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-live-list.md +43 -40
  187. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-audience-list.md +11 -10
  188. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-audio-effect.md +28 -24
  189. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-barrage.md +22 -18
  190. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-base-beauty.md +15 -14
  191. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-co-guest-interaction.md +19 -18
  192. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-gift.md +54 -50
  193. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-host-interaction.md +41 -37
  194. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-integration.md +40 -40
  195. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-live-list.md +19 -18
  196. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-audience-list.md +53 -47
  197. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-audio-effect.md +28 -24
  198. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-barrage.md +22 -18
  199. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-co-guest-interaction.md +41 -33
  200. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-gift.md +94 -81
  201. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-host-interaction.md +35 -30
  202. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-integration.md +45 -42
  203. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-room-list.md +23 -20
  204. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-audience-list.md +260 -0
  205. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-audio-effect.md +598 -0
  206. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-barrage.md +490 -0
  207. package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-co-guest-interaction.md +65 -59
  208. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-gift.md +424 -0
  209. package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-integration.md +69 -76
  210. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-room-list.md +726 -0
  211. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-audience-list.md +11 -10
  212. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-audio-effect.md +28 -24
  213. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-barrage.md +22 -18
  214. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-co-guest-interaction.md +41 -33
  215. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-gift.md +54 -50
  216. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-host-interaction.md +35 -30
  217. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-integration.md +49 -46
  218. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-room-list.md +19 -18
  219. package/resource/knowledge/livekit/faq/error-code.md +193 -0
  220. package/resource/{doc/livekit/preset/live/vue/components → knowledge/livekit/preset/live/vue/features}/barrage.md +56 -53
  221. package/resource/{doc/livekit/preset/live/vue/components → knowledge/livekit/preset/live/vue/features}/live-audience-list.md +22 -21
  222. package/resource/{doc/livekit/preset/live/vue/components → knowledge/livekit/preset/live/vue/features}/live-view.md +34 -32
  223. package/resource/knowledge/push/config/android.md +92 -0
  224. package/resource/knowledge/push/config/harmonyos.md +83 -0
  225. package/resource/knowledge/push/config/ios.md +254 -0
  226. package/resource/knowledge/push/config/react-native.md +254 -0
  227. package/resource/knowledge/push/config/unity.md +209 -0
  228. package/resource/knowledge/push/config/unreal-engine.md +194 -0
  229. package/resource/knowledge/push/integration/android.md +404 -0
  230. package/resource/knowledge/push/integration/flutter.md +465 -0
  231. package/resource/knowledge/push/integration/harmonyos.md +63 -0
  232. package/resource/knowledge/push/integration/ios.md +246 -0
  233. package/resource/knowledge/push/integration/react-native.md +366 -0
  234. package/resource/knowledge/push/integration/uni-app.md +208 -0
  235. package/resource/knowledge/push/integration/unity.md +389 -0
  236. package/resource/knowledge/push/integration/unreal-engine.md +390 -0
  237. package/resource/knowledge/push/overview/prepare.md +60 -0
  238. package/resource/knowledge/roomkit/core-sdk/android/call-user-to-room.md +241 -0
  239. package/resource/knowledge/roomkit/core-sdk/android/room-participant-state.md +588 -0
  240. package/resource/knowledge/roomkit/core-sdk/android/room-state.md +364 -0
  241. package/resource/knowledge/roomkit/core-sdk/android/schedule-room.md +340 -0
  242. package/resource/knowledge/roomkit/core-sdk/flutter/call-user-to-room.md +230 -0
  243. package/resource/knowledge/roomkit/core-sdk/flutter/room-participant-state.md +797 -0
  244. package/resource/knowledge/roomkit/core-sdk/flutter/room-state.md +325 -0
  245. package/resource/knowledge/roomkit/core-sdk/flutter/schedule-room.md +325 -0
  246. package/resource/knowledge/roomkit/core-sdk/ios/call-user-to-room.md +233 -0
  247. package/resource/knowledge/roomkit/core-sdk/ios/room-participant-state.md +569 -0
  248. package/resource/knowledge/roomkit/core-sdk/ios/room-state.md +325 -0
  249. package/resource/knowledge/roomkit/core-sdk/ios/schedule-room.md +322 -0
  250. package/resource/knowledge/roomkit/core-sdk/vue/call-user-to-room.md +221 -0
  251. package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/device-detection.md +49 -48
  252. package/resource/knowledge/roomkit/core-sdk/vue/device-state.md +461 -0
  253. package/resource/knowledge/roomkit/core-sdk/vue/free-beauty-panel.md +216 -0
  254. package/resource/knowledge/roomkit/core-sdk/vue/room-chat.md +370 -0
  255. package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/room-participant-state.md +61 -60
  256. package/resource/knowledge/roomkit/core-sdk/vue/room-state.md +280 -0
  257. package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/room-view.md +57 -56
  258. package/resource/knowledge/roomkit/core-sdk/vue/schedule-room.md +319 -0
  259. package/resource/knowledge/roomkit/core-sdk/vue/screen-share.md +267 -0
  260. package/resource/knowledge/roomkit/core-sdk/vue/virtual-background.md +261 -0
  261. package/resource/knowledge/roomkit/preset/android/integration.md +396 -0
  262. package/resource/knowledge/roomkit/preset/flutter/integration.md +404 -0
  263. package/resource/knowledge/roomkit/preset/ios/integration.md +369 -0
  264. package/resource/knowledge/roomkit/preset/react/integration.md +576 -0
  265. package/resource/knowledge/rtcengine/web/how_to_run_web_sdk_demo.md +44 -0
  266. package/resource/{doc → knowledge}/rtcengine/web/plugin/21-advanced-auto-play-policy.md +8 -2
  267. package/resource/{doc → knowledge}/rtcengine/web/plugin/22-advanced-audio-mixer.md +19 -1
  268. package/resource/{doc → knowledge}/rtcengine/web/plugin/23-advanced-support-detection.md +1 -1
  269. package/resource/{doc → knowledge}/rtcengine/web/plugin/24-advanced-network-quality.md +8 -8
  270. package/resource/{doc → knowledge}/rtcengine/web/plugin/25-advanced-device-change.md +1 -1
  271. package/resource/{doc → knowledge}/rtcengine/web/plugin/26-advanced-publish-cdn-stream.md +6 -6
  272. package/resource/{doc → knowledge}/rtcengine/web/plugin/27-advanced-small-stream.md +3 -3
  273. package/resource/{doc → knowledge}/rtcengine/web/plugin/29-advanced-water-mark.md +18 -0
  274. package/resource/{doc → knowledge}/rtcengine/web/plugin/31-advanced-plugins-overview.md +1 -1
  275. package/resource/{doc → knowledge}/rtcengine/web/plugin/34-advanced-proxy.md +2 -2
  276. package/resource/{doc → knowledge}/rtcengine/web/plugin/35-advanced-ai-denoiser.md +1 -1
  277. package/resource/knowledge/trtc/android/TRTCCloud.md +1915 -0
  278. package/resource/knowledge/trtc/android/TRTCCloudDef.md +1029 -0
  279. package/resource/knowledge/trtc/android/TRTCCloudListener.md +1095 -0
  280. package/resource/knowledge/trtc/android/TRTCStatistics.md +68 -0
  281. package/resource/knowledge/trtc/android/TXAudioEffectManager.md +502 -0
  282. package/resource/knowledge/trtc/android/TXBeautyManager.md +415 -0
  283. package/resource/knowledge/trtc/android/TXDeviceManager.md +169 -0
  284. package/resource/knowledge/trtc/android/TXLiteAVCode.md +125 -0
  285. package/resource/knowledge/trtc/c++/ITRTCCloud.md +2069 -0
  286. package/resource/knowledge/trtc/c++/ITRTCStatistics.md +73 -0
  287. package/resource/knowledge/trtc/c++/ITXAudioEffectManager.md +502 -0
  288. package/resource/knowledge/trtc/c++/ITXDeviceManager.md +391 -0
  289. package/resource/knowledge/trtc/c++/TRTCCloudCallback.md +1191 -0
  290. package/resource/knowledge/trtc/c++/TRTCTypeDef.md +931 -0
  291. package/resource/knowledge/trtc/c++/TXLiteAVCode.md +127 -0
  292. package/resource/knowledge/trtc/ios/TRTCCloud.md +2118 -0
  293. package/resource/knowledge/trtc/ios/TRTCCloudDef.md +975 -0
  294. package/resource/knowledge/trtc/ios/TRTCCloudDelegate.md +1131 -0
  295. package/resource/knowledge/trtc/ios/TRTCStatistics.md +68 -0
  296. package/resource/knowledge/trtc/ios/TXAudioEffectManager.md +423 -0
  297. package/resource/knowledge/trtc/ios/TXBeautyManager.md +416 -0
  298. package/resource/knowledge/trtc/ios/TXDeviceManager.md +387 -0
  299. package/resource/knowledge/trtc/ios/TXLiteAVCode.md +127 -0
  300. package/server.js +35 -11
  301. package/server.js.map +1 -1
  302. package/tools/call/get_native_call_uikit_integration.js +2 -3
  303. package/tools/call/get_native_call_uikit_integration.js.map +1 -1
  304. package/tools/call/get_native_callkit_core_integration.js +2 -5
  305. package/tools/call/get_native_callkit_core_integration.js.map +1 -1
  306. package/tools/call/get_web_call_uikit_integration.js +2 -3
  307. package/tools/call/get_web_call_uikit_integration.js.map +1 -1
  308. package/tools/chat/get_native_chat_uikit_integration.js +2 -3
  309. package/tools/chat/get_native_chat_uikit_integration.js.map +1 -1
  310. package/tools/chat/get_web_chat_uikit_integration.js +2 -3
  311. package/tools/chat/get_web_chat_uikit_integration.js.map +1 -1
  312. package/tools/common/present_framework_choice.js +19 -13
  313. package/tools/common/present_framework_choice.js.map +1 -1
  314. package/tools/common/record_answer.js +19 -25
  315. package/tools/common/record_answer.js.map +1 -1
  316. package/tools/common/record_feedback.js +17 -30
  317. package/tools/common/record_feedback.js.map +1 -1
  318. package/tools/common/search_trtc_knowledge.js +45 -0
  319. package/tools/common/search_trtc_knowledge.js.map +1 -0
  320. package/tools/definitions/get_native_call_uikit_integration_def.js +3 -1
  321. package/tools/definitions/get_native_call_uikit_integration_def.js.map +1 -1
  322. package/tools/definitions/get_native_callkit_core_integration_def.js +5 -3
  323. package/tools/definitions/get_native_callkit_core_integration_def.js.map +1 -1
  324. package/tools/definitions/get_native_chat_uikit_integration_def.js +5 -2
  325. package/tools/definitions/get_native_chat_uikit_integration_def.js.map +1 -1
  326. package/tools/definitions/get_native_livekit_core_integration_def.js +6 -5
  327. package/tools/definitions/get_native_livekit_core_integration_def.js.map +1 -1
  328. package/tools/definitions/get_web_call_uikit_integration_def.js +4 -2
  329. package/tools/definitions/get_web_call_uikit_integration_def.js.map +1 -1
  330. package/tools/definitions/get_web_chat_uikit_integration_def.js +2 -0
  331. package/tools/definitions/get_web_chat_uikit_integration_def.js.map +1 -1
  332. package/tools/definitions/get_web_live_uikit_integration_def.js +5 -5
  333. package/tools/definitions/get_web_live_uikit_integration_def.js.map +1 -1
  334. package/tools/definitions/get_web_room_core_integration_def.js +50 -0
  335. package/tools/definitions/get_web_room_core_integration_def.js.map +1 -0
  336. package/tools/definitions/get_web_room_uikit_integration_def.js +5 -4
  337. package/tools/definitions/get_web_room_uikit_integration_def.js.map +1 -1
  338. package/tools/definitions/integration-boundary.js +6 -0
  339. package/tools/definitions/integration-boundary.js.map +1 -0
  340. package/tools/definitions/present_framework_choice_def.js +12 -10
  341. package/tools/definitions/present_framework_choice_def.js.map +1 -1
  342. package/tools/definitions/record_answer_def.js +19 -17
  343. package/tools/definitions/record_answer_def.js.map +1 -1
  344. package/tools/definitions/record_feedback_def.js +14 -13
  345. package/tools/definitions/record_feedback_def.js.map +1 -1
  346. package/tools/definitions/search_trtc_knowledge_def.js +40 -0
  347. package/tools/definitions/search_trtc_knowledge_def.js.map +1 -0
  348. package/tools/index.js +5 -36
  349. package/tools/index.js.map +1 -1
  350. package/tools/live/get_native_livekit_core_integration.js +1 -3
  351. package/tools/live/get_native_livekit_core_integration.js.map +1 -1
  352. package/tools/live/get_web_live_uikit_integration.js +2 -4
  353. package/tools/live/get_web_live_uikit_integration.js.map +1 -1
  354. package/tools/room/get_web_room_core_integration.js +48 -0
  355. package/tools/room/get_web_room_core_integration.js.map +1 -0
  356. package/tools/room/get_web_room_uikit_integration.js +2 -3
  357. package/tools/room/get_web_room_uikit_integration.js.map +1 -1
  358. package/utils/generate-structured-result.js +24 -30
  359. package/utils/generate-structured-result.js.map +1 -1
  360. package/utils/get-doc-content.js +14 -8
  361. package/utils/get-doc-content.js.map +1 -1
  362. package/utils/report-cls-client.js +18 -20
  363. package/utils/report-cls-client.js.map +1 -1
  364. package/utils/report-es-client.js +1 -1
  365. package/resource/doc/callkit/core-sdk/.gitkeep +0 -0
  366. package/resource/doc/callkit/core-sdk/android/answer-call.md +0 -852
  367. package/resource/doc/callkit/core-sdk/android/make-call.md +0 -954
  368. package/resource/doc/callkit/core-sdk/android/offline-push.md +0 -361
  369. package/resource/doc/callkit/core-sdk/flutter/answer-call.md +0 -1160
  370. package/resource/doc/callkit/core-sdk/flutter/make-call.md +0 -1205
  371. package/resource/doc/callkit/core-sdk/ios/answer-call.md +0 -1090
  372. package/resource/doc/callkit/core-sdk/ios/make-call.md +0 -1248
  373. package/resource/doc/callkit/core-sdk/ios/offline-push.md +0 -485
  374. package/resource/doc/callkit/core-sdk/uni-app/answer-call.md +0 -950
  375. package/resource/doc/callkit/core-sdk/uni-app/make-call.md +0 -1052
  376. package/resource/doc/callkit/faq/common/error-code.md +0 -47
  377. package/resource/doc/callkit/faq/flutter-faq.md +0 -115
  378. package/resource/doc/callkit/faq/ios-faq.md +0 -115
  379. package/resource/doc/callkit/faq/web-faq.md +0 -36
  380. package/resource/doc/callkit/preset/android/api.md +0 -296
  381. package/resource/doc/callkit/preset/flutter/api.md +0 -410
  382. package/resource/doc/callkit/preset/flutter/integration.md +0 -164
  383. package/resource/doc/callkit/preset/ios/api.md +0 -80
  384. package/resource/doc/callkit/preset/ios/integration.md +0 -187
  385. package/resource/doc/callkit/preset/react/api.md +0 -501
  386. package/resource/doc/callkit/preset/react/integration.md +0 -86
  387. package/resource/doc/callkit/preset/vue/api.md +0 -501
  388. package/resource/doc/callkit/preset/vue/integration.md +0 -83
  389. package/resource/doc/chatkit/android/faq.md +0 -111
  390. package/resource/doc/chatkit/android/features/theme.md +0 -219
  391. package/resource/doc/chatkit/android/integration.md +0 -490
  392. package/resource/doc/chatkit/faq/android_sdk/client-api.md +0 -281
  393. package/resource/doc/chatkit/faq/common/product.md +0 -7
  394. package/resource/doc/chatkit/faq/common/server.md +0 -44
  395. package/resource/doc/chatkit/faq/common/server_error_code.md +0 -74
  396. package/resource/doc/chatkit/faq/flutter_sdk/client-api.md +0 -199
  397. package/resource/doc/chatkit/faq/flutter_sdk/faq.md +0 -53
  398. package/resource/doc/chatkit/faq/ios_sdk/client-api.md +0 -235
  399. package/resource/doc/chatkit/faq/web_sdk/error_code.md +0 -47
  400. package/resource/doc/chatkit/faq/web_sdk/faq.md +0 -287
  401. package/resource/doc/chatkit/flutter/faq.md +0 -23
  402. package/resource/doc/chatkit/flutter/features/theme.md +0 -235
  403. package/resource/doc/chatkit/flutter/integration.md +0 -344
  404. package/resource/doc/chatkit/ios/faq.md +0 -111
  405. package/resource/doc/chatkit/ios/features/theme.md +0 -267
  406. package/resource/doc/chatkit/react/components/avatar.md +0 -104
  407. package/resource/doc/chatkit/react/components/chat-header.md +0 -148
  408. package/resource/doc/chatkit/react/components/chat-setting.md +0 -57
  409. package/resource/doc/chatkit/react/components/chat.md +0 -38
  410. package/resource/doc/chatkit/react/components/component-list.md +0 -37
  411. package/resource/doc/chatkit/react/components/conversation-actions.md +0 -174
  412. package/resource/doc/chatkit/react/components/conversation-list.md +0 -333
  413. package/resource/doc/chatkit/react/components/conversation-preview.md +0 -118
  414. package/resource/doc/chatkit/react/components/conversation-search.md +0 -60
  415. package/resource/doc/chatkit/react/components/message-list.md +0 -293
  416. package/resource/doc/chatkit/react/components/tuikit.md +0 -34
  417. package/resource/doc/chatkit/react/faq.md +0 -26
  418. package/resource/doc/chatkit/react/integration.md +0 -416
  419. package/resource/doc/chatkit/vue/components/avatar.md +0 -104
  420. package/resource/doc/chatkit/vue/components/chat-header.md +0 -148
  421. package/resource/doc/chatkit/vue/components/chat-setting.md +0 -62
  422. package/resource/doc/chatkit/vue/components/chat.md +0 -45
  423. package/resource/doc/chatkit/vue/components/component-list.md +0 -87
  424. package/resource/doc/chatkit/vue/components/contact-list.md +0 -271
  425. package/resource/doc/chatkit/vue/components/conversation-actions.md +0 -228
  426. package/resource/doc/chatkit/vue/components/conversation-list.md +0 -320
  427. package/resource/doc/chatkit/vue/components/conversation-preview.md +0 -213
  428. package/resource/doc/chatkit/vue/components/message-input.md +0 -1054
  429. package/resource/doc/chatkit/vue/components/message-list.md +0 -433
  430. package/resource/doc/chatkit/vue/components/tuikit.md +0 -31
  431. package/resource/doc/chatkit/vue/components/userpicker.md +0 -256
  432. package/resource/doc/chatkit/vue/faq.md +0 -36
  433. package/resource/doc/chatkit/vue/integration.md +0 -428
  434. package/resource/doc/livekit/core-sdk/live/flutter/live-host-interaction.md +0 -866
  435. package/resource/doc/livekit/faq/common/error-code.md +0 -88
  436. package/resource/doc/livekit/preset/live/vue/api-reference/index.md +0 -780
  437. package/resource/doc/livekit/preset/live/vue/components/co-guest-panel.md +0 -91
  438. package/resource/doc/livekit/preset/live/vue/components/live-scene-panel.md +0 -112
  439. package/resource/doc/livekit/preset/live/vue/components/stream-mixer.md +0 -215
  440. package/resource/doc/livekit/preset/live/vue/live-player-h5-integration.md +0 -300
  441. package/resource/doc/roomkit/faq/common/error-code.md +0 -67
  442. package/resource/doc/roomkit/vue/features/call-user-to-room.md +0 -220
  443. package/resource/doc/roomkit/vue/features/device-state.md +0 -460
  444. package/resource/doc/roomkit/vue/features/free-beauty-panel.md +0 -215
  445. package/resource/doc/roomkit/vue/features/room-chat.md +0 -369
  446. package/resource/doc/roomkit/vue/features/room-state.md +0 -282
  447. package/resource/doc/roomkit/vue/features/schedule-room.md +0 -318
  448. package/resource/doc/roomkit/vue/features/screen-share.md +0 -265
  449. package/resource/doc/roomkit/vue/features/virtual-background.md +0 -271
  450. package/resource/doc/roomkit/vue/integration.md +0 -315
  451. package/resource/doc/rtcengine/faq/common/error_code.md +0 -1
  452. package/resource/doc/rtcengine/faq/web_sdk/.gitkeep +0 -0
  453. package/resource/doc/rtcengine/web/.gitkeep +0 -0
  454. package/resource/doc/rtcengine/web/how_to_run_web_sdk_demo.md +0 -59
  455. package/resource/doc/trtc/C++/ITRTCCloud.md +0 -1970
  456. package/resource/doc/trtc/C++/ITRTCStatistics.md +0 -70
  457. package/resource/doc/trtc/C++/ITXAudioEffectManager.md +0 -469
  458. package/resource/doc/trtc/C++/ITXDeviceManager.md +0 -387
  459. package/resource/doc/trtc/C++/TRTCCloudCallback.md +0 -1082
  460. package/resource/doc/trtc/C++/TRTCTypeDef.md +0 -925
  461. package/resource/doc/trtc/C++/TXLiteAVCode.md +0 -129
  462. package/resource/doc/trtc/android/TRTCCloud.md +0 -1815
  463. package/resource/doc/trtc/android/TRTCCloudDef.md +0 -992
  464. package/resource/doc/trtc/android/TRTCCloudListener.md +0 -1004
  465. package/resource/doc/trtc/android/TRTCStatistics.md +0 -65
  466. package/resource/doc/trtc/android/TXAudioEffectManager.md +0 -469
  467. package/resource/doc/trtc/android/TXBeautyManager.md +0 -402
  468. package/resource/doc/trtc/android/TXDeviceManager.md +0 -173
  469. package/resource/doc/trtc/android/TXLiteAVCode.md +0 -127
  470. package/resource/doc/trtc/iOS/TRTCCloud.md +0 -2028
  471. package/resource/doc/trtc/iOS/TRTCCloudDef.md +0 -958
  472. package/resource/doc/trtc/iOS/TRTCCloudDelegate.md +0 -1046
  473. package/resource/doc/trtc/iOS/TRTCStatistics.md +0 -65
  474. package/resource/doc/trtc/iOS/TXAudioEffectManager.md +0 -397
  475. package/resource/doc/trtc/iOS/TXBeautyManager.md +0 -403
  476. package/resource/doc/trtc/iOS/TXDeviceManager.md +0 -381
  477. package/resource/doc/trtc/iOS/TXLiteAVCode.md +0 -130
  478. package/tools/call/get_callkit_api.js +0 -33
  479. package/tools/call/get_callkit_api.js.map +0 -1
  480. package/tools/chat/get_native_chat_uikit_feature_detail.js +0 -35
  481. package/tools/chat/get_native_chat_uikit_feature_detail.js.map +0 -1
  482. package/tools/chat/get_web_chat_uikit_component_detail.js +0 -35
  483. package/tools/chat/get_web_chat_uikit_component_detail.js.map +0 -1
  484. package/tools/common/get_faq.js +0 -266
  485. package/tools/common/get_faq.js.map +0 -1
  486. package/tools/common/record_skill_session.js +0 -69
  487. package/tools/common/record_skill_session.js.map +0 -1
  488. package/tools/definitions/get_callkit_api_def.js +0 -29
  489. package/tools/definitions/get_callkit_api_def.js.map +0 -1
  490. package/tools/definitions/get_faq_def.js +0 -47
  491. package/tools/definitions/get_faq_def.js.map +0 -1
  492. package/tools/definitions/get_native_chat_uikit_feature_detail_def.js +0 -31
  493. package/tools/definitions/get_native_chat_uikit_feature_detail_def.js.map +0 -1
  494. package/tools/definitions/get_native_livekit_core_features_def.js +0 -34
  495. package/tools/definitions/get_native_livekit_core_features_def.js.map +0 -1
  496. package/tools/definitions/get_native_trtc_sdk_docs_def.js +0 -32
  497. package/tools/definitions/get_native_trtc_sdk_docs_def.js.map +0 -1
  498. package/tools/definitions/get_web_chat_uikit_component_detail_def.js +0 -31
  499. package/tools/definitions/get_web_chat_uikit_component_detail_def.js.map +0 -1
  500. package/tools/definitions/get_web_livekit_api_def.js +0 -30
  501. package/tools/definitions/get_web_livekit_api_def.js.map +0 -1
  502. package/tools/definitions/get_web_livekit_component_detail_def.js +0 -32
  503. package/tools/definitions/get_web_livekit_component_detail_def.js.map +0 -1
  504. package/tools/definitions/get_web_roomkit_feature_detail_def.js +0 -31
  505. package/tools/definitions/get_web_roomkit_feature_detail_def.js.map +0 -1
  506. package/tools/definitions/get_web_trtc_sdk_api_def.js +0 -27
  507. package/tools/definitions/get_web_trtc_sdk_api_def.js.map +0 -1
  508. package/tools/definitions/get_web_trtc_sdk_integration_def.js +0 -27
  509. package/tools/definitions/get_web_trtc_sdk_integration_def.js.map +0 -1
  510. package/tools/definitions/get_web_trtc_sdk_plugin_def.js +0 -27
  511. package/tools/definitions/get_web_trtc_sdk_plugin_def.js.map +0 -1
  512. package/tools/definitions/record_skill_session_def.js +0 -31
  513. package/tools/definitions/record_skill_session_def.js.map +0 -1
  514. package/tools/live/get_native_livekit_core_features.js +0 -68
  515. package/tools/live/get_native_livekit_core_features.js.map +0 -1
  516. package/tools/live/get_web_livekit_api.js +0 -33
  517. package/tools/live/get_web_livekit_api.js.map +0 -1
  518. package/tools/live/get_web_livekit_component_detail.js +0 -35
  519. package/tools/live/get_web_livekit_component_detail.js.map +0 -1
  520. package/tools/room/get_web_roomkit_feature_detail.js +0 -69
  521. package/tools/room/get_web_roomkit_feature_detail.js.map +0 -1
  522. package/tools/rtcengine/get_web_trtc_sdk_api.js +0 -32
  523. package/tools/rtcengine/get_web_trtc_sdk_api.js.map +0 -1
  524. package/tools/rtcengine/get_web_trtc_sdk_integration.js +0 -32
  525. package/tools/rtcengine/get_web_trtc_sdk_integration.js.map +0 -1
  526. package/tools/rtcengine/get_web_trtc_sdk_plugin.js +0 -32
  527. package/tools/rtcengine/get_web_trtc_sdk_plugin.js.map +0 -1
  528. package/tools/trtc/get_native_trtc_sdk_docs.js +0 -74
  529. package/tools/trtc/get_native_trtc_sdk_docs.js.map +0 -1
  530. package/utils/build-session-directives.js +0 -120
  531. package/utils/build-session-directives.js.map +0 -1
  532. package/utils/handle-framework.js +0 -9
  533. package/utils/handle-framework.js.map +0 -1
  534. package/utils/handle-state-name.js +0 -29
  535. package/utils/handle-state-name.js.map +0 -1
  536. package/utils/report-runtime-error-cls-client.js +0 -91
  537. package/utils/report-runtime-error-cls-client.js.map +0 -1
  538. /package/resource/{doc/livekit/preset/live/vue/faq.md → knowledge/push/config/donut.md} +0 -0
  539. /package/resource/{doc/roomkit/vue/faq.md → knowledge/push/integration/donut.md} +0 -0
  540. /package/resource/{doc → knowledge}/rtcengine/web/api.md +0 -0
  541. /package/resource/{doc/rtcengine/faq/web/web.md → knowledge/rtcengine/web/faq.md} +0 -0
  542. /package/resource/{doc → knowledge}/rtcengine/web/how_to_integrated_web_sdk.md +0 -0
  543. /package/resource/{doc → knowledge}/rtcengine/web/plugin/20-advanced-customized-capture-rendering.md +0 -0
  544. /package/resource/{doc → knowledge}/rtcengine/web/plugin/28-advanced-beauty.md +0 -0
  545. /package/resource/{doc → knowledge}/rtcengine/web/plugin/30-advanced-cross-room-link.md +0 -0
  546. /package/resource/{doc → knowledge}/rtcengine/web/plugin/36-advanced-virtual-background.md +0 -0
  547. /package/resource/{doc → knowledge}/rtcengine/web/plugin/37-advanced-voice-changer.md +0 -0
  548. /package/resource/{doc → knowledge}/rtcengine/web/plugin/39-advanced-video-decoder.md +0 -0
  549. /package/resource/{doc → knowledge}/rtcengine/web/plugin/40-advanced-video-mixer.md +0 -0
  550. /package/resource/{doc → knowledge}/rtcengine/web/plugin/41-advanced-small-stream-auto-switcher.md +0 -0
  551. /package/resource/{doc → knowledge}/rtcengine/web/plugin/42-advanced-realtime-transcriber.md +0 -0
  552. /package/resource/{doc → knowledge}/rtcengine/web/plugin/43-advanced-face-detection.md +0 -0
@@ -0,0 +1,1191 @@
1
+ Copyright (c) 2021 Tencent. All rights reserved.
2
+
3
+ Module: ITRTCCloudCallback @ TXLiteAVSDK
4
+
5
+ Function: event callback APIs for TRTC’s video call feature
6
+
7
+ ## ITRTCCloudCallback
8
+
9
+ |FuncList|DESC|
10
+ |---------|---------|
11
+ |onError|Error event callback.|
12
+ |onWarning|Warning event callback.|
13
+ |onEnterRoom|Whether room entry is successful.|
14
+ |onExitRoom|Room exit.|
15
+ |onSwitchRole|Role switching.|
16
+ |onSwitchRoom|Result of room switching.|
17
+ |onConnectOtherRoom|Result of requesting cross-room call.|
18
+ |onDisconnectOtherRoom|Result of ending cross-room call.|
19
+ |onUpdateOtherRoomForwardMode|Result of changing the upstream capability of the cross-room anchor.|
20
+ |onRemoteUserEnterRoom|A user entered the room.|
21
+ |onRemoteUserLeaveRoom|A user exited the room.|
22
+ |onUserVideoAvailable|A remote user published/unpublished primary stream video.|
23
+ |onUserSubStreamAvailable|A remote user published/unpublished substream video.|
24
+ |onUserAudioAvailable|A remote user published/unpublished audio.|
25
+ |onFirstVideoFrame|The SDK started rendering the first video frame of the local or a remote user.|
26
+ |onFirstAudioFrame|The SDK started playing the first audio frame of a remote user.|
27
+ |onSendFirstLocalVideoFrame|The first local video frame was published.|
28
+ |onSendFirstLocalAudioFrame|The first local audio frame was published.|
29
+ |onRemoteVideoStatusUpdated|Change of remote video status.|
30
+ |onRemoteAudioStatusUpdated|Change of remote audio status.|
31
+ |onUserVideoSizeChanged|Change of remote video size.|
32
+ |onNetworkQuality|Real-time network quality statistics.|
33
+ |onStatistics|Real-time statistics on technical metrics.|
34
+ |onSpeedTestResult|Callback of network speed test.|
35
+ |onConnectionLost|The SDK was disconnected from the cloud.|
36
+ |onTryToReconnect|The SDK is reconnecting to the cloud.|
37
+ |onConnectionRecovery|The SDK is reconnected to the cloud.|
38
+ |onCameraDidReady|The camera is ready.|
39
+ |onMicDidReady|The mic is ready.|
40
+ |onAudioRouteChanged|The audio route changed (for mobile devices only).|
41
+ |onUserVoiceVolume|Volume.|
42
+ |onDeviceChange|The status of a local device changed (for desktop OS only).|
43
+ |onAudioDeviceCaptureVolumeChanged|The capturing volume of the mic changed.|
44
+ |onAudioDevicePlayoutVolumeChanged|The playback volume changed.|
45
+ |onSystemAudioLoopbackError|Whether system audio capturing is enabled successfully (for desktop OS only).|
46
+ |onTestMicVolume|Volume during mic test.|
47
+ |onTestSpeakerVolume|Volume during speaker test.|
48
+ |onRecvCustomCmdMsg|Receipt of custom message.|
49
+ |onMissCustomCmdMsg|Loss of custom message.|
50
+ |onRecvSEIMsg|Receipt of SEI message.|
51
+ |onStartPublishing|Started publishing to Tencent Cloud CSS CDN.|
52
+ |onStopPublishing|Stopped publishing to Tencent Cloud CSS CDN.|
53
+ |onStartPublishCDNStream|Started publishing to non-Tencent Cloud’s live streaming CDN.|
54
+ |onStopPublishCDNStream|Stopped publishing to non-Tencent Cloud’s live streaming CDN.|
55
+ |onSetMixTranscodingConfig|Set the layout and transcoding parameters for On-Cloud MixTranscoding.|
56
+ |onStartPublishMediaStream|Callback for starting to publish.|
57
+ |onUpdatePublishMediaStream|Callback for modifying publishing parameters.|
58
+ |onStopPublishMediaStream|Callback for stopping publishing.|
59
+ |onCdnStreamStateChanged|Callback for change of RTMP/RTMPS publishing status.|
60
+ |onScreenCaptureStarted|Screen sharing started.|
61
+ |onScreenCapturePaused||
62
+ |onScreenCaptureResumed|Screen sharing was resumed.|
63
+ |onScreenCaptureStoped|Screen sharing stopped.|
64
+ |onScreenCaptureCovered|The shared window was covered (for Windows only).|
65
+ |onLocalRecordBegin|Local recording started.|
66
+ |onLocalRecording|Local media is being recorded.|
67
+ |onLocalRecordFragment|Record fragment finished.|
68
+ |onLocalRecordComplete|Local recording stopped.|
69
+ |onSnapshotComplete|Finished taking a local screenshot.|
70
+ |onExperimentalEvent|Callback of experimental APIs.|
71
+ |onUserEnter|An anchor entered the room (disused).|
72
+ |onUserExit|An anchor left the room (disused).|
73
+ |onAudioEffectFinished|Audio effects ended (disused).|
74
+ |onPlayBGMBegin|Started playing background music (disused).|
75
+ |onPlayBGMProgress|Playback progress of background music (disused).|
76
+ |onPlayBGMComplete|Background music stopped (disused).|
77
+ |onSpeedTest|Result of server speed testing (disused).|
78
+
79
+ ## ITRTCVideoRenderCallback
80
+
81
+ |FuncList|DESC|
82
+ |---------|---------|
83
+ |onRenderVideoFrame|Custom video rendering.|
84
+
85
+ ## ITRTCVideoFrameCallback
86
+
87
+ |FuncList|DESC|
88
+ |---------|---------|
89
+ |onGLContextCreated|An OpenGL context was created in the SDK.|
90
+ |onProcessVideoFrame|Video processing by third-party beauty filters.|
91
+ |onGLContextDestroy|The OpenGL context in the SDK was destroyed.|
92
+
93
+ ## ITRTCAudioFrameCallback
94
+
95
+ |FuncList|DESC|
96
+ |---------|---------|
97
+ |onCapturedAudioFrame|Audio data captured by the local mic and pre-processed by the audio module.|
98
+ |onLocalProcessedAudioFrame|Audio data captured by the local mic, pre-processed by the audio module, effect-processed and BGM-mixed.|
99
+ |onPlayAudioFrame|Audio data of each remote user before audio mixing.|
100
+ |onMixedPlayAudioFrame|Data mixed from each channel before being submitted to the system for playback.|
101
+ |onMixedAllAudioFrame|Data mixed from all the captured and to-be-played audio in the SDK.|
102
+
103
+ ## ITRTCLogCallback
104
+
105
+ |FuncList|DESC|
106
+ |---------|---------|
107
+ |onLog|Printing of local log.|
108
+
109
+ ## onError
110
+
111
+ **Error event callback.**
112
+
113
+ Error event, which indicates that the SDK threw an irrecoverable error such as room entry failure or failure to start device
114
+
115
+ For more information, see [Error Codes](https://intl.cloud.tencent.com/document/product/647/35135).
116
+
117
+ |Param|DESC|
118
+ |---------|---------|
119
+ |errCode|Error code|
120
+ |errMsg|Error message|
121
+ |extInfo|Extended field. Certain error codes may carry extra information for troubleshooting.|
122
+
123
+ ## onWarning
124
+
125
+ **Warning event callback.**
126
+
127
+ Warning event, which indicates that the SDK threw an error requiring attention, such as video lag or high CPU usage
128
+
129
+ For more information, see [Error Codes](https://intl.cloud.tencent.com/document/product/647/35135).
130
+
131
+ |Param|DESC|
132
+ |---------|---------|
133
+ |extInfo|Extended field. Certain warning codes may carry extra information for troubleshooting.|
134
+ |warningCode|Warning code|
135
+ |warningMsg|Warning message|
136
+
137
+ ## onEnterRoom
138
+
139
+ **Whether room entry is successful.**
140
+
141
+ After calling the enterRoom API in ` TRTCCloud ` to enter a room, you will receive the ` onEnterRoom(result) ` callback from ` TRTCCloudDelegate `.
142
+ - If room entry succeeded, ` result ` will be a positive number (` result ` > 0), indicating the time in milliseconds (ms) the room entry takes.
143
+
144
+ - If room entry failed, ` result ` will be a negative number (result < 0), indicating the error code for the failure.
145
+
146
+ For more information on the error codes for room entry failure, see [Error Codes](https://intl.cloud.tencent.com/document/product/647/35135).
147
+
148
+ |Param|DESC|
149
+ |---------|---------|
150
+ |result|If ` result ` is greater than 0, it indicates the time (in ms) the room entry takes; if ` result ` is less than 0, it represents the error code for room entry.|
151
+
152
+ > **Note**
153
+ >
154
+
155
+ > 1. In TRTC versions below 6.6, the ` onEnterRoom(result) ` callback is returned only if room entry succeeds, and the onError callback is returned if room entry fails.
156
+ >
157
+
158
+ > 2. In TRTC 6.6 and above, the ` onEnterRoom(result) ` callback is returned regardless of whether room entry succeeds or fails, and the onError callback is also returned if room entry fails.
159
+ >
160
+
161
+ ## onExitRoom
162
+
163
+ **Room exit.**
164
+
165
+ Calling the exitRoom API in ` TRTCCloud ` will trigger the execution of room exit-related logic, such as releasing resources of audio/video devices and codecs.
166
+
167
+ After all resources occupied by the SDK are released, the SDK will return the ` onExitRoom() ` callback.
168
+
169
+ If you need to call enterRoom again or switch to another audio/video SDK, please wait until you receive the ` onExitRoom() ` callback.
170
+
171
+ Otherwise, you may encounter problems such as the camera or mic being occupied.
172
+
173
+ |Param|DESC|
174
+ |---------|---------|
175
+ |reason|Reason for room exit. ` 0 `: the user called ` exitRoom ` to exit the room; ` 1 `: the user was removed from the room by the server; ` 2 `: the room was dismissed; ` 3 `: the server status was abnormal.|
176
+
177
+ ## onSwitchRole
178
+
179
+ **Role switching.**
180
+
181
+ You can call the switchRole API in ` TRTCCloud ` to switch between the anchor and audience roles. This is accompanied by a line switching process.
182
+
183
+ After the switching, the SDK will return the ` onSwitchRole() ` event callback.
184
+
185
+ |Param|DESC|
186
+ |---------|---------|
187
+ |errCode|Error code. ` ERR_NULL ` indicates a successful switch. For more information, please see [Error Codes](https://intl.cloud.tencent.com/document/product/647/35135).|
188
+ |errMsg|Error message|
189
+
190
+ ## onSwitchRoom
191
+
192
+ **Result of room switching.**
193
+
194
+ You can call the switchRoom API in ` TRTCCloud ` to switch from one room to another.
195
+
196
+ After the switching, the SDK will return the ` onSwitchRoom() ` event callback.
197
+
198
+ |Param|DESC|
199
+ |---------|---------|
200
+ |errCode|Error code. ` ERR_NULL ` indicates a successful switch. For more information, please see [Error Codes](https://intl.cloud.tencent.com/document/product/647/35124).|
201
+ |errMsg|Error message|
202
+
203
+ ## onConnectOtherRoom
204
+
205
+ **Result of requesting cross-room call.**
206
+
207
+ You can call the connectOtherRoom API in ` TRTCCloud ` to establish a video call with the anchor of another room. This is the “anchor competition” feature.
208
+
209
+ The caller will receive the ` onConnectOtherRoom() ` callback, which can be used to determine whether the cross-room call is successful.
210
+
211
+ |Param|DESC|
212
+ |---------|---------|
213
+ |errCode|Error code. ` ERR_NULL ` indicates that cross-room connection is established successfully. For more information, please see [Error Codes](https://intl.cloud.tencent.com/document/product/647/35135).|
214
+ |errMsg|Error message|
215
+ |userId|The user ID of the anchor (in another room) to be called|
216
+
217
+ ## onDisconnectOtherRoom
218
+
219
+ **Result of ending cross-room call.**
220
+
221
+ You can call the disConnectOtherRoom API in ` TRTCCloud ` to end a video call with the anchor of another room. This is the “anchor competition” feature.
222
+
223
+ The caller will receive the ` onDisconnectOtherRoom() ` callback to determine whether the cross-room call has been successfully disconnected.
224
+
225
+ |Param|DESC|
226
+ |---------|---------|
227
+ |errCode|Error code. ` ERR_NULL ` indicates that the cross-room call has been successfully disconnected. For more information, please see [Error Codes](https://intl.cloud.tencent.com/document/product/647/35135).|
228
+ |errMsg|Error message|
229
+
230
+ ## onUpdateOtherRoomForwardMode
231
+
232
+ **Result of changing the upstream capability of the cross-room anchor.**
233
+
234
+ You can call the updateOtherRoomForwardMode API in ` TRTCCloud ` to limit the upstream capability of the cross-room anchor in the current room, and prohibit or allow the cross-room anchor to publish audio/video/sub-stream. This behavior will affect all users in the room.
235
+
236
+ The caller will receive the ` onUpdateOtherRoomForwardMode() ` callback to determine whether the changing upstream capability of the cross-room anchor is successful.
237
+
238
+ |Param|DESC|
239
+ |---------|---------|
240
+ |errCode|Error code. ` ERR_NULL ` indicates that upstream capability of the cross-room anchor is changed successfully. For more information, please see [Error Codes](https://intl.cloud.tencent.com/document/product/647/35135).|
241
+ |errMsg|Error message|
242
+
243
+ ## onRemoteUserEnterRoom
244
+
245
+ **A user entered the room.**
246
+
247
+ Due to performance concerns, this callback works differently in different scenarios (i.e., ` AppScene `, which you can specify by setting the second parameter when calling enterRoom).
248
+ - Live streaming scenarios (TRTCAppSceneLIVE or TRTCAppSceneVoiceChatRoom): in live streaming scenarios, a user is either in the role of an anchor or audience. The callback is returned only when an anchor enters the room.
249
+
250
+ - Call scenarios (TRTCAppSceneVideoCall or TRTCAppSceneAudioCall): in call scenarios, the concept of roles does not apply (all users can be considered as anchors), and the callback is returned when any user enters the room.
251
+
252
+ |Param|DESC|
253
+ |---------|---------|
254
+ |userId|User ID of the remote user|
255
+
256
+ > **Note**
257
+ >
258
+
259
+ > 1. The ` onRemoteUserEnterRoom ` callback indicates that a user entered the room, but it does not necessarily mean that the user enabled audio or video.
260
+ >
261
+
262
+ > 2. If you want to know whether a user enabled video, we recommend you use the onUserVideoAvailable callback.
263
+ >
264
+
265
+ ## onRemoteUserLeaveRoom
266
+
267
+ **A user exited the room.**
268
+
269
+ As with onRemoteUserEnterRoom, this callback works differently in different scenarios (i.e., ` AppScene `, which you can specify by setting the second parameter when calling enterRoom).
270
+ - Live streaming scenarios (TRTCAppSceneLIVE or TRTCAppSceneVoiceChatRoom): the callback is triggered only when an anchor exits the room.
271
+
272
+ - Call scenarios (TRTCAppSceneVideoCall or TRTCAppSceneAudioCall): in call scenarios, the concept of roles does not apply, and the callback is returned when any user exits the room.
273
+
274
+ |Param|DESC|
275
+ |---------|---------|
276
+ |reason|Reason for room exit. ` 0 `: the user exited the room voluntarily; ` 1 `: the user exited the room due to timeout; ` 2 `: the user was removed from the room; ` 3 `: the anchor user exited the room due to switch to audience.|
277
+ |userId|User ID of the remote user|
278
+
279
+ ## onUserVideoAvailable
280
+
281
+ **A remote user published/unpublished primary stream video.**
282
+
283
+ The primary stream is usually used for camera images. If you receive the ` onUserVideoAvailable(userId, true) ` callback, it indicates that the user has available primary stream video.
284
+
285
+ You can then call startRemoteView to subscribe to the remote user’s video. If the subscription is successful, you will receive the ` onFirstVideoFrame(userid) ` callback, which indicates that the first video frame of the user is rendered.
286
+
287
+ If you receive the ` onUserVideoAvailable(userId, false) ` callback, it indicates that the video of the remote user is disabled, which may be because the user called muteLocalVideo or stopLocalPreview.
288
+
289
+ |Param|DESC|
290
+ |---------|---------|
291
+ |available|Whether the user published (or unpublished) primary stream video. ` true `: published; ` false `: unpublished|
292
+ |userId|User ID of the remote user|
293
+
294
+ ## onUserSubStreamAvailable
295
+
296
+ **A remote user published/unpublished substream video.**
297
+
298
+ The substream is usually used for screen sharing images. If you receive the ` onUserSubStreamAvailable(userId, true) ` callback, it indicates that the user has available substream video.
299
+
300
+ You can then call startRemoteView to subscribe to the remote user’s video. If the subscription is successful, you will receive the ` onFirstVideoFrame(userid) ` callback, which indicates that the first frame of the user is rendered.
301
+
302
+ |Param|DESC|
303
+ |---------|---------|
304
+ |available|Whether the user published (or unpublished) substream video. ` true `: published; ` false `: unpublished|
305
+ |userId|User ID of the remote user|
306
+
307
+ > **Note**
308
+ >
309
+
310
+ > The API used to display substream images is startRemoteView, not startRemoteSubStreamView, startRemoteSubStreamView is deprecated.
311
+ >
312
+
313
+ ## onUserAudioAvailable
314
+
315
+ **A remote user published/unpublished audio.**
316
+
317
+ If you receive the ` onUserAudioAvailable(userId, true) ` callback, it indicates that the user published audio.
318
+ - In auto-subscription mode, the SDK will play the user’s audio automatically.
319
+
320
+ - In manual subscription mode, you can call muteRemoteAudio(userid, false) to play the user’s audio.
321
+
322
+ |Param|DESC|
323
+ |---------|---------|
324
+ |available|Whether the user published (or unpublished) audio. ` true `: published; ` false `: unpublished|
325
+ |userId|User ID of the remote user|
326
+
327
+ > **Note**
328
+ >
329
+
330
+ > The auto-subscription mode is used by default. You can switch to the manual subscription mode by calling setDefaultStreamRecvMode, but it must be called before room entry for the switch to take effect.
331
+ >
332
+
333
+ ## onFirstVideoFrame
334
+
335
+ **The SDK started rendering the first video frame of the local or a remote user.**
336
+
337
+ The SDK returns this event callback when it starts rendering your first video frame or that of a remote user. The ` userId ` in the callback can help you determine whether the frame is yours or a remote user’s.
338
+ - If ` userId ` is empty, it indicates that the SDK has started rendering your first video frame. The precondition is that you have called startLocalPreview or startScreenCapture.
339
+
340
+ - If ` userId ` is not empty, it indicates that the SDK has started rendering the first video frame of a remote user. The precondition is that you have called startRemoteView to subscribe to the user’s video.
341
+
342
+ |Param|DESC|
343
+ |---------|---------|
344
+ |height|Video height|
345
+ |streamType|Video stream type. The primary stream (` Main `) is usually used for camera images, and the substream (` Sub `) for screen sharing images.|
346
+ |userId|The user ID of the local or a remote user. If it is empty, it indicates that the first local video frame is available; if it is not empty, it indicates that the first video frame of a remote user is available.|
347
+ |width|Video width|
348
+
349
+ > **Note**
350
+ >
351
+
352
+ > 1. The callback of the first local video frame being rendered is triggered only after you call startLocalPreview or startScreenCapture.
353
+ >
354
+
355
+ > 2. The callback of the first video frame of a remote user being rendered is triggered only after you call startRemoteView or startRemoteSubStreamView.
356
+ >
357
+
358
+ ## onFirstAudioFrame
359
+
360
+ **The SDK started playing the first audio frame of a remote user.**
361
+
362
+ The SDK returns this callback when it plays the first audio frame of a remote user. The callback is not returned for the playing of the first audio frame of the local user.
363
+
364
+ |Param|DESC|
365
+ |---------|---------|
366
+ |userId|User ID of the remote user|
367
+
368
+ ## onSendFirstLocalVideoFrame
369
+
370
+ **The first local video frame was published.**
371
+
372
+ After you enter a room and call startLocalPreview or startScreenCapture to enable local video capturing (whichever happens first),
373
+
374
+ the SDK will start video encoding and publish the local video data via its network module to the cloud.
375
+
376
+ It returns the ` onSendFirstLocalVideoFrame ` callback after publishing the first local video frame.
377
+
378
+ |Param|DESC|
379
+ |---------|---------|
380
+ |streamType|Video stream type. The primary stream (` Main `) is usually used for camera images, and the substream (` Sub `) for screen sharing images.|
381
+
382
+ ## onSendFirstLocalAudioFrame
383
+
384
+ **The first local audio frame was published.**
385
+
386
+ After you enter a room and call startLocalAudio to enable audio capturing (whichever happens first),
387
+
388
+ the SDK will start audio encoding and publish the local audio data via its network module to the cloud.
389
+
390
+ The SDK returns the ` onSendFirstLocalAudioFrame ` callback after sending the first local audio frame.
391
+
392
+ ## onRemoteVideoStatusUpdated
393
+
394
+ **Change of remote video status.**
395
+
396
+ You can use this callback to get the status (` Playing `, ` Loading `, or ` Stopped `) of the video of each remote user and display it on the UI.
397
+
398
+ |Param|DESC|
399
+ |---------|---------|
400
+ |extraInfo|Extra information|
401
+ |reason|Reason for the change of status|
402
+ |status|Video status, which may be ` Playing `, ` Loading `, or ` Stopped `|
403
+ |streamType|Video stream type. The primary stream (` Main `) is usually used for camera images, and the substream (` Sub `) for screen sharing images.|
404
+ |userId|User ID|
405
+
406
+ ## onRemoteAudioStatusUpdated
407
+
408
+ **Change of remote audio status.**
409
+
410
+ You can use this callback to get the status (` Playing `, ` Loading `, or ` Stopped `) of the audio of each remote user and display it on the UI.
411
+
412
+ |Param|DESC|
413
+ |---------|---------|
414
+ |extraInfo|Extra information|
415
+ |reason|Reason for the change of status|
416
+ |status|Audio status, which may be ` Playing `, ` Loading `, or ` Stopped `|
417
+ |userId|User ID|
418
+
419
+ ## onUserVideoSizeChanged
420
+
421
+ **Change of remote video size.**
422
+
423
+ If you receive the ` onUserVideoSizeChanged(userId, streamType, newWidth, newHeight) ` callback, it indicates that the user changed the video size. It may be triggered by setVideoEncoderParam or setSubStreamEncoderParam.
424
+
425
+ |Param|DESC|
426
+ |---------|---------|
427
+ |newHeight|Video height|
428
+ |newWidth|Video width|
429
+ |streamType|Video stream type. The primary stream (` Main `) is usually used for camera images, and the substream (` Sub `) for screen sharing images.|
430
+ |userId|User ID|
431
+
432
+ ## onNetworkQuality
433
+
434
+ **Real-time network quality statistics.**
435
+
436
+ This callback is returned every 2 seconds and notifies you of the upstream and downstream network quality detected by the SDK.
437
+
438
+ The SDK uses a built-in proprietary algorithm to assess the current latency, bandwidth, and stability of the network and returns a result.
439
+
440
+ If the result is ` 1 ` (excellent), it means that the current network conditions are excellent; if it is ` 6 ` (down), it means that the current network conditions are too bad to support TRTC calls.
441
+
442
+ |Param|DESC|
443
+ |---------|---------|
444
+ |localQuality|Upstream network quality|
445
+ |remoteQuality|Downstream network quality, it refers to the data quality finally measured on the local side after the data flow passes through a complete transmission link of "remote ->cloud ->local". Therefore, the downlink network quality here represents the joint impact of the remote uplink and the local downlink.|
446
+
447
+ > **Note**
448
+ >
449
+
450
+ > The uplink quality of remote users cannot be determined independently through this interface.
451
+ >
452
+
453
+ ## onStatistics
454
+
455
+ **Real-time statistics on technical metrics.**
456
+
457
+ This callback is returned every 2 seconds and notifies you of the statistics on technical metrics related to video, audio, and network. The metrics are listed in TRTCStatistics:
458
+ - Video statistics: video resolution (` resolution `), frame rate (` FPS `), bitrate (` bitrate `), etc.
459
+
460
+ - Audio statistics: audio sample rate (` samplerate `), number of audio channels (` channel `), bitrate (` bitrate `), etc.
461
+
462
+ - Network statistics: the round trip time (` rtt `) between the SDK and the cloud (SDK -> Cloud -> SDK), package loss rate (` loss `), upstream traffic (` sentBytes `), downstream traffic (` receivedBytes `), etc.
463
+
464
+ |Param|DESC|
465
+ |---------|---------|
466
+ |statistics|Statistics, including local statistics and the statistics of remote users. For details, please see TRTCStatistics.|
467
+
468
+ > **Note**
469
+ >
470
+
471
+ > If you want to learn about only the current network quality and do not want to spend much time analyzing the statistics returned by this callback, we recommend you use onNetworkQuality.
472
+ >
473
+
474
+ ## onSpeedTestResult
475
+
476
+ **Callback of network speed test.**
477
+
478
+ The callback is triggered by startSpeedTest.
479
+
480
+ |Param|DESC|
481
+ |---------|---------|
482
+ |result|Speed test data, including loss rates, rtt and bandwidth rates, please refer to TRTCSpeedTestResult for details.|
483
+
484
+ ## onConnectionLost
485
+
486
+ **The SDK was disconnected from the cloud.**
487
+
488
+ The SDK returns this callback when it is disconnected from the cloud, which may be caused by network unavailability or change of network, for example, when the user walks into an elevator.
489
+
490
+ After returning this callback, the SDK will attempt to reconnect to the cloud, and will return the onTryToReconnect callback. When it is reconnected, it will return the onConnectionRecovery callback.
491
+
492
+ In other words, the SDK proceeds from one event to the next in the following order:
493
+
494
+ ## onTryToReconnect
495
+
496
+ **The SDK is reconnecting to the cloud.**
497
+
498
+ When the SDK is disconnected from the cloud, it returns the onConnectionLost callback. It then attempts to reconnect and returns this callback (onTryToReconnect). After it is reconnected, it returns the onConnectionRecovery callback.
499
+
500
+ ## onConnectionRecovery
501
+
502
+ **The SDK is reconnected to the cloud.**
503
+
504
+ When the SDK is disconnected from the cloud, it returns the onConnectionLost callback. It then attempts to reconnect and returns the onTryToReconnect callback. After it is reconnected, it returns this callback (onConnectionRecovery).
505
+
506
+ ## onCameraDidReady
507
+
508
+ **The camera is ready.**
509
+
510
+ After you call startLocalPreview, the SDK will try to start the camera and return this callback if the camera is started.
511
+
512
+ If it fails to start the camera, it’s probably because the application does not have access to the camera or the camera is being used.
513
+
514
+ You can capture the onError callback to learn about the exception and let users know via UI messages.
515
+
516
+ ## onMicDidReady
517
+
518
+ **The mic is ready.**
519
+
520
+ After you call startLocalAudio, the SDK will try to start the mic and return this callback if the mic is started.
521
+
522
+ If it fails to start the mic, it’s probably because the application does not have access to the mic or the mic is being used.
523
+
524
+ You can capture the onError callback to learn about the exception and let users know via UI messages.
525
+
526
+ ## onAudioRouteChanged
527
+
528
+ **The audio route changed (for mobile devices only).**
529
+
530
+ Audio route is the route (speaker or receiver) through which audio is played.
531
+ - When audio is played through the receiver, the volume is relatively low, and the sound can be heard only when the phone is put near the ear. This mode has a high level of privacy and is suitable for answering calls.
532
+
533
+ - When audio is played through the speaker, the volume is relatively high, and there is no need to put the phone near the ear. This mode enables the "hands-free" feature.
534
+
535
+ - When audio is played through the wired earphone.
536
+
537
+ - When audio is played through the bluetooth earphone.
538
+
539
+ - When audio is played through the USB sound card.
540
+
541
+ |Param|DESC|
542
+ |---------|---------|
543
+ |fromRoute|The audio route used before the change|
544
+ |route|Audio route, i.e., the route (speaker or receiver) through which audio is played|
545
+
546
+ ## onUserVoiceVolume
547
+
548
+ **Volume.**
549
+
550
+ The SDK can assess the volume of each channel and return this callback on a regular basis. You can display, for example, a waveform or volume bar on the UI based on the statistics returned.
551
+
552
+ You need to first call enableAudioVolumeEvaluation to enable the feature and set the interval for the callback.
553
+
554
+ Note that the SDK returns this callback at the specified interval regardless of whether someone is speaking in the room.
555
+
556
+ |Param|DESC|
557
+ |---------|---------|
558
+ |totalVolume|The total volume of all remote users. Value range: [0, 100]|
559
+ |userVolumes|An array that represents the volume of all users who are speaking in the room. Value range: [0, 100]|
560
+
561
+ > **Note**
562
+ >
563
+
564
+ > ` userVolumes ` is an array. If ` userId ` is empty, the elements in the array represent the volume of the local user’s audio. Otherwise, they represent the volume of a remote user’s audio.
565
+ >
566
+
567
+ ## onDeviceChange
568
+
569
+ **The status of a local device changed (for desktop OS only).**
570
+
571
+ The SDK returns this callback when a local device (camera, mic, or speaker) is connected or disconnected.
572
+
573
+ |Param|DESC|
574
+ |---------|---------|
575
+ |deviceId|Device ID|
576
+ |deviceType|Device type. ` 0 `: microphone; ` 1 `: speak; ` 2 `: camera|
577
+ |state|Device status. ` 0 `: connected; ` 1 `: disconnected; ` 2 `: started|
578
+
579
+ ## onAudioDeviceCaptureVolumeChanged
580
+
581
+ **The capturing volume of the mic changed.**
582
+
583
+ On desktop OS such as macOS and Windows, users can set the capturing volume of the mic in the audio control panel.
584
+
585
+ The higher volume a user sets, the higher the volume of raw audio captured by the mic.
586
+
587
+ On some keyboards and laptops, users can also mute the mic by pressing a key (whose icon is a crossed out mic).
588
+
589
+ When users set the mic capturing volume via the UI or a keyboard shortcut, the SDK will return this callback.
590
+
591
+ |Param|DESC|
592
+ |---------|---------|
593
+ |muted|Whether the mic is muted. ` true `: muted; ` false `: unmuted|
594
+ |volume|System audio capturing volume, which users can set in the audio control panel. Value range: [0, 100]|
595
+
596
+ > **Note**
597
+ >
598
+
599
+ > You need to call enableAudioVolumeEvaluation and set the callback interval (` interval ` > 0) to enable the callback. To disable the callback, set ` interval ` to ` 0 `.
600
+ >
601
+
602
+ ## onAudioDevicePlayoutVolumeChanged
603
+
604
+ **The playback volume changed.**
605
+
606
+ On desktop OS such as macOS and Windows, users can set the system’s playback volume in the audio control panel.
607
+
608
+ On some keyboards and laptops, users can also mute the speaker by pressing a key (whose icon is a crossed out speaker).
609
+
610
+ When users set the system’s playback volume via the UI or a keyboard shortcut, the SDK will return this callback.
611
+
612
+ |Param|DESC|
613
+ |---------|---------|
614
+ |muted|Whether the speaker is muted. ` true `: muted; ` false `: unmuted|
615
+ |volume|The system playback volume, which users can set in the audio control panel. Value range: 0-100|
616
+
617
+ > **Note**
618
+ >
619
+
620
+ > You need to call enableAudioVolumeEvaluation and set the callback interval (` interval ` > 0) to enable the callback. To disable the callback, set ` interval ` to ` 0 `.
621
+ >
622
+
623
+ ## onSystemAudioLoopbackError
624
+
625
+ **Whether system audio capturing is enabled successfully (for desktop OS only).**
626
+
627
+ On macOS, you can call startSystemAudioLoopback to install an audio driver and have the SDK capture the audio played back by the system.
628
+
629
+ On Windows systems, you can use startSystemAudioLoopback to have the SDK capture the audio played back by the system.
630
+
631
+ In use cases such as video teaching and music live streaming, the teacher can use this feature to let the SDK capture the sound of the video played by his or her computer, so that students in the room can hear the sound too.
632
+
633
+ The SDK returns this callback after trying to enable system audio capturing. To determine whether it is actually enabled, pay attention to the error parameter in the callback.
634
+
635
+ |Param|DESC|
636
+ |---------|---------|
637
+ |err|If it is ` ERR_NULL `, system audio capturing is enabled successfully. Otherwise, it is not. For more information, please see [Error Codes](https://intl.cloud.tencent.com/document/product/647/35135).|
638
+
639
+ ## onTestMicVolume
640
+
641
+ **Volume during mic test.**
642
+
643
+ When you call startMicDeviceTest to test the mic, the SDK will keep returning this callback. The ` volume ` parameter represents the volume of the audio captured by the mic.
644
+
645
+ If the value of the ` volume ` parameter fluctuates, the mic works properly. If it is ` 0 ` throughout the test, it indicates that there is a problem with the mic, and users should be prompted to switch to a different mic.
646
+
647
+ |Param|DESC|
648
+ |---------|---------|
649
+ |volume|Captured mic volume. Value range: [0, 100]|
650
+
651
+ ## onTestSpeakerVolume
652
+
653
+ **Volume during speaker test.**
654
+
655
+ When you call startSpeakerDeviceTest to test the speaker, the SDK will keep returning this callback.
656
+
657
+ The ` volume ` parameter in the callback represents the volume of audio sent by the SDK to the speaker for playback. If its value fluctuates but users cannot hear any sound, the speaker is not working properly.
658
+
659
+ |Param|DESC|
660
+ |---------|---------|
661
+ |volume|The volume of audio sent by the SDK to the speaker for playback. Value range: [0, 100]|
662
+
663
+ ## onRecvCustomCmdMsg
664
+
665
+ **Receipt of custom message.**
666
+
667
+ When a user in a room uses sendCustomCmdMsg to send a custom message, other users in the room can receive the message through the ` onRecvCustomCmdMsg ` callback.
668
+
669
+ |Param|DESC|
670
+ |---------|---------|
671
+ |cmdID|Command ID|
672
+ |message|Message data|
673
+ |seq|Message serial number|
674
+ |userId|User ID|
675
+
676
+ ## onMissCustomCmdMsg
677
+
678
+ **Loss of custom message.**
679
+
680
+ When you use sendCustomCmdMsg to send a custom UDP message, even if you enable reliable transfer (by setting ` reliable ` to ` true `), there is still a chance of message loss. Reliable transfer only helps maintain a low probability of message loss, which meets the reliability requirements in most cases.
681
+
682
+ If the sender sets ` reliable ` to ` true `, the SDK will use this callback to notify the recipient of the number of custom messages lost during a specified time period (usually 5s) in the past.
683
+
684
+ |Param|DESC|
685
+ |---------|---------|
686
+ |cmdID|Command ID|
687
+ |errCode|Error code|
688
+ |missed|Number of lost messages|
689
+ |userId|User ID|
690
+
691
+ > **Note**
692
+ >
693
+
694
+ > The recipient receives this callback only if the sender sets ` reliable ` to ` true `.
695
+ >
696
+
697
+ ## onRecvSEIMsg
698
+
699
+ **Receipt of SEI message.**
700
+
701
+ If a user in the room uses sendSEIMsg to send an SEI message via video frames, other users in the room can receive the message through the ` onRecvSEIMsg ` callback.
702
+
703
+ |Param|DESC|
704
+ |---------|---------|
705
+ |message|Data|
706
+ |userId|User ID|
707
+
708
+ ## onStartPublishing
709
+
710
+ **Started publishing to Tencent Cloud CSS CDN.**
711
+
712
+ When you call startPublishing to publish streams to Tencent Cloud CSS CDN, the SDK will sync the command to the CVM immediately.
713
+
714
+ The SDK will then receive the execution result from the CVM and return the result to you via this callback.
715
+
716
+ |Param|DESC|
717
+ |---------|---------|
718
+ |err|` 0 `: successful; other values: failed. For more information, please see [Error Codes](https://intl.cloud.tencent.com/document/product/647/35135).|
719
+ |errMsg|Error message|
720
+
721
+ ## onStopPublishing
722
+
723
+ **Stopped publishing to Tencent Cloud CSS CDN.**
724
+
725
+ When you call stopPublishing to stop publishing streams to Tencent Cloud CSS CDN, the SDK will sync the command to the CVM immediately.
726
+
727
+ The SDK will then receive the execution result from the CVM and return the result to you via this callback.
728
+
729
+ |Param|DESC|
730
+ |---------|---------|
731
+ |err|` 0 `: successful; other values: failed. For more information, please see [Error Codes](https://intl.cloud.tencent.com/document/product/647/35135).|
732
+ |errMsg|Error message|
733
+
734
+ ## onStartPublishCDNStream
735
+
736
+ **Started publishing to non-Tencent Cloud’s live streaming CDN.**
737
+
738
+ When you call startPublishCDNStream to start publishing streams to a non-Tencent Cloud’s live streaming CDN, the SDK will sync the command to the CVM immediately.
739
+
740
+ The SDK will then receive the execution result from the CVM and return the result to you via this callback.
741
+
742
+ |Param|DESC|
743
+ |---------|---------|
744
+ |err|` 0 `: successful; other values: failed. For more information, please see [Error Codes](https://intl.cloud.tencent.com/document/product/647/35135).|
745
+ |errMsg|Error message|
746
+
747
+ > **Note**
748
+ >
749
+
750
+ > If you receive a callback that the command is executed successfully, it only means that your command was sent to Tencent Cloud’s backend server. If the CDN vendor does not accept your streams, the publishing will still fail.
751
+ >
752
+
753
+ ## onStopPublishCDNStream
754
+
755
+ **Stopped publishing to non-Tencent Cloud’s live streaming CDN.**
756
+
757
+ When you call stopPublishCDNStream to stop publishing to a non-Tencent Cloud’s live streaming CDN, the SDK will sync the command to the CVM immediately.
758
+
759
+ The SDK will then receive the execution result from the CVM and return the result to you via this callback.
760
+
761
+ |Param|DESC|
762
+ |---------|---------|
763
+ |err|` 0 `: successful; other values: failed. For more information, please see [Error Codes](https://intl.cloud.tencent.com/document/product/647/35135).|
764
+ |errMsg|Error message|
765
+
766
+ ## onSetMixTranscodingConfig
767
+
768
+ **Set the layout and transcoding parameters for On-Cloud MixTranscoding.**
769
+
770
+ When you call setMixTranscodingConfig to modify the layout and transcoding parameters for On-Cloud MixTranscoding, the SDK will sync the command to the CVM immediately.
771
+
772
+ The SDK will then receive the execution result from the CVM and return the result to you via this callback.
773
+
774
+ |Param|DESC|
775
+ |---------|---------|
776
+ |err|` 0 `: successful; other values: failed. For more information, please see [Error Codes](https://intl.cloud.tencent.com/document/product/647/35135).|
777
+ |errMsg|Error message|
778
+
779
+ ## onStartPublishMediaStream
780
+
781
+ **Callback for starting to publish.**
782
+
783
+ When you call startPublishMediaStream to publish a stream to the TRTC backend, the SDK will immediately update the command to the cloud server.
784
+
785
+ The SDK will then receive the publishing result from the cloud server and will send the result to you via this callback.
786
+ | Param | DESC |
787
+ | --- | --- |
788
+ | code | : <code> 0 </code>: Successful; other values: Failed. For more information, please see <a href="https://intl.cloud.tencent.com/document/product/647/35135">Error Codes</a>. |
789
+ | extraInfo | : Additional information. For some error codes, there may be additional information to help you troubleshoot the issues.<br>If the code return value is ERR_SERVER_PROCESS_FAILED, it means the server failed to process your request. You can use "error_code" as the key to retrieve the error code returned by the server. The specific error codes and recommended actions are as follows:<br>- 2000: Parameter error. Check the request parameters.<br>- 2001: Live streaming service is not enabled. Enable it in the Live streaming console.<br>- 2021: Third-party retweet service is not enabled. Contact product support to enable it.<br>- 3000: Internal server error. Retry is recommended.<br>- 4006: Concurrency conflict with the same task. The server is still processing the previous startPublishMediaStream task. Retry after a delay is recommended.<br>- 4007: The same task has already been successfully started using startPublishMediaStream. Use the returned taskId to call the updatePublishMediaStream API to update the task.<br>- 5001: Resource constraints. Retry after a delay is recommended. |
790
+ | message | : The callback information. |
791
+ | taskId | : If a request is successful, a task ID will be returned via the callback. You need to provide this task ID when you call updatePublishMediaStream to modify publishing parameters or stopPublishMediaStream to stop publishing. |
792
+
793
+ ## onUpdatePublishMediaStream
794
+
795
+ **Callback for modifying publishing parameters.**
796
+
797
+ When you call updatePublishMediaStream to modify publishing parameters, the SDK will immediately update the command to the cloud server.
798
+
799
+ The SDK will then receive the modification result from the cloud server and will send the result to you via this callback.
800
+ | Param | DESC |
801
+ | --- | --- |
802
+ | code | : <code> 0 </code>: Successful; other values: Failed. For more information, please see <a href="https://intl.cloud.tencent.com/document/product/647/35135">Error Codes</a>. |
803
+ | extraInfo | : Additional information. For some error codes, there may be additional information to help you troubleshoot the issues.<br>If the code return value is ERR_SERVER_PROCESS_FAILED, it means the server failed to process your request. You can use "error_code" as the key to retrieve the error code returned by the server. The specific error codes and recommended solutions are as follows:<br>- 2000: Parameter error. Check the request parameters.<br>- 2001: Live streaming service is not enabled. Enable it in the Live Streaming Console.<br>- 2002: Task not found. Restart the task by calling the startPublishMediaStream API.<br>- 2018: Concurrent requests are out of order. Retry with the latest streaming parameters.<br>- 2021: Third-party retweet service is not enabled. Contact product support to enable it.<br>- 3000: Internal server error. Retry.<br>- 4003: Task is exiting. Stop the task by calling the stopPublishMediaStream API first, then restart it by calling the startPublishMediaStream API. |
804
+ | message | : The callback information. |
805
+ | taskId | : The task ID you pass in when calling updatePublishMediaStream, which is used to identify a request. |
806
+
807
+ ## onStopPublishMediaStream
808
+
809
+ **Callback for stopping publishing.**
810
+
811
+ When you call stopPublishMediaStream to stop publishing, the SDK will immediately update the command to the cloud server.
812
+
813
+ The SDK will then receive the modification result from the cloud server and will send the result to you via this callback.
814
+ | Param | DESC |
815
+ | --- | --- |
816
+ | code | : <code> 0 </code>: Successful; other values: Failed. For more information, please see <a href="https://intl.cloud.tencent.com/document/product/647/35135">Error Codes</a>. |
817
+ | extraInfo | : Additional information. For some error codes, there may be additional information to help you troubleshoot the issues.<br>If the code return value is ERR_SERVER_PROCESS_FAILED, it means the server was unable to process your request. You can use "error_code" as the key to retrieve the error code returned by the server. The specific error codes and recommended actions are as follows:<br>- 2000: Parameter error. Please check the request parameters.<br>- 2002: Task not found. No action required.<br>- 3000: Internal server error. Please retry.<br>- 4003: Task is exiting. No action required. |
818
+ | message | : The callback information. |
819
+ | taskId | : The task ID you pass in when calling stopPublishMediaStream, which is used to identify a request. |
820
+
821
+ ## onCdnStreamStateChanged
822
+
823
+ **Callback for change of RTMP/RTMPS publishing status.**
824
+
825
+ When you call startPublishMediaStream to publish a stream to the TRTC backend, the SDK will immediately update the command to the cloud server.
826
+
827
+ If you set the publishing destination (TRTCPublishTarget) to the URL of Tencent Cloud or a third-party CDN, you will be notified of the RTMP/RTMPS publishing status via this callback.
828
+ | Param | DESC |
829
+ | --- | --- |
830
+ | cdnUrl | : The URL you specify in TRTCPublishTarget when you call startPublishMediaStream. |
831
+ | code | : The publishing result. <code> 0 </code>: Successful; other values: Failed. For more information, please see <a href="https://intl.cloud.tencent.com/document/product/647/35135">Error Codes</a>. |
832
+ | extraInfo | : Additional information. For some error codes, there may be additional information to help you troubleshoot the issues. |
833
+ | message | : The publishing information. |
834
+ | status | : The publishing status.<br>- 0: The publishing has not started yet or has ended. This value will be returned after you call stopPublishMediaStream.<br>- 1: The TRTC server is connecting to the CDN server. If the first attempt fails, the TRTC backend will retry multiple times and will return this value via the callback (every five seconds). After publishing succeeds, the value <code> 2 </code> will be returned. If a server error occurs or publishing is still unsuccessful after 60 seconds, the value <code> 4 </code> will be returned.<br>- 2: The TRTC server is publishing to the CDN. This value will be returned if the publishing succeeds.<br>- 3: The TRTC server is disconnected from the CDN server and is reconnecting. If a CDN error occurs or publishing is interrupted, the TRTC backend will try to reconnect and resume publishing and will return this value via the callback (every five seconds). After publishing resumes, the value <code> 2 </code> will be returned. If a server error occurs or the attempt to resume publishing is still unsuccessful after 60 seconds, the value <code> 4 </code> will be returned.<br>- 4: The TRTC server is disconnected from the CDN server and failed to reconnect within the timeout period. In this case, the publishing is deemed to have failed. You can call updatePublishMediaStream to try again.<br>- 5: The TRTC server is disconnecting from the CDN server. After you call stopPublishMediaStream, the SDK will return this value first and then the value <code> 0 </code>. |
835
+
836
+ ## onScreenCaptureStarted
837
+
838
+ **Screen sharing started.**
839
+
840
+ The SDK returns this callback when you call startScreenCapture and other APIs to start screen sharing.
841
+
842
+ ## onScreenCaptureResumed
843
+
844
+ **Screen sharing was resumed.**
845
+
846
+ Triggered when screen sharing is resumed via resumeScreenCapture.
847
+ | Param | DESC |
848
+ | --- | --- |
849
+ | reason | The reason for resuming:<br>- 0: The user manually resumed the screen sharing.<br>- 1: Resumed because the shared window became visible again (macOS) / Resumed automatically after screen sharing parameters were set (Windows).<br>- 2: Resumed because the shared window was restored from minimized (Windows only).<br>- 3: Resumed because the shared window was restored from hidden (Windows only).<br>- 4: Resumed due to a system operation (iOS only). |
850
+
851
+ ## onScreenCaptureStoped
852
+
853
+ **Screen sharing stopped.**
854
+
855
+ The SDK returns this callback when you call stopScreenCapture to stop screen sharing.
856
+
857
+ |Param|DESC|
858
+ |---------|---------|
859
+ |reason|Reason. ` 0 `: the user stopped screen sharing; ` 1 `: screen sharing stopped because the shared window was closed.|
860
+
861
+ ## onScreenCaptureCovered
862
+
863
+ **The shared window was covered (for Windows only).**
864
+
865
+ The SDK returns this callback when the shared window is covered and cannot be captured. Upon receiving this callback, you can prompt users via the UI to move and expose the window.
866
+
867
+ ## onLocalRecordBegin
868
+
869
+ **Local recording started.**
870
+
871
+ When you call startLocalRecording to start local recording, the SDK returns this callback to notify you whether recording is started successfully.
872
+ | Param | DESC |
873
+ | --- | --- |
874
+ | errCode | status.<br>- 0: successful.<br>- -1: failed.<br>- -2: unsupported format.<br>- -6: recording has been started. Stop recording first.<br>- -7: recording file already exists and needs to be deleted.<br>- -8: recording directory does not have the write permission. Please check the directory permission. |
875
+ | storagePath | Storage path of recording file |
876
+
877
+ ## onLocalRecording
878
+
879
+ **Local media is being recorded.**
880
+
881
+ The SDK returns this callback regularly after local recording is started successfully via the calling of startLocalRecording.
882
+
883
+ You can capture this callback to stay up to date with the status of the recording task.
884
+
885
+ You can set the callback interval when calling startLocalRecording.
886
+
887
+ |Param|DESC|
888
+ |---------|---------|
889
+ |duration|Cumulative duration of recording, in milliseconds|
890
+ |storagePath|Storage path of recording file|
891
+
892
+ ## onLocalRecordFragment
893
+
894
+ **Record fragment finished.**
895
+
896
+ When fragment recording is enabled, this callback will be invoked when each fragment file is finished.
897
+
898
+ |Param|DESC|
899
+ |---------|---------|
900
+ |storagePath|Storage path of the fragment.|
901
+
902
+ ## onLocalRecordComplete
903
+
904
+ **Local recording stopped.**
905
+
906
+ When you call stopLocalRecording to stop local recording, the SDK returns this callback to notify you of the recording result.
907
+ | Param | DESC |
908
+ | --- | --- |
909
+ | errCode | status<br>- 0: successful.<br>- -1: failed.<br>- -2: Switching resolution or horizontal and vertical screen causes the recording to stop.<br>- -3: recording duration is too short or no video or audio data is received. Check the recording duration or whether audio or video capture is enabled. |
910
+ | storagePath | Storage path of recording file |
911
+
912
+ ## onSnapshotComplete
913
+
914
+ **Finished taking a local screenshot.**
915
+
916
+ |Param|DESC|
917
+ |---------|---------|
918
+ |bmp|Screenshot result. If it is ` null `, the screenshot failed to be taken.|
919
+ |data|Screenshot data. If it is ` nullptr `, it indicates that the SDK failed to take the screenshot.|
920
+ |format|Screenshot data format. Only TRTCVideoPixelFormat_BGRA32 is supported now.|
921
+ |height|Screenshot height|
922
+ |length|Screenshot data length. In BGRA32 format, ` length = width * height * 4 `.|
923
+ |type|Video stream type|
924
+ |userId|User ID. If it is empty, the screenshot is a local image.|
925
+ |width|Screenshot width|
926
+
927
+ > **Note**
928
+ >
929
+
930
+ > The parameters of the full-platform C++ interface and the Java interface are different. The C++ interface uses 7 parameters to describe a screenshot, while the Java interface uses only one Bitmap to describe a screenshot.
931
+ >
932
+
933
+ ## onExperimentalEvent
934
+
935
+ **Callback of experimental APIs.**
936
+
937
+ ## onUserEnter
938
+
939
+ **An anchor entered the room (disused).**
940
+
941
+ @deprecated This callback is not recommended in the new version. Please use onRemoteUserEnterRoom instead.
942
+
943
+ ## onUserExit
944
+
945
+ **An anchor left the room (disused).**
946
+
947
+ @deprecated This callback is not recommended in the new version. Please use onRemoteUserLeaveRoom instead.
948
+
949
+ ## onAudioEffectFinished
950
+
951
+ **Audio effects ended (disused).**
952
+
953
+ @deprecated This callback is not recommended in the new version. Please use TXAudioEffectManager instead.
954
+
955
+ Audio effects and background music can be started using the same API (startPlayMusic) now instead of separate ones.
956
+
957
+ ## onPlayBGMBegin
958
+
959
+ **Started playing background music (disused).**
960
+
961
+ @deprecated This callback is not recommended in the new version. Please use ITXMusicPlayObserver instead.
962
+
963
+ Audio effects and background music can be started using the same API (startPlayMusic) now instead of separate ones.
964
+
965
+ ## onPlayBGMProgress
966
+
967
+ **Playback progress of background music (disused).**
968
+
969
+ @deprecated This callback is not recommended in the new version. Please use ITXMusicPlayObserver instead.
970
+
971
+ Audio effects and background music can be started using the same API (startPlayMusic) now instead of separate ones.
972
+
973
+ ## onPlayBGMComplete
974
+
975
+ **Background music stopped (disused).**
976
+
977
+ @deprecated This callback is not recommended in the new version. Please use ITXMusicPlayObserver instead.
978
+
979
+ Audio effects and background music can be started using the same API (startPlayMusic) now instead of separate ones.
980
+
981
+ ## onSpeedTest
982
+
983
+ **Result of server speed testing (disused).**
984
+
985
+ @deprecated This callback is not recommended in the new version. Please use onSpeedTestResult: instead.
986
+
987
+ ## onRenderVideoFrame
988
+
989
+ **Custom video rendering.**
990
+
991
+ If you have configured the callback of custom rendering for local or remote video, the SDK will return to you via this callback video frames that are otherwise sent to the rendering control, so that you can customize rendering.
992
+
993
+ |Param|DESC|
994
+ |---------|---------|
995
+ |frame|Video frames to be rendered|
996
+ |streamType|Stream type. The primary stream (` Main `) is usually used for camera images, and the substream (` Sub `) for screen sharing images.|
997
+ |userId|` userId ` of the video source. This parameter can be ignored if the callback is for local video (setLocalVideoRenderDelegate).|
998
+
999
+ ## onGLContextCreated
1000
+
1001
+ **An OpenGL context was created in the SDK.**
1002
+
1003
+ ## onProcessVideoFrame
1004
+
1005
+ **Video processing by third-party beauty filters.**
1006
+
1007
+ If you use a third-party beauty filter component, you need to configure this callback in ` TRTCCloud ` to have the SDK return to you video frames that are otherwise pre-processed by TRTC.
1008
+
1009
+ You can then send the video frames to the third-party beauty filter component for processing. As the data returned can be read and modified, the result of processing can be synced to TRTC for subsequent encoding and publishing.
1010
+
1011
+ Case 1: the beauty filter component generates new textures
1012
+
1013
+ If the beauty filter component you use generates a frame of new texture (for the processed image) during image processing, please set ` dstFrame.textureId ` to the ID of the new texture in the callback function.
1014
+ ``` cpp
1015
+ int onProcessVideoFrame(TRTCVideoFrame * srcFrame, TRTCVideoFrame *dstFrame) {
1016
+ dstFrame->textureId = mFURenderer.onDrawFrameSingleInput(srcFrame->textureId);
1017
+ return 0;
1018
+ }
1019
+ ```
1020
+
1021
+ Case 2: you need to provide target textures to the beauty filter component
1022
+
1023
+ If the third-party beauty filter component you use does not generate new textures and you need to manually set an input texture and an output texture for the component, you can consider the following scheme:
1024
+ ``` cpp
1025
+ int onProcessVideoFrame(TRTCVideoFrame *srcFrame, TRTCVideoFrame *dstFrame) {
1026
+ thirdparty_process(srcFrame->textureId, srcFrame->width, srcFrame->height, dstFrame->textureId);
1027
+ return 0;
1028
+ }
1029
+ ```
1030
+
1031
+ |Param|DESC|
1032
+ |---------|---------|
1033
+ |dstFrame|Used to receive video images processed by third-party beauty filters|
1034
+ |srcFrame|Used to carry images captured by TRTC via the camera|
1035
+
1036
+ > **Note**
1037
+ >
1038
+
1039
+ > Currently, only the OpenGL texture scheme is supported(PC supports TRTCVideoBufferType_Buffer format Only)
1040
+ >
1041
+
1042
+ ## onGLContextDestroy
1043
+
1044
+ **The OpenGL context in the SDK was destroyed.**
1045
+
1046
+ ## onCapturedAudioFrame
1047
+
1048
+ **Audio data captured by the local mic and pre-processed by the audio module.**
1049
+
1050
+ After you configure the callback of custom audio processing, the SDK will return via this callback the data captured and pre-processed (ANS, AEC, and AGC) in PCM format.
1051
+ - The audio returned is in PCM format and has a fixed frame length (time) of 0.02s.
1052
+
1053
+ - The formula to convert a frame length in seconds to one in bytes is **sample rate * frame length in seconds * number of sound channels * audio bit depth**.
1054
+
1055
+ - Assume that the audio is recorded on a single channel with a sample rate of 48,000 Hz and audio bit depth of 16 bits, which are the default settings of TRTC. The frame length in bytes will be **48000 * 0.02s * 1 * 16 bits = 15360 bits = 1920 bytes**.
1056
+
1057
+ |Param|DESC|
1058
+ |---------|---------|
1059
+ |frame|Audio frames in PCM format|
1060
+
1061
+ > **Note**
1062
+ >
1063
+
1064
+ > 1. Please avoid time-consuming operations in this callback function. The SDK processes an audio frame every 20 ms, so if your operation takes more than 20 ms, it will cause audio exceptions.
1065
+ >
1066
+
1067
+ > 2. The audio data returned via this callback can be read and modified, but please keep the duration of your operation short.
1068
+ >
1069
+
1070
+ > 3. The audio data is returned via this callback after ANS, AEC and AGC, but it **does not include** pre-processing effects like background music, audio effects, or reverb, and therefore has a short delay.
1071
+ >
1072
+
1073
+ ## onLocalProcessedAudioFrame
1074
+
1075
+ **Audio data captured by the local mic, pre-processed by the audio module, effect-processed and BGM-mixed.**
1076
+
1077
+ After you configure the callback of custom audio processing, the SDK will return via this callback the data captured, pre-processed (ANS, AEC, and AGC), effect-processed and BGM-mixed in PCM format, before it is submitted to the network module for encoding.
1078
+ - The audio data returned via this callback is in PCM format and has a fixed frame length (time) of 0.02s.
1079
+
1080
+ - The formula to convert a frame length in seconds to one in bytes is **sample rate * frame length in seconds * number of sound channels * audio bit depth**.
1081
+
1082
+ - Assume that the audio is recorded on a single channel with a sample rate of 48,000 Hz and audio bit depth of 16 bits, which are the default settings of TRTC. The frame length in bytes will be **48000 * 0.02s * 1 * 16 bits = 15360 bits = 1920 bytes**.
1083
+
1084
+ Instructions:
1085
+
1086
+ You could write data to the ` TRTCAudioFrame.extraData ` filed, in order to achieve the purpose of transmitting signaling.
1087
+
1088
+ Because the data block of the audio frame header cannot be too large, we recommend you limit the size of the signaling data to only a few bytes when using this API. If extra data more than 100 bytes, it won't be sent.
1089
+
1090
+ Other users in the room can receive the message through the ` TRTCAudioFrame.extraData ` in ` onRemoteUserAudioFrame ` callback in TRTCAudioFrameDelegate.
1091
+
1092
+ |Param|DESC|
1093
+ |---------|---------|
1094
+ |frame|Audio frames in PCM format|
1095
+
1096
+ > **Note**
1097
+ >
1098
+
1099
+ > 1. Please avoid time-consuming operations in this callback function. The SDK processes an audio frame every 20 ms, so if your operation takes more than 20 ms, it will cause audio exceptions.
1100
+ >
1101
+
1102
+ > 2. The audio data returned via this callback can be read and modified, but please keep the duration of your operation short.
1103
+ >
1104
+
1105
+ > 3. Audio data is returned via this callback after ANS, AEC, AGC, effect-processing and BGM-mixing, and therefore the delay is longer than that with onCapturedAudioFrame.
1106
+ >
1107
+
1108
+ ## onPlayAudioFrame
1109
+
1110
+ **Audio data of each remote user before audio mixing.**
1111
+
1112
+ After you configure the callback of custom audio processing, the SDK will return via this callback the raw audio data (PCM format) of each remote user before mixing.
1113
+ - The audio data returned via this callback is in PCM format and has a fixed frame length (time) of 0.02s.
1114
+
1115
+ - The formula to convert a frame length in seconds to one in bytes is **sample rate * frame length in seconds * number of sound channels * audio bit depth**.
1116
+
1117
+ - Assume that the audio is recorded on a single channel with a sample rate of 48,000 Hz and audio bit depth of 16 bits, which are the default settings of TRTC. The frame length in bytes will be **48000 * 0.02s * 1 * 16 bits = 15360 bits = 1920 bytes**.
1118
+
1119
+ |Param|DESC|
1120
+ |---------|---------|
1121
+ |frame|Audio frames in PCM format|
1122
+ |userId|User ID|
1123
+
1124
+ > **Note**
1125
+ >
1126
+
1127
+ > The audio data returned via this callback can be read but not modified.
1128
+ >
1129
+
1130
+ ## onMixedPlayAudioFrame
1131
+
1132
+ **Data mixed from each channel before being submitted to the system for playback.**
1133
+
1134
+ After you configure the callback of custom audio processing, the SDK will return to you via this callback the data (PCM format) mixed from each channel before it is submitted to the system for playback.
1135
+ - The audio data returned via this callback is in PCM format and has a fixed frame length (time) of 0.02s.
1136
+
1137
+ - The formula to convert a frame length in seconds to one in bytes is **sample rate * frame length in seconds * number of sound channels * audio bit depth**.
1138
+
1139
+ - Assume that the audio is recorded on a single channel with a sample rate of 48,000 Hz and audio bit depth of 16 bits, which are the default settings of TRTC. The frame length in bytes will be **48000 * 0.02s * 1 * 16 bits = 15360 bits = 1920 bytes**.
1140
+
1141
+ |Param|DESC|
1142
+ |---------|---------|
1143
+ |frame|Audio frames in PCM format|
1144
+
1145
+ > **Note**
1146
+ >
1147
+
1148
+ > 1. Please avoid time-consuming operations in this callback function. The SDK processes an audio frame every 20 ms, so if your operation takes more than 20 ms, it will cause audio exceptions.
1149
+ >
1150
+
1151
+ > 2. The audio data returned via this callback can be read and modified, but please keep the duration of your operation short.
1152
+ >
1153
+
1154
+ > 3. The audio data returned via this callback is the audio data mixed from each channel before it is played. It does not include the in-ear monitoring data.
1155
+ >
1156
+
1157
+ ## onMixedAllAudioFrame
1158
+
1159
+ **Data mixed from all the captured and to-be-played audio in the SDK.**
1160
+
1161
+ After you configure the callback of custom audio processing, the SDK will return via this callback the data (PCM format) mixed from all captured and to-be-played audio in the SDK, so that you can customize recording.
1162
+ - The audio data returned via this callback is in PCM format and has a fixed frame length (time) of 0.02s.
1163
+
1164
+ - The formula to convert a frame length in seconds to one in bytes is **sample rate * frame length in seconds * number of sound channels * audio bit depth**.
1165
+
1166
+ - Assume that the audio is recorded on a single channel with a sample rate of 48,000 Hz and audio bit depth of 16 bits, which are the default settings of TRTC. The frame length in bytes will be **48000 * 0.02s * 1 * 16 bits = 15360 bits = 1920 bytes**.
1167
+
1168
+ |Param|DESC|
1169
+ |---------|---------|
1170
+ |frame|Audio frames in PCM format|
1171
+
1172
+ > **Note**
1173
+ >
1174
+
1175
+ > 1. This data returned via this callback is mixed from all audio in the SDK, including local audio after pre-processing (ANS, AEC, and AGC), special effects application, and music mixing, as well as all remote audio, but it does not include the in-ear monitoring data.
1176
+ >
1177
+
1178
+ > 2. The audio data returned via this callback cannot be modified.
1179
+ >
1180
+
1181
+ ## onLog
1182
+
1183
+ **Printing of local log.**
1184
+
1185
+ If you want to capture the local log printing event, you can configure the log callback to have the SDK return to you via this callback all logs that are to be printed.
1186
+
1187
+ |Param|DESC|
1188
+ |---------|---------|
1189
+ |level|Log level. For more information, please see TRTC_LOG_LEVEL.|
1190
+ |log|Log content|
1191
+ |module|Reserved field, which is not defined at the moment and has a fixed value of ` TXLiteAVSDK `.|