@tencentcloud/sdk-mcp 1.6.4 → 1.6.5

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 (299) hide show
  1. package/knowledge/build-index.js +1 -1
  2. package/knowledge/chunker.js +81 -52
  3. package/knowledge/path-meta.js +181 -21
  4. package/knowledge/search/exact-lookup.js +166 -0
  5. package/knowledge/search/filter-pool.js +73 -19
  6. package/knowledge/search/product-scope-intent.js +2 -2
  7. package/knowledge/search/requires-framework.js +1 -1
  8. package/knowledge/search/search-knowledge.js +234 -57
  9. package/package.json +1 -1
  10. package/resource/_schema/feature-aliases.yaml +1 -0
  11. package/resource/integration/callkit/preset/android/integration.md +3 -5
  12. package/resource/integration/callkit/preset/flutter/integration.md +2 -3
  13. package/resource/integration/callkit/preset/ios/integration.md +2 -5
  14. package/resource/integration/callkit/preset/react/integration.md +12 -26
  15. package/resource/integration/callkit/preset/vue/integration.md +17 -33
  16. package/resource/integration/chat/preset/android/integration.md +44 -14
  17. package/resource/integration/chat/preset/flutter/integration.md +54 -13
  18. package/resource/integration/chat/preset/ios/integration.md +42 -6
  19. package/resource/integration/chat/preset/react/integration.md +30 -28
  20. package/resource/integration/chat/preset/uni-app/integration.md +101 -40
  21. package/resource/integration/chat/preset/vue/integration.md +62 -28
  22. package/resource/integration/livekit/preset/live/android/live-audience-integration.md +133 -0
  23. package/resource/integration/livekit/preset/live/android/live-host-integration.md +225 -0
  24. package/resource/integration/livekit/preset/live/android/live-list-integration.md +278 -0
  25. package/resource/integration/livekit/preset/live/android/prepare-integration.md +271 -0
  26. package/resource/integration/livekit/preset/live/ios/live-audience-integration.md +207 -0
  27. package/resource/integration/livekit/preset/live/ios/live-host-integration.md +358 -0
  28. package/resource/integration/livekit/preset/live/ios/live-list-integration.md +246 -0
  29. package/resource/integration/livekit/preset/live/ios/prepare-integration.md +218 -0
  30. package/resource/integration/livekit/preset/live/vue/live-list-integration.md +4 -7
  31. package/resource/integration/livekit/preset/live/vue/live-player-desk-integration.md +5 -12
  32. package/resource/integration/livekit/preset/live/vue/live-player-h5-integration.md +4 -11
  33. package/resource/integration/livekit/preset/live/vue/live-pusher-integration.md +250 -482
  34. package/resource/integration/roomkit/preset/vue/integration.md +399 -106
  35. package/resource/knowledge/callkit/best-practice/web/callengine-invitation.md +80 -0
  36. package/resource/knowledge/callkit/best-practice/web/callengine-log-control.md +20 -0
  37. package/resource/knowledge/callkit/best-practice/web/callkit-call-vs-calls.md +116 -0
  38. package/resource/knowledge/callkit/core-sdk/android/answer-call.md +11 -15
  39. package/resource/knowledge/callkit/core-sdk/android/make-call.md +10 -13
  40. package/resource/knowledge/callkit/core-sdk/android/offline-push.md +2 -4
  41. package/resource/knowledge/callkit/core-sdk/flutter/answer-call.md +10 -17
  42. package/resource/knowledge/callkit/core-sdk/flutter/make-call.md +11 -17
  43. package/resource/knowledge/callkit/core-sdk/flutter/offline-push.md +11 -20
  44. package/resource/knowledge/callkit/core-sdk/ios/answer-call.md +10 -15
  45. package/resource/knowledge/callkit/core-sdk/ios/make-call.md +9 -14
  46. package/resource/knowledge/callkit/core-sdk/ios/offline-push.md +12 -18
  47. package/resource/knowledge/callkit/core-sdk/miniprogram/call-engine.md +390 -0
  48. package/resource/knowledge/callkit/core-sdk/miniprogram/call-event.md +317 -0
  49. package/resource/knowledge/callkit/core-sdk/uni-app/answer-call.md +16 -22
  50. package/resource/knowledge/callkit/core-sdk/uni-app/make-call.md +17 -23
  51. package/resource/knowledge/callkit/core-sdk/web/call-engine.md +39 -0
  52. package/resource/knowledge/callkit/core-sdk/web/call-event.md +341 -0
  53. package/resource/knowledge/callkit/core-sdk/web/callengine-api-overview.md +39 -0
  54. package/resource/knowledge/callkit/faq/android.md +1 -5
  55. package/resource/knowledge/callkit/faq/common.md +10 -12
  56. package/resource/knowledge/callkit/faq/ios.md +5 -7
  57. package/resource/knowledge/callkit/faq/uniapp-app.md +7 -7
  58. package/resource/knowledge/callkit/faq/uniapp-miniprogram.md +9 -12
  59. package/resource/knowledge/callkit/faq/web.md +2 -12
  60. package/resource/knowledge/callkit/preset/android/api.md +5 -8
  61. package/resource/knowledge/callkit/preset/ios/api.md +4 -6
  62. package/resource/knowledge/callkit/preset/miniprogram/api.md +295 -0
  63. package/resource/knowledge/callkit/preset/react/api.md +622 -0
  64. package/resource/knowledge/callkit/preset/react/uikit-api-reference.md +475 -0
  65. package/resource/knowledge/callkit/preset/vue/api.md +622 -0
  66. package/resource/knowledge/callkit/preset/vue/uikit-api-reference.md +587 -0
  67. package/resource/knowledge/callkit/preset/web/api.md +1 -1
  68. package/resource/knowledge/chat/best-practice/web/image-message-url-handling.md +16 -0
  69. package/resource/knowledge/chat/preset/android/features/chat-setting.md +1 -1
  70. package/resource/knowledge/chat/preset/android/features/conversation-list.md +0 -1
  71. package/resource/knowledge/chat/preset/android/features/language.md +2 -4
  72. package/resource/knowledge/chat/preset/android/features/message-input.md +1 -1
  73. package/resource/knowledge/chat/preset/android/features/message-list.md +1 -2
  74. package/resource/knowledge/chat/preset/android/features/search.md +0 -1
  75. package/resource/knowledge/chat/preset/android/features/theme.md +1 -1
  76. package/resource/knowledge/chat/preset/android-view/integration.md +35 -10
  77. package/resource/knowledge/chat/preset/flutter/features/conversation-list.md +0 -1
  78. package/resource/knowledge/chat/preset/flutter/features/language.md +1 -1
  79. package/resource/knowledge/chat/preset/flutter/features/message-list.md +0 -1
  80. package/resource/knowledge/chat/preset/flutter/features/search.md +4 -5
  81. package/resource/knowledge/chat/preset/flutter/features/theme.md +1 -1
  82. package/resource/knowledge/chat/preset/ios/features/chat-setting.md +1 -1
  83. package/resource/knowledge/chat/preset/ios/features/conversation-list.md +0 -1
  84. package/resource/knowledge/chat/preset/ios/features/language.md +2 -5
  85. package/resource/knowledge/chat/preset/ios/features/message-list.md +0 -1
  86. package/resource/knowledge/chat/preset/ios/features/search.md +0 -1
  87. package/resource/knowledge/chat/preset/ios/features/theme.md +1 -1
  88. package/resource/knowledge/chat/preset/ios-uikit/integration.md +57 -166
  89. package/resource/knowledge/chat/preset/react/features/chat-setting.md +0 -1
  90. package/resource/knowledge/chat/preset/react/features/conversation-actions.md +3 -3
  91. package/resource/knowledge/chat/preset/react/features/conversation-list.md +3 -3
  92. package/resource/knowledge/chat/preset/react/features/conversation-preview.md +1 -1
  93. package/resource/knowledge/chat/preset/react/features/message-input.md +2 -3
  94. package/resource/knowledge/chat/preset/react/features/search.md +0 -1
  95. package/resource/knowledge/chat/preset/vue/features/chat-header.md +1 -1
  96. package/resource/knowledge/chat/preset/vue/features/chat-setting.md +3 -4
  97. package/resource/knowledge/chat/preset/vue/features/conversation-list.md +4 -4
  98. package/resource/knowledge/chat/preset/vue/features/conversation-preview.md +1 -1
  99. package/resource/knowledge/chat/preset/vue/features/message-input.md +2 -2
  100. package/resource/knowledge/chat/preset/vue/features/message-list.md +2 -2
  101. package/resource/knowledge/chat/preset/vue/features/search.md +0 -1
  102. package/resource/knowledge/chat/preset/vue/features/theme.md +4 -4
  103. package/resource/knowledge/livekit/core-sdk/api-reference/android/AudioEffectStore.md +0 -7
  104. package/resource/knowledge/livekit/core-sdk/api-reference/android/BarrageStore.md +2 -5
  105. package/resource/knowledge/livekit/core-sdk/api-reference/android/BattleStore.md +12 -15
  106. package/resource/knowledge/livekit/core-sdk/api-reference/android/CameraView.md +0 -1
  107. package/resource/knowledge/livekit/core-sdk/api-reference/android/CoGuestStore.md +0 -5
  108. package/resource/knowledge/livekit/core-sdk/api-reference/android/CoHostStore.md +0 -3
  109. package/resource/knowledge/livekit/core-sdk/api-reference/android/DeviceStore.md +0 -2
  110. package/resource/knowledge/livekit/core-sdk/api-reference/android/GiftStore.md +2 -4
  111. package/resource/knowledge/livekit/core-sdk/api-reference/android/LikeStore.md +0 -2
  112. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveAudienceStore.md +0 -2
  113. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveCoreView.md +0 -1
  114. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveSeatStore.md +2 -4
  115. package/resource/knowledge/livekit/core-sdk/api-reference/android/LoginStore.md +1 -3
  116. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/AudioEffectStore.md +0 -7
  117. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BarrageStore.md +3 -6
  118. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BaseBeautyStore.md +0 -1
  119. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BattleStore.md +12 -15
  120. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoGuestStore.md +0 -5
  121. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoHostStore.md +0 -3
  122. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/DeviceStore.md +0 -2
  123. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/GiftStore.md +2 -4
  124. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LikeStore.md +0 -2
  125. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveAudienceStore.md +0 -2
  126. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveCoreView.md +0 -1
  127. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveSeatStore.md +2 -4
  128. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LoginStore.md +1 -3
  129. package/resource/knowledge/livekit/core-sdk/api-reference/ios/AudioEffectStore.md +0 -7
  130. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BarrageStore.md +2 -5
  131. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BaseBeautyStore.md +0 -1
  132. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BattleStore.md +3 -6
  133. package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoGuestStore.md +0 -5
  134. package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoHostStore.md +0 -3
  135. package/resource/knowledge/livekit/core-sdk/api-reference/ios/DeviceStore.md +0 -2
  136. package/resource/knowledge/livekit/core-sdk/api-reference/ios/GiftStore.md +2 -4
  137. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LikeStore.md +0 -2
  138. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveAudienceStore.md +0 -2
  139. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveCoreView.md +0 -1
  140. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveSeatStore.md +2 -4
  141. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LoginStore.md +1 -3
  142. package/resource/knowledge/livekit/core-sdk/api-reference/vue/capability-matrix.md +82 -0
  143. package/resource/knowledge/livekit/core-sdk/{voice/android/voice-audio-effect.md → features/android/audio-effect.md} +2 -4
  144. package/resource/knowledge/livekit/core-sdk/{live/android/live-barrage.md → features/android/barrage.md} +1 -1
  145. package/resource/knowledge/livekit/core-sdk/{live/android/live-base-beauty.md → features/android/base-beauty.md} +1 -1
  146. package/resource/knowledge/livekit/core-sdk/{voice/android/voice-gift.md → features/android/gift.md} +2 -3
  147. package/resource/knowledge/livekit/core-sdk/{live/android/live-live-list.md → features/android/live-list.md} +1 -1
  148. package/resource/knowledge/livekit/core-sdk/{live/flutter/live-audio-effect.md → features/flutter/audio-effect.md} +0 -2
  149. package/resource/knowledge/livekit/core-sdk/{voice/flutter/voice-barrage.md → features/flutter/barrage.md} +3 -3
  150. package/resource/knowledge/livekit/core-sdk/{voice/flutter/voice-gift.md → features/flutter/gift.md} +2 -2
  151. package/resource/knowledge/livekit/core-sdk/{voice/flutter/voice-room-list.md → features/flutter/live-list.md} +1 -1
  152. package/resource/knowledge/livekit/core-sdk/{voice/ios/voice-audience-list.md → features/ios/audience-list.md} +1 -1
  153. package/resource/knowledge/livekit/core-sdk/{voice/ios/voice-audio-effect.md → features/ios/audio-effect.md} +1 -3
  154. package/resource/knowledge/livekit/core-sdk/{voice/ios/voice-barrage.md → features/ios/barrage.md} +2 -2
  155. package/resource/knowledge/livekit/core-sdk/{live/ios/live-base-beauty.md → features/ios/base-beauty.md} +1 -1
  156. package/resource/knowledge/livekit/core-sdk/{live/ios/live-gift.md → features/ios/gift.md} +8 -9
  157. package/resource/knowledge/livekit/core-sdk/{live/ios/live-live-list.md → features/ios/live-list.md} +2 -2
  158. package/resource/knowledge/livekit/core-sdk/{voice/uni-app/voice-audio-effect.md → features/uni-app/audio-effect.md} +2 -3
  159. package/resource/knowledge/livekit/core-sdk/{voice/uni-app/voice-barrage.md → features/uni-app/barrage.md} +2 -2
  160. package/resource/knowledge/livekit/core-sdk/features/uni-app/base-beauty.md +145 -0
  161. package/resource/knowledge/livekit/core-sdk/{voice/uni-app/voice-gift.md → features/uni-app/gift.md} +6 -7
  162. package/resource/knowledge/livekit/core-sdk/{voice/uni-app/voice-room-list.md → features/uni-app/live-list.md} +1 -1
  163. package/resource/knowledge/livekit/core-sdk/live/android/{live-co-guest-interaction.md → co-guest-interaction.md} +2 -3
  164. package/resource/knowledge/livekit/core-sdk/live/android/{live-host-interaction.md → host-interaction.md} +2 -4
  165. package/resource/knowledge/livekit/core-sdk/live/android/{live-integration.md → integration.md} +6 -9
  166. package/resource/knowledge/livekit/core-sdk/live/flutter/{live-host-interaction.md → host-interaction.md} +1 -3
  167. package/resource/knowledge/livekit/core-sdk/live/flutter/{live-integration.md → integration.md} +1 -6
  168. package/resource/knowledge/livekit/core-sdk/live/ios/{live-co-guest-interaction.md → co-guest-interaction.md} +2 -3
  169. package/resource/knowledge/livekit/core-sdk/live/ios/{live-host-interaction.md → host-interaction.md} +3 -5
  170. package/resource/knowledge/livekit/core-sdk/live/ios/{live-integration.md → integration.md} +7 -10
  171. package/resource/knowledge/livekit/core-sdk/live/uni-app/co-guest-interaction.md +561 -0
  172. package/resource/knowledge/livekit/core-sdk/live/uni-app/host-interaction.md +323 -0
  173. package/resource/knowledge/livekit/core-sdk/live/uni-app/integration.md +312 -0
  174. package/resource/knowledge/livekit/core-sdk/voice/android/{voice-co-guest-interaction.md → co-guest-interaction.md} +3 -3
  175. package/resource/knowledge/livekit/core-sdk/voice/android/{voice-host-interaction.md → host-interaction.md} +2 -4
  176. package/resource/knowledge/livekit/core-sdk/voice/android/{voice-integration.md → integration.md} +11 -14
  177. package/resource/knowledge/livekit/core-sdk/voice/flutter/{voice-co-guest-interaction.md → co-guest-interaction.md} +0 -1
  178. package/resource/knowledge/livekit/core-sdk/voice/flutter/{voice-integration.md → integration.md} +1 -4
  179. package/resource/knowledge/livekit/core-sdk/voice/ios/{voice-co-guest-interaction.md → co-guest-interaction.md} +3 -3
  180. package/resource/knowledge/livekit/core-sdk/voice/ios/{voice-host-interaction.md → host-interaction.md} +2 -4
  181. package/resource/knowledge/livekit/core-sdk/voice/ios/{voice-integration.md → integration.md} +7 -10
  182. package/resource/knowledge/livekit/core-sdk/voice/uni-app/{voice-co-guest-interaction.md → co-guest-interaction.md} +6 -6
  183. package/resource/knowledge/livekit/core-sdk/voice/uni-app/{voice-integration.md → integration.md} +6 -7
  184. package/resource/knowledge/livekit/preset/live/vue/features/barrage.md +2 -3
  185. package/resource/knowledge/livekit/preset/live/vue/features/live-audience-list.md +1 -1
  186. package/resource/knowledge/livekit/preset/live/vue/features/live-view.md +1 -1
  187. package/resource/knowledge/push/api-reference/android.md +337 -0
  188. package/resource/knowledge/push/api-reference/donut.md +190 -0
  189. package/resource/knowledge/push/api-reference/flutter.md +176 -0
  190. package/resource/knowledge/push/api-reference/harmonyos.md +140 -0
  191. package/resource/knowledge/push/api-reference/ios.md +537 -0
  192. package/resource/knowledge/push/api-reference/react-native.md +154 -0
  193. package/resource/knowledge/push/api-reference/uni-app.md +148 -0
  194. package/resource/knowledge/push/api-reference/unity.md +119 -0
  195. package/resource/knowledge/push/api-reference/unreal-engine.md +123 -0
  196. package/resource/knowledge/push/config/android/fcm.md +1 -8
  197. package/resource/knowledge/push/config/android/honor.md +3 -7
  198. package/resource/knowledge/push/config/android/huawei.md +0 -5
  199. package/resource/knowledge/push/config/android/meizu.md +0 -5
  200. package/resource/knowledge/push/config/android/oppo.md +0 -4
  201. package/resource/knowledge/push/config/android/vivo.md +0 -4
  202. package/resource/knowledge/push/config/android/xiaomi.md +0 -2
  203. package/resource/knowledge/push/config/donut.md +33 -46
  204. package/resource/knowledge/push/config/harmonyos.md +6 -9
  205. package/resource/knowledge/push/config/ios.md +2 -9
  206. package/resource/knowledge/push/config/react-native.md +17 -25
  207. package/resource/knowledge/push/config/unity.md +16 -24
  208. package/resource/knowledge/push/config/unreal-engine.md +16 -24
  209. package/resource/knowledge/push/integration/android.md +21 -21
  210. package/resource/knowledge/push/integration/donut.md +24 -34
  211. package/resource/knowledge/push/integration/flutter.md +12 -1
  212. package/resource/knowledge/push/integration/harmonyos.md +2 -1
  213. package/resource/knowledge/push/integration/ios.md +16 -10
  214. package/resource/knowledge/push/integration/react-native.md +10 -14
  215. package/resource/knowledge/push/integration/uni-app.md +10 -6
  216. package/resource/knowledge/push/integration/unity.md +19 -22
  217. package/resource/knowledge/push/integration/unreal-engine.md +7 -9
  218. package/resource/knowledge/push/overview/prepare.md +2 -2
  219. package/resource/knowledge/roomkit/core-sdk/android/capability-matrix.md +46 -0
  220. package/resource/knowledge/roomkit/core-sdk/android/unsupported-features.md +82 -0
  221. package/resource/knowledge/roomkit/core-sdk/flutter/capability-matrix.md +46 -0
  222. package/resource/knowledge/roomkit/core-sdk/flutter/room-participant-state.md +1 -1
  223. package/resource/knowledge/roomkit/core-sdk/flutter/unsupported-features.md +82 -0
  224. package/resource/knowledge/roomkit/core-sdk/ios/capability-matrix.md +46 -0
  225. package/resource/knowledge/roomkit/core-sdk/ios/room-state.md +1 -1
  226. package/resource/knowledge/roomkit/core-sdk/ios/unsupported-features.md +82 -0
  227. package/resource/knowledge/roomkit/core-sdk/vue/call-user-to-room.md +1 -1
  228. package/resource/knowledge/roomkit/core-sdk/vue/device-state.md +0 -4
  229. package/resource/knowledge/roomkit/core-sdk/vue/free-beauty-panel.md +2 -5
  230. package/resource/knowledge/roomkit/core-sdk/vue/room-chat.md +0 -3
  231. package/resource/knowledge/roomkit/core-sdk/vue/room-participant-state.md +0 -2
  232. package/resource/knowledge/roomkit/core-sdk/vue/room-state.md +2 -6
  233. package/resource/knowledge/roomkit/core-sdk/vue/room-view.md +0 -1
  234. package/resource/knowledge/roomkit/core-sdk/vue/schedule-room.md +1 -1
  235. package/resource/knowledge/roomkit/core-sdk/vue/screen-share.md +2 -4
  236. package/resource/knowledge/roomkit/core-sdk/vue/virtual-background.md +2 -3
  237. package/resource/knowledge/roomkit/preset/android/integration.md +14 -16
  238. package/resource/knowledge/roomkit/preset/flutter/integration.md +9 -17
  239. package/resource/knowledge/roomkit/preset/ios/integration.md +9 -17
  240. package/resource/knowledge/roomkit/preset/react/integration.md +0 -4
  241. package/resource/knowledge/trtc/android/TRTCCloud.md +97 -180
  242. package/resource/knowledge/trtc/android/TRTCCloudDef.md +20 -20
  243. package/resource/knowledge/trtc/android/TRTCCloudListener.md +43 -77
  244. package/resource/knowledge/trtc/android/TRTCStatistics.md +1 -1
  245. package/resource/knowledge/trtc/android/TXAudioEffectManager.md +4 -24
  246. package/resource/knowledge/trtc/android/TXDeviceManager.md +2 -2
  247. package/resource/knowledge/trtc/android/TXLiteAVCode.md +1 -1
  248. package/resource/knowledge/trtc/c++/ITRTCCloud.md +96 -189
  249. package/resource/knowledge/trtc/c++/ITRTCStatistics.md +1 -1
  250. package/resource/knowledge/trtc/c++/ITXAudioEffectManager.md +1 -21
  251. package/resource/knowledge/trtc/c++/ITXDeviceManager.md +4 -6
  252. package/resource/knowledge/trtc/c++/TRTCCloudCallback.md +42 -76
  253. package/resource/knowledge/trtc/c++/TRTCTypeDef.md +18 -19
  254. package/resource/knowledge/trtc/c++/TXLiteAVCode.md +1 -1
  255. package/resource/knowledge/trtc/ios/TRTCCloud.md +95 -181
  256. package/resource/knowledge/trtc/ios/TRTCCloudDelegate.md +43 -78
  257. package/resource/knowledge/trtc/ios/TRTCStatistics.md +1 -1
  258. package/resource/knowledge/trtc/ios/TXAudioEffectManager.md +1 -20
  259. package/resource/knowledge/trtc/ios/TXDeviceManager.md +4 -6
  260. package/resource/knowledge/trtc/ios/TXLiteAVCode.md +1 -1
  261. package/resource/knowledge/trtc/ios/TXLiveSDKTypeDef.md +20 -20
  262. package/server.js +2 -2
  263. package/tools/common/finalize_answer.js +1 -1
  264. package/tools/common/present_framework_choice.js +2 -2
  265. package/tools/common/search_trtc_knowledge.js +3 -3
  266. package/tools/common/submit_feedback.js +1 -1
  267. package/tools/definitions/get_native_live_uikit_integration_def.js +60 -0
  268. package/tools/definitions/get_native_livekit_core_integration_def.js +1 -1
  269. package/tools/definitions/present_framework_choice_def.js +2 -2
  270. package/tools/definitions/search_trtc_knowledge_def.js +5 -5
  271. package/tools/index.js +2 -0
  272. package/tools/live/get_native_live_uikit_integration.js +69 -0
  273. package/tools/live/get_native_livekit_core_integration.js +6 -6
  274. package/utils/report-cls-client.js +1 -1
  275. package/utils/report-es-client.js +1 -1
  276. package/resource/index/component-slugs.json +0 -1
  277. package/resource/index/doc-source-urls.json +0 -1
  278. package/resource/index/manifest.json +0 -1
  279. package/resource/knowledge/livekit/core-sdk/live/android/live-audio-effect.md +0 -229
  280. package/resource/knowledge/livekit/core-sdk/live/android/live-gift.md +0 -459
  281. package/resource/knowledge/livekit/core-sdk/live/flutter/live-barrage.md +0 -506
  282. package/resource/knowledge/livekit/core-sdk/live/flutter/live-gift.md +0 -427
  283. package/resource/knowledge/livekit/core-sdk/live/flutter/live-live-list.md +0 -726
  284. package/resource/knowledge/livekit/core-sdk/live/ios/live-audience-list.md +0 -265
  285. package/resource/knowledge/livekit/core-sdk/live/ios/live-audio-effect.md +0 -214
  286. package/resource/knowledge/livekit/core-sdk/live/ios/live-barrage.md +0 -427
  287. package/resource/knowledge/livekit/core-sdk/voice/android/voice-audience-list.md +0 -272
  288. package/resource/knowledge/livekit/core-sdk/voice/android/voice-barrage.md +0 -486
  289. package/resource/knowledge/livekit/core-sdk/voice/android/voice-room-list.md +0 -523
  290. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-audience-list.md +0 -262
  291. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-audio-effect.md +0 -600
  292. package/resource/knowledge/livekit/core-sdk/voice/ios/voice-gift.md +0 -411
  293. package/resource/knowledge/livekit/core-sdk/voice/ios/voice-room-list.md +0 -404
  294. /package/resource/knowledge/livekit/core-sdk/api-reference/{web → vue}/index.md +0 -0
  295. /package/resource/knowledge/livekit/core-sdk/{live/android/live-audience-list.md → features/android/audience-list.md} +0 -0
  296. /package/resource/knowledge/livekit/core-sdk/{live/flutter/live-audience-list.md → features/flutter/audience-list.md} +0 -0
  297. /package/resource/knowledge/livekit/core-sdk/{live/flutter/live-base-beauty.md → features/flutter/base-beauty.md} +0 -0
  298. /package/resource/knowledge/livekit/core-sdk/{voice/uni-app/voice-audience-list.md → features/uni-app/audience-list.md} +0 -0
  299. /package/resource/knowledge/livekit/core-sdk/live/flutter/{live-co-guest-interaction.md → co-guest-interaction.md} +0 -0
@@ -1,265 +0,0 @@
1
- `LiveAudienceStore` 是 `AtomicXCore` 中专门负责管理直播间观众信息的模块。通过 `LiveAudienceStore`,您可以为您的直播应用构建一套完整的观众列表及管理系统。
2
-
3
- ## 核心功能
4
- - **实时观众列表**:获取并展示当前在直播间内的所有观众信息。
5
-
6
- - **观众人数统计**:实时获取当前直播间的准确观众总数。
7
-
8
- - **观众动态监听**:通过事件订阅,实时感知观众的加入和离开。
9
-
10
- - **管理员权限**:主播可以将普通观众设为管理员,或撤销其管理员身份。
11
-
12
- - **房间管理**:主播或管理员可以将任意普通观众请出(踢出)直播间。
13
-
14
- ## 核心概念
15
-
16
- 在开始集成之前,我们先通过下表了解一下 LiveAudienceStore 相关的几个核心概念:
17
-
18
- |**核心概念**|**类型**|**核心职责与描述**|
19
- |---------|---------|---------|
20
- |`LiveUserInfo`|struct|代表一个观众(用户)的基础信息模型。它包含了用户的唯一标识 (`userID`)、昵称 (`userName`) 和头像地址 (`avatarURL`)。|
21
- |`LiveAudienceState`|struct|代表观众模块的当前状态。其核心属性 `audienceList` 是一个 `[LiveUserInfo] `数组,存储了观众列表的快照;`audienceCount` 则代表当前观众总数。|
22
- |`LiveAudienceEvent`|enum|代表观众动态的实时事件。分为 `.onAudienceJoined`(观众加入) 和 `.onAudienceLeft`(观众离开)两种,用于实现对观众列表的增量更新。|
23
- |`LiveAudienceStore`|class|这是与观众列表功能交互的核心管理类。通过它,您可以获取观众列表快照、执行管理操作,并通过订阅其 `liveAudienceEventPublisher` 来接收实时动态。|
24
-
25
- ## 实现步骤
26
-
27
- ### 步骤1:组件集成
28
- - **视频直播**:请参考 开播与观看 集成 **AtomicXCore**,完成接入。
29
-
30
- - **语聊房**:请参考 开播与收听 集成 **AtomicXCore**,完成接入。
31
-
32
- ### 步骤2:初始化并获取观众列表
33
-
34
- 获取一个与当前直播间 liveId 绑定的 `LiveAudienceStore` 实例,并主动拉取一次当前的观众列表,用于首次展示。
35
- ``` swift
36
- import Foundation
37
- import AtomicXCore
38
- import Combine
39
-
40
- class AudienceManager {
41
- private let liveId: String
42
- private let audienceStore: LiveAudienceStore
43
- private var cancellables = Set<AnyCancellable>()
44
-
45
- // 对外暴露【全量】观众列表的发布者,方便UI层订阅
46
- let audienceListPublisher = CurrentValueSubject<[LiveUserInfo], Never>([])
47
- // 对外暴露观众总数的发布者
48
- let audienceCountPublisher = PassthroughSubject<UInt, Never>()
49
-
50
- init(liveId: String) {
51
- self.liveId = liveId
52
- // 1. 通过 liveId 获取 LiveAudienceStore 的实例
53
- self.audienceStore = LiveAudienceStore.create(liveID: liveId)
54
-
55
- // 2. 订阅状态和事件
56
- subscribeToAudienceState()
57
- subscribeToAudienceEvents()
58
-
59
- // 3. 主动拉取首屏数据
60
- fetchInitialAudienceList()
61
- }
62
-
63
- /// 主动获取一次观众列表快照
64
- func fetchInitialAudienceList() {
65
- audienceStore.fetchAudienceList { [weak self] result in
66
- switch result {
67
- case .success:
68
- print("首次拉取观众列表成功")
69
- // 成功后,数据会通过下面的 state 订阅通道自动更新
70
- case .failure(let error):
71
- print("首次拉取观众列表失败: \(error.localizedDescription)")
72
- }
73
- }
74
- }
75
-
76
- // ... 后续代码
77
- }
78
- ```
79
-
80
- ### 步骤3:监听观众列表状态与实时动态
81
-
82
- 订阅 `audienceStore` 的 `state` 和 `event`,以接收全量列表快照和实时的观众进出事件,从而驱动 UI 更新。
83
- ``` swift
84
- extension AudienceManager {
85
- /// 订阅 state,用于获取观众总数和列表快照
86
- private func subscribeToAudienceState() {
87
- audienceStore.state
88
- .subscribe()
89
- .receive(on: DispatchQueue.main)
90
- .sink { [weak self] state in
91
- // state.audienceList 是一个全量快照
92
- self?.audienceListPublisher.send(state.audienceList)
93
- // state.audienceCount 是实时总数
94
- self?.audienceCountPublisher.send(state.audienceCount)
95
- }
96
- .store(in: &cancellables)
97
- }
98
-
99
- /// 订阅 event,用于处理观众的实时进出
100
- private func subscribeToAudienceEvents() {
101
- audienceStore.liveAudienceEventPublisher
102
- .receive(on: DispatchQueue.main)
103
- .sink { [weak self] event in
104
- guard let self = self else { return }
105
-
106
- var currentList = self.audienceListPublisher.value
107
-
108
- switch event {
109
- case .onAudienceJoined(let newAudience):
110
- print("观众 \(newAudience.userName) 加入了直播间")
111
- // 增量更新:在当前列表末尾添加新观众
112
- if !currentList.contains(where: { $0.userID == newAudience.userID }) {
113
- currentList.append(newAudience)
114
- self.audienceListPublisher.send(currentList)
115
- }
116
-
117
- case .onAudienceLeft(let departedAudience):
118
- print("观众 \(departedAudience.userName) 离开了直播间")
119
- // 增量更新:从当前列表中移除离开的观众
120
- currentList.removeAll { $0.userID == departedAudience.userID }
121
- self.audienceListPublisher.send(currentList)
122
- }
123
- }
124
- .store(in: &cancellables)
125
- }
126
- }
127
- ```
128
-
129
- ### 步骤4:管理观众(踢人与设置管理员)
130
-
131
- 作为主播或管理员,对直播间内的观众进行管理操作。
132
-
133
- #### 4.1 将观众踢出直播间
134
-
135
- 调用 `kickUserOutOfRoom` 接口可以将指定用户请出直播间。
136
- ``` swift
137
- extension AudienceManager {
138
- func kick(userId: String) {
139
- audienceStore.kickUserOutOfRoom(userID: userId) { result in
140
- switch result {
141
- case .success:
142
- print("成功将用户 \(userId) 踢出房间")
143
- // 踢出成功后,您会收到 onAudienceLeft 事件
144
- case .failure(let error):
145
- print("踢出用户 \(userId) 失败: \(error.localizedDescription)")
146
- }
147
- }
148
- }
149
- }
150
- ```
151
-
152
- #### 4.2 设置/撤销管理员
153
-
154
- 通过 `setAdministrator` 和 `revokeAdministrator` 接口可以管理用户的管理员身份。
155
- ``` swift
156
- extension AudienceManager {
157
- /// 将用户设为管理员
158
- func promoteToAdmin(userId: String) {
159
- audienceStore.setAdministrator(userID: userId) { result in
160
- if case .success = result {
161
- print("成功将用户 \(userId) 设为管理员")
162
- }
163
- }
164
- }
165
-
166
- /// 撤销用户的管理员身份
167
- func revokeAdmin(userId: String) {
168
- audienceStore.revokeAdministrator(userID: userId) { result in
169
- if case .success = result {
170
- print("成功撤销用户 \(userId) 的管理员身份")
171
- }
172
- }
173
- }
174
- }
175
- ```
176
-
177
- ## 功能进阶
178
-
179
- ### 在弹幕区展示观众入场欢迎语
180
-
181
- 当有新观众进入直播间时,弹幕/聊天区域会在本地自动显示一条欢迎消息,例如:“欢迎 [用户昵称] 进入直播间”。
182
-
183
- #### 实现方式
184
-
185
- 我们通过订阅 `LiveAudienceStore` 的观众加入事件(`LiveAudienceEvent.onAudienceJoined`)来获取新观众加入的实时通知。一旦事件触发,我们便提取出新观众的昵称信息,然后立即调用 `BarrageStore` 的本地插入接口 `appendLocalTip`。
186
- ``` swift
187
- import Foundation
188
- import AtomicXCore
189
- import Combine
190
-
191
- class LiveRoomManager {
192
- private let liveId: String
193
- private let audienceManager: AudienceManager
194
- private let barrageManager: BarrageManager // 假设您已实现了弹幕文档中的BarrageManager
195
- private var cancellables = Set<AnyCancellable>()
196
-
197
- init(liveId: String) {
198
- self.liveId = liveId
199
- // 初始化两个核心管理器
200
- self.audienceManager = AudienceManager(liveId: liveId)
201
- self.barrageManager = BarrageManager(liveId: liveId)
202
-
203
- // 设置联动
204
- setupWelcomeMessageFlow()
205
- }
206
-
207
- private func setupWelcomeMessageFlow() {
208
- // 1. 获取 LiveAudienceStore 的实例
209
- let audienceStore = LiveAudienceStore.create(liveID: self.liveId)
210
-
211
- // 2. 获取 BarrageStore 的实例 (得益于内部机制,这会是同一个实例)
212
- let barrageStore = BarrageStore.create(liveID: self.liveId)
213
-
214
- // 3. 订阅观众事件
215
- audienceStore.liveAudienceEventPublisher
216
- .receive(on: DispatchQueue.main)
217
- .sink { event in
218
- // 4. 只处理观众加入事件
219
- guard case .onAudienceJoined(let newAudience) = event else {
220
- return
221
- }
222
-
223
- // 5. 创建一条本地提示消息
224
- var welcomeTip = Barrage()
225
- welcomeTip.messageType = .text
226
- welcomeTip.textContent = "欢迎 \(newAudience.userName) 进入直播间!"
227
-
228
- // 6. 调用 BarrageStore 的接口将其插入弹幕列表
229
- barrageStore.appendLocalTip(message: welcomeTip)
230
- }
231
- .store(in: &cancellables)
232
- }
233
- }
234
- ```
235
-
236
- ## API 文档
237
-
238
- 关于 [LiveAudienceStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/liveaudiencestore) 及其相关类的所有公开接口、属性和方法的详细信息,请参阅随 [AtomicXCore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore) 框架的官方 API 文档。本文档使用到的相关 Store 如下:
239
-
240
- |Store/Component|功能描述|API 文档|
241
- |---------|---------|---------|
242
- |LiveCoreView|直播视频流展示与交互的核心视图组件:负责视频流渲染和视图挂件处理,支持主播直播、观众连麦、主播连线等场景。|[API 文档](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/livecoreview)|
243
- |LiveAudienceStore|观众管理:获取实时观众列表(ID / 名称 / 头像),统计观众数量,监听观众进出事件。|[API 文档](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/liveaudiencestore)|
244
- |BarrageStore|弹幕功能:发送文本 / 自定义弹幕,维护弹幕列表,实时监听弹幕状态。|[API 文档](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/barragestore)|
245
-
246
- ## 常见问题
247
-
248
- ### `LiveAudienceState` 中的在线人数(`audienceCount`)是如何更新的?时机和频率是怎样的?
249
-
250
- `audienceCount` 的更新并非总是实时的,其机制如下:
251
- - **主动进出房间**:当用户主动加入或正常退出直播间时,在线人数的变更通知会即时触发。您会很快在 `LiveAudienceState` 中观察到 `audienceCount` 的变化。
252
-
253
- - **异常掉线**:当用户因网络问题、应用崩溃等原因异常掉线时,系统需要通过心跳机制来判断其真实状态。只有当该用户连续 90 秒没有心跳后,系统才会判定其为离线,并触发人数变更通知。
254
-
255
- - **更新机制与频率控制:**
256
-
257
- - 无论是即时触发还是延迟触发,所有的人数变更通知都是以消息的形式在房间内广播的。
258
-
259
- - 房间内每秒的消息总量有上限,单房间消息频控是**每秒 40 条消息**。
260
-
261
- - **关键点:**在“弹幕风暴”或礼物刷屏等消息流量极高的场景下,如果房间内的消息速率超过了 40条/秒 的阈值,为了保证核心消息(例如弹幕)的送达,**人数变更的消息可能会被频控策略丢弃**。
262
-
263
- **这对开发者意味着什么?**
264
-
265
- `audienceCount` 是一个非常接近实时的**高精度估算值**,但在极端高并发场景下,它可能存在短暂的延迟或数据丢失。因此,我们建议您将其用于 **UI 展示**,而不应作为计费、统计等需要绝对精准场景的唯一依据。
@@ -1,214 +0,0 @@
1
- 本篇文档旨在指导您如何使用 `AtomicXCore` 框架中的 `AudioEffectStore` 和 `DeviceStore` 模块,为您的直播应用快速集成音效控制功能,包括麦克风音量、耳返监听,并添加多种趣味变声效果和混响效果。
2
-
3
- ## 核心功能
4
-
5
- 通过组合 `AudioEffectStore` 和 `DeviceStore`,您将能实现以下核心功能:
6
- - **人声音量调节**:控制本地音频上行的采集音量大小,即观众听到的您的声音大小。
7
-
8
- - **耳返功能**:允许主播或连麦用户通过耳机实时听到自己的声音,用于监听和矫正发音。
9
-
10
- - **变声效果**:提供多种趣味变声选项,例如萝莉、大叔、熊孩子等。
11
-
12
- - **混响效果**:模拟不同环境的声场效果,例如 KTV、金属声、低沉、洪亮等。
13
-
14
- ## 概念说明
15
- | <strong>核心概念</strong> | <strong>类型</strong> | <strong>核心职责与描述</strong> |
16
- | --- | --- | --- |
17
- | <code>AudioChangerType</code> | <code>enum</code> | 变声效果枚举,例如,“小孩”,“男人”等。 |
18
- | <code>AudioReverbType</code> | <code>enum</code> | 混响效果枚举,例如,“ktv”,“礼堂”等。 |
19
- | <code>AudioEffectState</code> | <code>struct</code> | 代表音效模块的当前状态,通常用于 UI 渲染。包括变声状态、混响状态、耳返开启状态、耳返音量。 |
20
- | <code>AudioEffectStore</code> | <code>class</code> | 代表音效模块<strong>单例数据管理类</strong>。通过它您可以调用修改音效接口,当您调用接口后,相应的 <code>state</code> 属性会自动更新,可以通过订阅这个 state 响应式数据来接收和监听状态更新。 |
21
- | <code>DeviceState</code> | <code>struct</code> | 代表设备模块的当前状态,通常用于 UI 渲染。核心属性包括摄像头、麦克风的设备状态。 |
22
- | <code>DeviceStore</code> | <code>class</code> | 代表设备模块<strong>单例数据管理类</strong>。通过它您可以调用操作摄像头、麦克风接口,当您调用接口后,相应的 <code>state</code> 属性会自动更新,可以通过订阅这个 state 响应式数据来接收和监听状态更新。 |
23
-
24
- ## 实现步骤
25
-
26
- ### 步骤1:组件集成
27
-
28
- 请参考 开播与收听 集成 **AtomicXCore。**
29
-
30
- ### 步骤2:获取 Store 实例
31
-
32
- `AudioEffectStore` 和 `DeviceStore` 是单例对象,您可以直接通过 shared 属性在项目的任何位置获取实例。您也可以参考 TUILiveKit 开源 UI Demo 项目中的 [AudioEffectView.swift](https://github.com/Tencent-RTC/TUIKit_iOS/blob/main/live/Sources/Component/AudioEffect/AudioEffectView.swift) 文件来了解完整的实现逻辑。
33
- ``` swift
34
- import UIKit
35
- import AtomicXCore
36
- import Combine
37
-
38
- let audioEffectStore = AudioEffectStore.shared
39
- let deviceStore = DeviceStore.shared
40
- ```
41
-
42
- ### 步骤3:实现耳返功能
43
-
44
- 耳返功能允许用户实时监听自己的麦克风声音,可以通过调用本节介绍的接口管理耳返功能。
45
-
46
- > **注意:**
47
- >
48
-
49
- > 耳返功能通常需要连接耳机才能正常工作。
50
- >
51
-
52
- #### 实现方式:
53
- 1. **开关耳返**:您可以使用 `UISwitch` 控件实现开关耳返功能。
54
-
55
- 2. **设置耳返音量值**:您可以使用 `UISlider` 控件实现左右拖动滑块来调节音量的功能,并将 `UISlider` 的值映射成音量值,调用 `setOutputVolume(_ volume:)`。请注意,该接口接收的参数范围是 `[0, 150],`所以您需要将 UI 控件的值(例如 UISlider 的 `0 - 1.0`)映射到 `0 - 150` 的范围。
56
-
57
- 3. **监听状态更新 UI**:您可以订阅实时的耳返状态值更新 UI。
58
-
59
- #### 代码示例:
60
- ``` swift
61
- // 1. 开启耳返
62
- audioEffectStore.setVoiceEarMonitorEnable(enable: true)
63
-
64
- // 2. 调节耳返音量
65
- audioEffectStore.setVoiceEarMonitorVolume(volume: 80)
66
-
67
- // 3. 关闭耳返
68
- audioEffectStore.setVoiceEarMonitorEnable(enable: false)
69
-
70
- // 4. 监听状态
71
- audioEffectStore.state
72
- .subscribe(StatePublisherSelector(keyPath: \AudioEffectState.earMonitorVolume))
73
- .removeDuplicates()
74
- .sink { currentVolume in
75
- print("耳返音量: \(currentVolume)")
76
- valueLabel.text = "\(currentVolume)" //更新UILabel显示数值
77
- }
78
- .store(in: &cancellables)
79
- ```
80
-
81
- #### setVoiceEarMonitorEnable 接口参数
82
- | <strong>参数名</strong> | <strong>类型</strong> | <strong>描述</strong> |
83
- | --- | --- | --- |
84
- | <code>enable</code> | <code>Bool</code> | 是否开启耳返。<br>- true:开启<br>- false:关闭 |
85
-
86
- #### setVoiceEarMonitorVolume 接口参数
87
- | <strong>参数名</strong> | <strong>类型</strong> | <strong>描述</strong> |
88
- | --- | --- | --- |
89
- | <code>volume</code> | <code>Int</code> | 耳返音量大小。<br>- 取值范围: [0, 150]<br>- 默认值:100 |
90
-
91
- ### 步骤4:实现人声音量调节
92
-
93
- 当主播希望调节自己的上行采集音量大小时,调用 `DeviceStore` 的 `setCaptureVolume(volume: )` 方法传入音量值即可。
94
-
95
- #### 实现方式:
96
- 1. **设置采集音量值**:您可以使用 `UISlider` 控件实现左右拖动滑块来调节音量的功能,并将 `UISlider` 的值映射成音量值后调用 `setCaptureVolume(volume: 80)`。请注意,该接口接收的参数范围是 `[0, 150],`所以您需要将 UI 控件的值(例如 UISlider 的 `0 - 1.0`)映射到 `0 - 150` 的范围。
97
-
98
- 2. **监听状态更新 UI**:您可以订阅实时的音量状态值更新 UI。
99
-
100
- #### 示例代码:
101
- ``` swift
102
- // 1. 调节音量
103
- deviceStore.setCaptureVolume(volume: 80)
104
-
105
- // 2. 监听状态
106
- deviceStore.state
107
- .subscribe(StatePublisherSelector(keyPath: \DeviceState.captureVolume))
108
- .removeDuplicates()
109
- .sink { captureVolume in
110
- print("采集音量: \(captureVolume)")
111
- valueLabel.text = "\(captureVolume)" //更新UILabel显示数值
112
- }
113
- .store(in: &cancellables)
114
- ```
115
-
116
- #### setCaptureVolume 接口参数
117
- | <strong>参数名</strong> | <strong>类型</strong> | <strong>描述</strong> |
118
- | --- | --- | --- |
119
- | <code>volume</code> | <code>Int</code> | 采集音量大小。<br>- 取值范围: [0, 150]<br>- 默认值:100 |
120
-
121
- ### 步骤5:实现变声效果
122
-
123
- 当主播希望改变自己的声音时,您可以调用 `setAudioChangerType(type:)` 方法,传入相应的 Type 枚举值即可切换效果。
124
-
125
- #### 示例代码:
126
- ``` swift
127
- // 示例:将变声效果设置为“小孩”
128
- audioEffectStore.setAudioChangerType(type: .child)
129
- // 示例:关闭变声效果
130
- audioEffectStore.setAudioChangerType(type: .none)
131
- ```
132
-
133
- #### setAudioChangerType 接口参数
134
-
135
- |**参数名**|**类型**|**描述**|
136
- |---------|---------|---------|
137
- |`type`|`AudioChangerType`|变声效果枚举。|
138
-
139
- ### 步骤6:实现混响效果
140
-
141
- 当主播希望给自己的声音添加混响效果时,您可以调用 `setAudioReverbType(type:)` 方法,传入相应的 Type 枚举值即可切换效果。
142
- ``` swift
143
- // 示例:设置为“KTV”混响效果
144
- audioEffectStore.setAudioReverbType(type: .ktv)
145
- // 示例:关闭混响效果
146
- audioEffectStore.setAudioReverbType(type: .none)
147
- ```
148
-
149
- #### setAudioReverbType 接口参数
150
-
151
- |**参数名**|**类型**|**描述**|
152
- |---------|---------|---------|
153
- |`type`|`AudioReverbType`|混响效果枚举。|
154
-
155
- ### 步骤7:重置音效设置
156
-
157
- > **重要:**
158
- >
159
-
160
- > `AudioEffectStore` 和 `DeviceStore` 是单例,这意味着音效和设备设置是全局生效的,如果您在当前直播间的设置不想影响到您创建的其他直播间,就需要在当前直播间结束的时候重置音效和设备设置。
161
- >
162
-
163
- 以下两种情况您可能需要重置音效设置:
164
- 1. 当前直播间结束时,需要重置音效设置。
165
-
166
- 2. 您需要提供“一键恢复”的功能,可以通过调用 store 的 `reset()` 方法实现。
167
-
168
- ``` swift
169
- class YourMainViewController: UIViewController {
170
- func reset() {
171
- AudioEffectStore.shared.reset()
172
- DeviceStore.shared.reset()
173
- }
174
- }
175
- ```
176
-
177
- ## API 文档
178
-
179
- 关于 [AudioEffectStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/audioeffectstore) 和 [DeviceStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/devicestore) 及其相关类的所有公开接口、属性的详细信息,请参阅随 [AtomicXCore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore) 框架的官方 API 文档。
180
-
181
- |**Store/Component**|**功能描述**|**API 文档**|
182
- |---------|---------|---------|
183
- |AudioEffectStore|音效管理:进行音效设置,并获取实时音效状态。|[API 文档](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/audioeffectstore/)|
184
- |DeviceStore |设备管理:进行摄像头、麦克风操作,并获取实时设备状态。|[API 文档](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/devicestore)|
185
-
186
- ## 常见问题
187
-
188
- ### 音效和设备接口的调用时机有没有要求?
189
-
190
- 没有限制。`AudioEffectStore` 和 `DeviceStore` 的设置是全局生效的,您可以在进入直播间之前或之后随时调用相关接口(例如设置变声、混响或耳返),设置会立即生效并被保留。
191
-
192
- ### **“人声音量” 和“耳返音量” 有什么区别?**
193
-
194
- 这是一个非常重要且易混淆的概念,区别如下:
195
- - **人声音量 (CaptureVolume):**通过 `DeviceStore.setCaptureVolume()` 设置**。它决定了观众**能听到的您的声音大小。
196
-
197
- - **耳返音量 (EarMonitorVolume):**通过 `AudioEffectStore.setVoiceEarMonitorVolume()`** 设置。它只**决定了**您自己**在耳机里听到的监听声音大小,**不会**影响观众。
198
-
199
- ### **新创建的直播间为什么直接就有音效、或者出现音量很大、很小等问题?**
200
-
201
- `AudioEffectStore` 和 `DeviceStore` 是单例,这意味着音效和设备设置是全局生效的,出现这种情况很可能是因为您之前设置过音效但是没有重置,需要在合适的地方调用 `reset()` 方法重置。
202
-
203
- ### **为什么我开启了“耳返”,但是听不到自己的声音?**
204
-
205
- 请您按照以下步骤检查:
206
- 1. **是否插入耳机**:耳返功能绝大多数情况下依赖耳机才能生效,请确保已连接有线或蓝牙耳机。
207
-
208
- 2. **音量是否为0**:检查“耳返音量”是否被设置为了 0。
209
-
210
- 3. **麦克风是否开启**:确认 `DeviceStore` 中的麦克风是开启状态(即已调用 `openLocalMicrophone`)。
211
-
212
- ### **变声效果 和混响效果 可以同时生效吗?**
213
-
214
- 可以。`AudioChangerType` 和 `AudioReverbType` 是可以叠加生效的。例如,您可以同时设置 `.littleGirl` 变声和 `.ktv` 混响。