@tencentcloud/sdk-mcp 1.3.9 → 1.4.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 (514) hide show
  1. package/index.js +1 -1
  2. package/index.js.map +1 -1
  3. package/package.json +2 -2
  4. package/resource/doc/{tuicallkit/android/faq.md → callkit/faq/android-faq.md} +75 -308
  5. package/resource/doc/{tuicallkit/faq/common/error_code.md → callkit/faq/common/error-code.md} +2 -2
  6. package/resource/doc/{tuicallkit/flutter/faq.md → callkit/faq/flutter-faq.md} +83 -315
  7. package/resource/doc/{tuicallkit/iOS/faq.md → callkit/faq/ios-faq.md} +76 -313
  8. package/resource/doc/{tuicallkit/vue/faq.md → callkit/faq/web-faq.md} +78 -311
  9. package/resource/doc/callkit/preset/android/api.md +330 -0
  10. package/resource/doc/{tuicallkit → callkit/preset}/android/integration.md +63 -420
  11. package/resource/doc/callkit/preset/flutter/api.md +401 -0
  12. package/resource/doc/{tuicallkit → callkit/preset}/flutter/integration.md +53 -273
  13. package/resource/doc/callkit/preset/ios/api.md +282 -0
  14. package/resource/doc/{tuicallkit/iOS → callkit/preset/ios}/integration.md +39 -120
  15. package/resource/doc/callkit/preset/react/api.md +600 -0
  16. package/resource/doc/{tuicallkit → callkit/preset}/react/integration.md +6 -6
  17. package/resource/doc/callkit/preset/vue/api.md +600 -0
  18. package/resource/doc/{tuicallkit → callkit/preset}/vue/integration.md +5 -5
  19. package/resource/doc/{chatuikit → chatkit}/android/faq.md +29 -37
  20. package/resource/doc/{chatuikit → chatkit}/android/features/theme.md +22 -166
  21. package/resource/doc/{chatuikit → chatkit}/android/integration.md +30 -126
  22. package/resource/doc/chatkit/faq/android_sdk/client-api.md +280 -0
  23. package/resource/doc/{chatuikit → chatkit}/faq/common/product.md +4 -17
  24. package/resource/doc/{chatuikit → chatkit}/faq/common/server.md +1 -2
  25. package/resource/doc/chatkit/faq/flutter_sdk/client-api.md +183 -0
  26. package/resource/doc/{chatuikit → chatkit}/faq/flutter_sdk/faq.md +3 -3
  27. package/resource/doc/chatkit/faq/ios_sdk/client-api.md +279 -0
  28. package/resource/doc/{chatuikit → chatkit}/faq/web_sdk/error_code.md +1 -1
  29. package/resource/doc/{chatuikit → chatkit}/faq/web_sdk/faq.md +4 -4
  30. package/resource/doc/{chatuikit → chatkit}/flutter/features/theme.md +22 -166
  31. package/resource/doc/{chatuikit → chatkit}/flutter/integration.md +20 -95
  32. package/resource/doc/{chatuikit/iOS → chatkit/ios}/faq.md +29 -37
  33. package/resource/doc/{chatuikit/iOS → chatkit/ios}/features/theme.md +27 -176
  34. package/resource/doc/{chatuikit/iOS → chatkit/ios}/integration.md +78 -280
  35. package/resource/doc/{chatuikit/vue → chatkit/react}/components/avatar.md +0 -1
  36. package/resource/doc/{chatuikit → chatkit}/react/components/chat-header.md +7 -12
  37. package/resource/doc/{chatuikit → chatkit}/react/components/chat-setting.md +10 -17
  38. package/resource/doc/{chatuikit → chatkit}/react/components/chat.md +1 -1
  39. package/resource/doc/{chatuikit → chatkit}/react/components/component-list.md +0 -1
  40. package/resource/doc/{chatuikit → chatkit}/react/components/contact-list.md +122 -703
  41. package/resource/doc/chatkit/react/components/conversation-actions.md +174 -0
  42. package/resource/doc/chatkit/react/components/conversation-list.md +333 -0
  43. package/resource/doc/chatkit/react/components/conversation-preview.md +116 -0
  44. package/resource/doc/chatkit/react/components/conversation-search.md +57 -0
  45. package/resource/doc/{chatuikit → chatkit}/react/components/message-input.md +36 -186
  46. package/resource/doc/{chatuikit → chatkit}/react/components/message-list.md +21 -113
  47. package/resource/doc/chatkit/react/components/search.md +282 -0
  48. package/resource/doc/{chatuikit → chatkit}/react/components/tuikit.md +5 -26
  49. package/resource/doc/{chatuikit → chatkit}/react/integration.md +37 -104
  50. package/resource/doc/{chatuikit/react → chatkit/vue}/components/avatar.md +0 -1
  51. package/resource/doc/{chatuikit → chatkit}/vue/components/chat-header.md +7 -13
  52. package/resource/doc/{chatuikit → chatkit}/vue/components/chat-setting.md +13 -18
  53. package/resource/doc/{chatuikit → chatkit}/vue/components/chat.md +1 -2
  54. package/resource/doc/{chatuikit → chatkit}/vue/components/component-list.md +0 -1
  55. package/resource/doc/chatkit/vue/components/contact-list.md +271 -0
  56. package/resource/doc/chatkit/vue/components/conversation-actions.md +228 -0
  57. package/resource/doc/{chatuikit → chatkit}/vue/components/conversation-list.md +42 -316
  58. package/resource/doc/chatkit/vue/components/conversation-preview.md +213 -0
  59. package/resource/doc/chatkit/vue/components/conversation-search.md +50 -0
  60. package/resource/doc/{chatuikit → chatkit}/vue/components/message-input.md +1 -23
  61. package/resource/doc/{chatuikit → chatkit}/vue/components/message-list.md +23 -134
  62. package/resource/doc/{chatuikit → chatkit}/vue/components/search.md +73 -640
  63. package/resource/doc/chatkit/vue/components/tuikit.md +45 -0
  64. package/resource/doc/{chatuikit → chatkit}/vue/components/userpicker.md +4 -4
  65. package/resource/doc/{chatuikit → chatkit}/vue/faq.md +1 -1
  66. package/resource/doc/{chatuikit → chatkit}/vue/integration.md +53 -121
  67. package/resource/doc/livekit/core-sdk/live/android/api-reference/AudioEffectStore.md +283 -0
  68. package/resource/doc/livekit/core-sdk/live/android/api-reference/BarrageStore.md +148 -0
  69. package/resource/doc/livekit/core-sdk/live/android/api-reference/BattleStore.md +316 -0
  70. package/resource/doc/livekit/core-sdk/live/android/api-reference/CameraView.md +57 -0
  71. package/resource/doc/livekit/core-sdk/live/android/api-reference/CoGuestStore.md +419 -0
  72. package/resource/doc/livekit/core-sdk/live/android/api-reference/CoHostStore.md +325 -0
  73. package/resource/doc/livekit/core-sdk/live/android/api-reference/DeviceStore.md +436 -0
  74. package/resource/doc/livekit/core-sdk/live/android/api-reference/GiftStore.md +165 -0
  75. package/resource/doc/livekit/core-sdk/live/android/api-reference/LikeStore.md +49 -0
  76. package/resource/doc/livekit/core-sdk/live/android/api-reference/LiveAudienceStore.md +239 -0
  77. package/resource/doc/livekit/core-sdk/live/android/api-reference/LiveCoreView.md +74 -0
  78. package/resource/doc/livekit/core-sdk/live/android/api-reference/LiveSeatStore.md +417 -0
  79. package/resource/doc/livekit/core-sdk/live/android/api-reference/LoginStore.md +207 -0
  80. package/resource/doc/livekit/{live → core-sdk/live}/android/live-audience-list.md +17 -88
  81. package/resource/doc/livekit/{live → core-sdk/live}/android/live-audio-effect.md +34 -192
  82. package/resource/doc/livekit/{live → core-sdk/live}/android/live-barrage.md +26 -139
  83. package/resource/doc/livekit/{live → core-sdk/live}/android/live-base-beauty.md +16 -99
  84. package/resource/doc/livekit/{live → core-sdk/live}/android/live-co-guest-interaction.md +54 -161
  85. package/resource/doc/livekit/{live → core-sdk/live}/android/live-gift.md +75 -455
  86. package/resource/doc/livekit/{live → core-sdk/live}/android/live-host-interaction.md +91 -338
  87. package/resource/doc/livekit/{live → core-sdk/live}/android/live-integration.md +108 -492
  88. package/resource/doc/livekit/{live → core-sdk/live}/android/live-live-list.md +27 -165
  89. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/AudioEffectStore.md +279 -0
  90. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/BarrageStore.md +158 -0
  91. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/BaseBeautyStore.md +155 -0
  92. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/BattleStore.md +304 -0
  93. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/CoGuestStore.md +394 -0
  94. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/CoHostStore.md +303 -0
  95. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/DeviceStore.md +410 -0
  96. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/GiftStore.md +160 -0
  97. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/LikeStore.md +51 -0
  98. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/LiveAudienceStore.md +231 -0
  99. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/LiveCoreView.md +143 -0
  100. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/LiveSeatStore.md +375 -0
  101. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/LoginStore.md +170 -0
  102. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-audience-list.md +13 -91
  103. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-audio-effect.md +34 -177
  104. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-barrage.md +18 -102
  105. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-base-beauty.md +24 -164
  106. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-co-guest-interaction.md +56 -161
  107. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-gift.md +66 -460
  108. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-host-interaction.md +117 -364
  109. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-integration.md +160 -543
  110. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-live-list.md +22 -161
  111. package/resource/doc/livekit/core-sdk/live/ios/api-reference/AudioEffectStore.md +287 -0
  112. package/resource/doc/livekit/core-sdk/live/ios/api-reference/BarrageStore.md +165 -0
  113. package/resource/doc/livekit/core-sdk/live/ios/api-reference/BaseBeautyStore.md +143 -0
  114. package/resource/doc/livekit/core-sdk/live/ios/api-reference/BattleStore.md +298 -0
  115. package/resource/doc/livekit/core-sdk/live/ios/api-reference/CoGuestStore.md +349 -0
  116. package/resource/doc/livekit/core-sdk/live/ios/api-reference/CoHostStore.md +297 -0
  117. package/resource/doc/livekit/core-sdk/live/ios/api-reference/DeviceStore.md +471 -0
  118. package/resource/doc/livekit/core-sdk/live/ios/api-reference/GiftStore.md +179 -0
  119. package/resource/doc/livekit/core-sdk/live/ios/api-reference/LikeStore.md +49 -0
  120. package/resource/doc/livekit/core-sdk/live/ios/api-reference/LiveAudienceStore.md +238 -0
  121. package/resource/doc/livekit/core-sdk/live/ios/api-reference/LiveCoreView.md +74 -0
  122. package/resource/doc/livekit/core-sdk/live/ios/api-reference/LiveSeatStore.md +412 -0
  123. package/resource/doc/livekit/core-sdk/live/ios/api-reference/LoginStore.md +173 -0
  124. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-audience-list.md +23 -96
  125. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-audio-effect.md +33 -195
  126. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-barrage.md +35 -150
  127. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-base-beauty.md +20 -105
  128. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-co-guest-interaction.md +35 -140
  129. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-gift.md +77 -457
  130. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-host-interaction.md +70 -317
  131. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-integration.md +90 -473
  132. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-live-list.md +28 -163
  133. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-audience-list.md +17 -88
  134. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-audio-effect.md +34 -192
  135. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-barrage.md +26 -139
  136. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-co-guest-interaction.md +53 -262
  137. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-gift.md +75 -455
  138. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-host-interaction.md +60 -272
  139. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-integration.md +63 -440
  140. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-room-list.md +23 -151
  141. package/resource/doc/livekit/{voice → core-sdk/voice}/flutter/voice-audience-list.md +13 -91
  142. package/resource/doc/livekit/{voice → core-sdk/voice}/flutter/voice-audio-effect.md +34 -177
  143. package/resource/doc/livekit/{voice → core-sdk/voice}/flutter/voice-barrage.md +18 -102
  144. package/resource/doc/livekit/{voice → core-sdk/voice}/flutter/voice-co-guest-interaction.md +44 -201
  145. package/resource/doc/livekit/{voice → core-sdk/voice}/flutter/voice-gift.md +66 -460
  146. package/resource/doc/livekit/{voice → core-sdk/voice}/flutter/voice-integration.md +57 -419
  147. package/resource/doc/livekit/{voice → core-sdk/voice}/flutter/voice-room-list.md +24 -157
  148. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-audience-list.md +23 -96
  149. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-audio-effect.md +33 -195
  150. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-barrage.md +35 -150
  151. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-co-guest-interaction.md +45 -254
  152. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-gift.md +77 -457
  153. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-host-interaction.md +52 -261
  154. package/resource/doc/livekit/core-sdk/voice/ios/voice-integration.md +478 -0
  155. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-room-list.md +36 -167
  156. package/resource/doc/livekit/{voice → core-sdk/voice}/uni-app/voice-audience-list.md +15 -45
  157. package/resource/doc/livekit/{voice → core-sdk/voice}/uni-app/voice-audio-effect.md +23 -137
  158. package/resource/doc/livekit/{voice → core-sdk/voice}/uni-app/voice-barrage.md +25 -131
  159. package/resource/doc/livekit/{voice → core-sdk/voice}/uni-app/voice-co-guest-interaction.md +70 -366
  160. package/resource/doc/livekit/{voice → core-sdk/voice}/uni-app/voice-gift.md +70 -424
  161. package/resource/doc/livekit/core-sdk/voice/uni-app/voice-integration.md +323 -0
  162. package/resource/doc/livekit/{voice → core-sdk/voice}/uni-app/voice-room-list.md +24 -116
  163. package/resource/doc/livekit/faq/common/{error_code.md → error-code.md} +2 -3
  164. package/resource/doc/livekit/preset/live/vue/api-reference/index.md +780 -0
  165. package/resource/doc/livekit/preset/live/vue/components/barrage.md +291 -0
  166. package/resource/doc/livekit/{live → preset/live}/vue/components/co-guest-panel.md +9 -48
  167. package/resource/doc/livekit/{live → preset/live}/vue/components/live-audience-list.md +27 -145
  168. package/resource/doc/livekit/{live → preset/live}/vue/components/live-scene-panel.md +13 -76
  169. package/resource/doc/livekit/{live → preset/live}/vue/components/live-view.md +33 -224
  170. package/resource/doc/livekit/preset/live/vue/components/stream-mixer.md +211 -0
  171. package/resource/doc/livekit/preset/live/vue/faq.md +1 -0
  172. package/resource/doc/livekit/preset/live/vue/live-list-integration.md +244 -0
  173. package/resource/doc/livekit/preset/live/vue/live-player-desk-integration.md +301 -0
  174. package/resource/doc/livekit/preset/live/vue/live-player-h5-integration.md +307 -0
  175. package/resource/doc/livekit/preset/live/vue/live-pusher-integration.md +754 -0
  176. package/resource/doc/roomkit/android/features/call-user-to-room.md +234 -0
  177. package/resource/doc/roomkit/android/features/room-participant-state.md +850 -0
  178. package/resource/doc/roomkit/android/features/room-state.md +358 -0
  179. package/resource/doc/roomkit/android/features/schedule-room.md +336 -0
  180. package/resource/doc/roomkit/android/integration.md +433 -0
  181. package/resource/doc/roomkit/{common/error_code.md → faq/common/error-code.md} +1 -1
  182. package/resource/doc/roomkit/flutter/features/call-user-to-room.md +228 -0
  183. package/resource/doc/roomkit/flutter/features/room-participant-state.md +796 -0
  184. package/resource/doc/roomkit/flutter/features/room-state.md +324 -0
  185. package/resource/doc/roomkit/flutter/features/schedule-room.md +324 -0
  186. package/resource/doc/roomkit/flutter/integration.md +405 -0
  187. package/resource/doc/roomkit/ios/features/call-user-to-room.md +226 -0
  188. package/resource/doc/roomkit/ios/features/room-participant-state.md +821 -0
  189. package/resource/doc/roomkit/ios/features/room-state.md +320 -0
  190. package/resource/doc/roomkit/ios/features/schedule-room.md +318 -0
  191. package/resource/doc/roomkit/ios/integration.md +384 -0
  192. package/resource/doc/roomkit/vue/faq.md +1 -0
  193. package/resource/doc/roomkit/vue/features/call-user-to-room.md +17 -53
  194. package/resource/doc/roomkit/vue/features/device-detection.md +30 -48
  195. package/resource/doc/roomkit/vue/features/device-state.md +24 -44
  196. package/resource/doc/roomkit/vue/features/free-beauty-panel.md +13 -36
  197. package/resource/doc/roomkit/vue/features/room-chat.md +31 -89
  198. package/resource/doc/roomkit/vue/features/room-participant-state.md +28 -50
  199. package/resource/doc/roomkit/vue/features/room-state.md +25 -36
  200. package/resource/doc/roomkit/vue/features/room-view.md +30 -127
  201. package/resource/doc/roomkit/vue/features/schedule-room.md +9 -40
  202. package/resource/doc/roomkit/vue/features/screen-share.md +22 -90
  203. package/resource/doc/roomkit/vue/features/virtual-background.md +13 -34
  204. package/resource/doc/roomkit/vue/integration.md +21 -80
  205. package/resource/doc/rtcengine/faq/common/userSig.md +17 -141
  206. package/resource/doc/rtcengine/faq/web/web.md +15 -22
  207. package/resource/doc/rtcengine/web/api.md +17 -21
  208. package/resource/doc/rtcengine/web/how_to_integrated_web_sdk.md +4 -10
  209. package/resource/doc/rtcengine/web/how_to_run_web_sdk_demo.md +4 -8
  210. package/resource/doc/rtcengine/web/plugin/20-advanced-customized-capture-rendering.md +3 -3
  211. package/resource/doc/rtcengine/web/plugin/21-advanced-auto-play-policy.md +2 -3
  212. package/resource/doc/rtcengine/web/plugin/22-advanced-audio-mixer.md +6 -6
  213. package/resource/doc/rtcengine/web/plugin/23-advanced-support-detection.md +2 -2
  214. package/resource/doc/rtcengine/web/plugin/24-advanced-network-quality.md +2 -4
  215. package/resource/doc/rtcengine/web/plugin/25-advanced-device-change.md +1 -2
  216. package/resource/doc/rtcengine/web/plugin/26-advanced-publish-cdn-stream.md +2 -6
  217. package/resource/doc/rtcengine/web/plugin/27-advanced-small-stream.md +13 -14
  218. package/resource/doc/rtcengine/web/plugin/28-advanced-beauty.md +10 -90
  219. package/resource/doc/rtcengine/web/plugin/31-advanced-plugins-overview.md +5 -8
  220. package/resource/doc/rtcengine/web/plugin/34-advanced-proxy.md +31 -35
  221. package/resource/doc/rtcengine/web/plugin/35-advanced-ai-denoiser.md +0 -2
  222. package/resource/doc/rtcengine/web/plugin/36-advanced-virtual-background.md +7 -49
  223. package/resource/doc/rtcengine/web/plugin/37-advanced-voice-changer.md +1 -1
  224. package/resource/doc/rtcengine/web/plugin/39-advanced-video-decoder.md +0 -3
  225. package/resource/doc/rtcengine/web/plugin/40-advanced-video-mixer.md +20 -20
  226. package/resource/doc/rtcengine/web/plugin/41-advanced-small-stream-auto-switcher.md +1 -1
  227. package/resource/doc/rtcengine/web/plugin/42-advanced-realtime-transcriber.md +4 -4
  228. package/resource/doc/rtcengine/web/plugin/43-advanced-face-detection.md +3 -3
  229. package/resource/doc/trtc/C++/ITRTCCloud.md +718 -2847
  230. package/resource/doc/trtc/C++/ITRTCStatistics.md +53 -308
  231. package/resource/doc/trtc/C++/ITXAudioEffectManager.md +207 -1041
  232. package/resource/doc/trtc/C++/ITXDeviceManager.md +127 -768
  233. package/resource/doc/trtc/C++/TRTCCloudCallback.md +634 -2259
  234. package/resource/doc/trtc/C++/TRTCTypeDef.md +726 -3465
  235. package/resource/doc/trtc/C++/TXLiteAVCode.md +117 -916
  236. package/resource/doc/trtc/android/TRTCCloud.md +638 -2612
  237. package/resource/doc/trtc/android/TRTCCloudDef.md +769 -3697
  238. package/resource/doc/trtc/android/TRTCCloudListener.md +609 -2070
  239. package/resource/doc/trtc/android/TRTCStatistics.md +48 -278
  240. package/resource/doc/trtc/android/TXAudioEffectManager.md +207 -1049
  241. package/resource/doc/trtc/android/TXBeautyManager.md +127 -704
  242. package/resource/doc/trtc/android/TXDeviceManager.md +51 -318
  243. package/resource/doc/trtc/android/TXLiteAVCode.md +115 -900
  244. package/resource/doc/trtc/iOS/TRTCCloud.md +726 -2930
  245. package/resource/doc/trtc/iOS/TRTCCloudDelegate.md +580 -2099
  246. package/resource/doc/trtc/iOS/TRTCStatistics.md +48 -278
  247. package/resource/doc/trtc/iOS/TXAudioEffectManager.md +179 -896
  248. package/resource/doc/trtc/iOS/TXBeautyManager.md +128 -710
  249. package/resource/doc/trtc/iOS/TXDeviceManager.md +129 -772
  250. package/resource/doc/trtc/iOS/TXLiteAVCode.md +117 -915
  251. package/resource/doc/trtc/iOS/TXLiveSDKTypeDef.md +747 -3559
  252. package/server.js +1 -5
  253. package/server.js.map +1 -1
  254. package/tools/call/get_callkit_api.js +32 -0
  255. package/tools/call/get_callkit_api.js.map +1 -0
  256. package/tools/call/get_native_call_uikit_integration.js +34 -0
  257. package/tools/call/get_native_call_uikit_integration.js.map +1 -0
  258. package/tools/call/{get-web-call-integration.js → get_web_call_uikit_integration.js} +13 -8
  259. package/tools/call/get_web_call_uikit_integration.js.map +1 -0
  260. package/tools/chat/get_native_chat_uikit_feature_detail.js +34 -0
  261. package/tools/chat/get_native_chat_uikit_feature_detail.js.map +1 -0
  262. package/tools/chat/get_native_chat_uikit_integration.js +45 -0
  263. package/tools/chat/get_native_chat_uikit_integration.js.map +1 -0
  264. package/tools/chat/get_web_chat_uikit_component_detail.js +34 -0
  265. package/tools/chat/get_web_chat_uikit_component_detail.js.map +1 -0
  266. package/tools/chat/get_web_chat_uikit_integration.js +45 -0
  267. package/tools/chat/get_web_chat_uikit_integration.js.map +1 -0
  268. package/tools/common/get_faq.js +265 -0
  269. package/tools/common/get_faq.js.map +1 -0
  270. package/tools/common/{get-usersig.js → get_usersig.js} +6 -3
  271. package/tools/common/get_usersig.js.map +1 -0
  272. package/tools/common/present_framework_choice.js +63 -0
  273. package/tools/common/present_framework_choice.js.map +1 -0
  274. package/tools/common/record_skill_session.js +58 -0
  275. package/tools/common/record_skill_session.js.map +1 -0
  276. package/tools/definitions/get_callkit_api_def.js +28 -0
  277. package/tools/definitions/get_callkit_api_def.js.map +1 -0
  278. package/tools/definitions/get_faq_def.js +18 -19
  279. package/tools/definitions/get_faq_def.js.map +1 -1
  280. package/tools/definitions/get_native_call_uikit_integration_def.js +15 -34
  281. package/tools/definitions/get_native_call_uikit_integration_def.js.map +1 -1
  282. package/tools/definitions/get_native_chat_uikit_feature_detail_def.js +31 -0
  283. package/tools/definitions/get_native_chat_uikit_feature_detail_def.js.map +1 -0
  284. package/tools/definitions/get_native_chat_uikit_integration_def.js +16 -41
  285. package/tools/definitions/get_native_chat_uikit_integration_def.js.map +1 -1
  286. package/tools/definitions/get_native_livekit_core_features_def.js +33 -0
  287. package/tools/definitions/get_native_livekit_core_features_def.js.map +1 -0
  288. package/tools/definitions/get_native_livekit_core_integration_def.js +33 -0
  289. package/tools/definitions/get_native_livekit_core_integration_def.js.map +1 -0
  290. package/tools/definitions/get_native_trtc_sdk_docs_def.js +32 -0
  291. package/tools/definitions/get_native_trtc_sdk_docs_def.js.map +1 -0
  292. package/tools/definitions/get_usersig_def.js +17 -24
  293. package/tools/definitions/get_usersig_def.js.map +1 -1
  294. package/tools/definitions/get_web_call_uikit_integration_def.js +15 -7
  295. package/tools/definitions/get_web_call_uikit_integration_def.js.map +1 -1
  296. package/tools/definitions/get_web_chat_uikit_component_detail_def.js +17 -49
  297. package/tools/definitions/get_web_chat_uikit_component_detail_def.js.map +1 -1
  298. package/tools/definitions/get_web_chat_uikit_integration_def.js +16 -19
  299. package/tools/definitions/get_web_chat_uikit_integration_def.js.map +1 -1
  300. package/tools/definitions/get_web_live_uikit_integration_def.js +13 -18
  301. package/tools/definitions/get_web_live_uikit_integration_def.js.map +1 -1
  302. package/tools/definitions/get_web_livekit_api_def.js +27 -0
  303. package/tools/definitions/get_web_livekit_api_def.js.map +1 -0
  304. package/tools/definitions/get_web_livekit_component_detail_def.js +29 -0
  305. package/tools/definitions/get_web_livekit_component_detail_def.js.map +1 -0
  306. package/tools/definitions/get_web_room_uikit_integration_def.js +13 -46
  307. package/tools/definitions/get_web_room_uikit_integration_def.js.map +1 -1
  308. package/tools/definitions/get_web_roomkit_feature_detail_def.js +30 -0
  309. package/tools/definitions/get_web_roomkit_feature_detail_def.js.map +1 -0
  310. package/tools/definitions/get_web_trtc_sdk_api_def.js +25 -0
  311. package/tools/definitions/get_web_trtc_sdk_api_def.js.map +1 -0
  312. package/tools/definitions/get_web_trtc_sdk_integration_def.js +25 -0
  313. package/tools/definitions/get_web_trtc_sdk_integration_def.js.map +1 -0
  314. package/tools/definitions/get_web_trtc_sdk_plugin_def.js +25 -0
  315. package/tools/definitions/get_web_trtc_sdk_plugin_def.js.map +1 -0
  316. package/tools/definitions/present_framework_choice_def.js +23 -12
  317. package/tools/definitions/present_framework_choice_def.js.map +1 -1
  318. package/tools/definitions/record_skill_session_def.js +31 -0
  319. package/tools/definitions/record_skill_session_def.js.map +1 -0
  320. package/tools/index.js +49 -61
  321. package/tools/index.js.map +1 -1
  322. package/tools/live/get_native_livekit_core_features.js +65 -0
  323. package/tools/live/get_native_livekit_core_features.js.map +1 -0
  324. package/tools/live/get_native_livekit_core_integration.js +59 -0
  325. package/tools/live/get_native_livekit_core_integration.js.map +1 -0
  326. package/tools/live/get_web_live_uikit_integration.js +48 -0
  327. package/tools/live/get_web_live_uikit_integration.js.map +1 -0
  328. package/tools/live/get_web_livekit_api.js +32 -0
  329. package/tools/live/get_web_livekit_api.js.map +1 -0
  330. package/tools/live/get_web_livekit_component_detail.js +34 -0
  331. package/tools/live/get_web_livekit_component_detail.js.map +1 -0
  332. package/tools/room/{get-web-room-integration.js → get_web_room_uikit_integration.js} +13 -14
  333. package/tools/room/get_web_room_uikit_integration.js.map +1 -0
  334. package/tools/room/{get-web-room-feature-detail.js → get_web_roomkit_feature_detail.js} +30 -31
  335. package/tools/room/get_web_roomkit_feature_detail.js.map +1 -0
  336. package/tools/rtcengine/get_web_trtc_sdk_api.js +31 -0
  337. package/tools/rtcengine/get_web_trtc_sdk_api.js.map +1 -0
  338. package/tools/rtcengine/get_web_trtc_sdk_integration.js +31 -0
  339. package/tools/rtcengine/get_web_trtc_sdk_integration.js.map +1 -0
  340. package/tools/rtcengine/get_web_trtc_sdk_plugin.js +31 -0
  341. package/tools/rtcengine/get_web_trtc_sdk_plugin.js.map +1 -0
  342. package/tools/trtc/get_native_trtc_sdk_docs.js +73 -0
  343. package/tools/trtc/get_native_trtc_sdk_docs.js.map +1 -0
  344. package/utils/generate-structured-result.js +61 -17
  345. package/utils/generate-structured-result.js.map +1 -1
  346. package/utils/report-cls-client.js +21 -1
  347. package/utils/report-cls-client.js.map +1 -1
  348. package/utils/report-es-client.js +1 -1
  349. package/resource/doc/chatuikit/android/workflow.md +0 -713
  350. package/resource/doc/chatuikit/faq/android_sdk/client-api.md +0 -1376
  351. package/resource/doc/chatuikit/faq/flutter_sdk/client-api.md +0 -860
  352. package/resource/doc/chatuikit/faq/ios_sdk/client-api.md +0 -1371
  353. package/resource/doc/chatuikit/flutter/workflow.md +0 -816
  354. package/resource/doc/chatuikit/iOS/workflow.md +0 -0
  355. package/resource/doc/chatuikit/react/components/conversation-list.md +0 -765
  356. package/resource/doc/chatuikit/react/components/search.md +0 -885
  357. package/resource/doc/chatuikit/react/create-group.md +0 -22
  358. package/resource/doc/chatuikit/react/init.md +0 -25
  359. package/resource/doc/chatuikit/react/workflow.md +0 -254
  360. package/resource/doc/chatuikit/uniapp-app/faq.md +0 -0
  361. package/resource/doc/chatuikit/uniapp-app/integration.md +0 -619
  362. package/resource/doc/chatuikit/uniapp-app/workflow.md +0 -576
  363. package/resource/doc/chatuikit/vue/components/contact-list.md +0 -679
  364. package/resource/doc/chatuikit/vue/components/tuikit.md +0 -110
  365. package/resource/doc/chatuikit/vue/create-group.md +0 -26
  366. package/resource/doc/chatuikit/vue/init.md +0 -35
  367. package/resource/doc/chatuikit/vue/workflow.md +0 -395
  368. package/resource/doc/livekit/live/android/workflow.md +0 -322
  369. package/resource/doc/livekit/live/flutter/workflow.md +0 -353
  370. package/resource/doc/livekit/live/ios/workflow.md +0 -352
  371. package/resource/doc/livekit/live/vue/components/barrage.md +0 -615
  372. package/resource/doc/livekit/live/vue/components/stream-mixer.md +0 -442
  373. package/resource/doc/livekit/live/vue/faq.md +0 -0
  374. package/resource/doc/livekit/live/vue/live-list-integration.md +0 -195
  375. package/resource/doc/livekit/live/vue/live-player-desk-integration.md +0 -293
  376. package/resource/doc/livekit/live/vue/live-player-h5-integration.md +0 -381
  377. package/resource/doc/livekit/live/vue/live-pusher-integration.md +0 -598
  378. package/resource/doc/livekit/live/vue/states/live-state.md +0 -2656
  379. package/resource/doc/livekit/live/vue/workflow.md +0 -219
  380. package/resource/doc/livekit/voice/android/workflow.md +0 -333
  381. package/resource/doc/livekit/voice/flutter/workflow.md +0 -359
  382. package/resource/doc/livekit/voice/ios/voice-integration.md +0 -853
  383. package/resource/doc/livekit/voice/ios/workflow.md +0 -358
  384. package/resource/doc/livekit/voice/uni-app/voice-integration.md +0 -613
  385. package/resource/doc/livekit/voice/uni-app/workflow.md +0 -369
  386. package/resource/doc/native_live/android/V2TXLiveCode_api_android.md +0 -334
  387. package/resource/doc/native_live/android/V2TXLiveDef_api_android.md +0 -434
  388. package/resource/doc/native_live/android/V2TXLivePlayerObserver_api_android.md +0 -685
  389. package/resource/doc/native_live/android/V2TXLivePlayer_api_android.md +0 -712
  390. package/resource/doc/native_live/android/V2TXLivePremier_api_android.md +0 -284
  391. package/resource/doc/native_live/android/V2TXLivePusherObserver_api_android.md +0 -849
  392. package/resource/doc/native_live/android/V2TXLivePusher_api_android.md +0 -1046
  393. package/resource/doc/native_live/flutter/V2TXLiveCode_api_flutter.md +0 -460
  394. package/resource/doc/native_live/flutter/V2TXLiveDef_api_flutter.md +0 -558
  395. package/resource/doc/native_live/flutter/V2TXLivePlayerObserver_api_flutter.md +0 -879
  396. package/resource/doc/native_live/flutter/V2TXLivePlayer_api_flutter.md +0 -668
  397. package/resource/doc/native_live/flutter/V2TXLivePremier_api_flutter.md +0 -456
  398. package/resource/doc/native_live/flutter/V2TXLivePusherObserver_api_flutter.md +0 -332
  399. package/resource/doc/native_live/flutter/V2TXLivePusher_api_flutter.md +0 -748
  400. package/resource/doc/native_live/iOS/V2TXLiveCode_api_iOS.md +0 -328
  401. package/resource/doc/native_live/iOS/V2TXLiveDef_api_iOS.md +0 -505
  402. package/resource/doc/native_live/iOS/V2TXLivePlayerObserver_api_iOS.md +0 -507
  403. package/resource/doc/native_live/iOS/V2TXLivePlayer_api_iOS.md +0 -676
  404. package/resource/doc/native_live/iOS/V2TXLivePremier_api_iOS.md +0 -284
  405. package/resource/doc/native_live/iOS/V2TXLivePusherObserver_api_iOS.md +0 -820
  406. package/resource/doc/native_live/iOS/V2TXLivePusher_api_iOS.md +0 -1065
  407. package/resource/doc/roomkit/vue/features/workflow.md +0 -553
  408. package/resource/doc/roomkit/vue/workflow.md +0 -733
  409. package/resource/doc/tuicallkit/android/workflow.md +0 -432
  410. package/resource/doc/tuicallkit/faq/android_sdk/call-observer-api.md +0 -786
  411. package/resource/doc/tuicallkit/faq/android_sdk/callkit-api.md +0 -663
  412. package/resource/doc/tuicallkit/faq/flutter_sdk/call-define-api.md +0 -932
  413. package/resource/doc/tuicallkit/faq/flutter_sdk/call-observer-api.md +0 -926
  414. package/resource/doc/tuicallkit/faq/flutter_sdk/callkit-api.md +0 -452
  415. package/resource/doc/tuicallkit/faq/ios_sdk/call-observer-api.md +0 -779
  416. package/resource/doc/tuicallkit/faq/ios_sdk/callkit-api.md +0 -635
  417. package/resource/doc/tuicallkit/flutter/workflow.md +0 -331
  418. package/resource/doc/tuicallkit/react/api.md +0 -1512
  419. package/resource/doc/tuicallkit/react/faq.md +0 -986
  420. package/resource/doc/tuicallkit/vue/api.md +0 -1512
  421. package/tools/call/get-native-call-integration.js +0 -43
  422. package/tools/call/get-native-call-integration.js.map +0 -1
  423. package/tools/call/get-web-call-api.js +0 -27
  424. package/tools/call/get-web-call-api.js.map +0 -1
  425. package/tools/call/get-web-call-integration.js.map +0 -1
  426. package/tools/chat/get-native-chat-feature-detail.js +0 -30
  427. package/tools/chat/get-native-chat-feature-detail.js.map +0 -1
  428. package/tools/chat/get-native-chat-integration.js +0 -45
  429. package/tools/chat/get-native-chat-integration.js.map +0 -1
  430. package/tools/chat/get-web-chat-component-detail.js +0 -31
  431. package/tools/chat/get-web-chat-component-detail.js.map +0 -1
  432. package/tools/chat/get-web-chat-integration.js +0 -45
  433. package/tools/chat/get-web-chat-integration.js.map +0 -1
  434. package/tools/chat/get-web-chat-uikit-init.js +0 -28
  435. package/tools/chat/get-web-chat-uikit-init.js.map +0 -1
  436. package/tools/chat/get-web-create-group-doc.js +0 -28
  437. package/tools/chat/get-web-create-group-doc.js.map +0 -1
  438. package/tools/common/get-faq.js +0 -91
  439. package/tools/common/get-faq.js.map +0 -1
  440. package/tools/common/get-usersig.js.map +0 -1
  441. package/tools/common/present-framework-choice.js +0 -16
  442. package/tools/common/present-framework-choice.js.map +0 -1
  443. package/tools/common/present-scenario-choice.js +0 -16
  444. package/tools/common/present-scenario-choice.js.map +0 -1
  445. package/tools/common/record-prompt.js +0 -55
  446. package/tools/common/record-prompt.js.map +0 -1
  447. package/tools/common/record-result.js +0 -60
  448. package/tools/common/record-result.js.map +0 -1
  449. package/tools/definitions/get_native_chat_feature_detail_def.js +0 -32
  450. package/tools/definitions/get_native_chat_feature_detail_def.js.map +0 -1
  451. package/tools/definitions/get_native_live_api_def.js +0 -22
  452. package/tools/definitions/get_native_live_api_def.js.map +0 -1
  453. package/tools/definitions/get_native_live_uikit_extra_features_def.js +0 -109
  454. package/tools/definitions/get_native_live_uikit_extra_features_def.js.map +0 -1
  455. package/tools/definitions/get_native_live_uikit_integration_def.js +0 -75
  456. package/tools/definitions/get_native_live_uikit_integration_def.js.map +0 -1
  457. package/tools/definitions/get_native_live_uikit_interaction_def.js +0 -63
  458. package/tools/definitions/get_native_live_uikit_interaction_def.js.map +0 -1
  459. package/tools/definitions/get_trtc_native_api_def.js +0 -17
  460. package/tools/definitions/get_trtc_native_api_def.js.map +0 -1
  461. package/tools/definitions/get_web_call_uikit_api_def.js +0 -23
  462. package/tools/definitions/get_web_call_uikit_api_def.js.map +0 -1
  463. package/tools/definitions/get_web_chat_uikit_init_def.js +0 -23
  464. package/tools/definitions/get_web_chat_uikit_init_def.js.map +0 -1
  465. package/tools/definitions/get_web_create_group_doc_def.js +0 -18
  466. package/tools/definitions/get_web_create_group_doc_def.js.map +0 -1
  467. package/tools/definitions/get_web_live_state_detail_def.js +0 -19
  468. package/tools/definitions/get_web_live_state_detail_def.js.map +0 -1
  469. package/tools/definitions/get_web_live_uikit_component_detail_def.js +0 -27
  470. package/tools/definitions/get_web_live_uikit_component_detail_def.js.map +0 -1
  471. package/tools/definitions/get_web_room_feature_detail_def.js +0 -92
  472. package/tools/definitions/get_web_room_feature_detail_def.js.map +0 -1
  473. package/tools/definitions/present_scenario_choice_def.js +0 -53
  474. package/tools/definitions/present_scenario_choice_def.js.map +0 -1
  475. package/tools/definitions/record_prompt_def.js +0 -58
  476. package/tools/definitions/record_prompt_def.js.map +0 -1
  477. package/tools/definitions/record_result_def.js +0 -46
  478. package/tools/definitions/record_result_def.js.map +0 -1
  479. package/tools/live/get-native-live-uikit-integration.js +0 -177
  480. package/tools/live/get-native-live-uikit-integration.js.map +0 -1
  481. package/tools/live/get-web-live-component-detail.js +0 -31
  482. package/tools/live/get-web-live-component-detail.js.map +0 -1
  483. package/tools/live/get-web-live-state-detail.js +0 -31
  484. package/tools/live/get-web-live-state-detail.js.map +0 -1
  485. package/tools/live/get-web-live-uikit-integration.js +0 -52
  486. package/tools/live/get-web-live-uikit-integration.js.map +0 -1
  487. package/tools/live/get_native_live_uikit_extra_features.js +0 -105
  488. package/tools/live/get_native_live_uikit_extra_features.js.map +0 -1
  489. package/tools/live/get_native_live_uikit_interaction.js +0 -194
  490. package/tools/live/get_native_live_uikit_interaction.js.map +0 -1
  491. package/tools/native_live/get-native-live-api.js +0 -31
  492. package/tools/native_live/get-native-live-api.js.map +0 -1
  493. package/tools/room/get-web-room-feature-detail.js.map +0 -1
  494. package/tools/room/get-web-room-integration.js.map +0 -1
  495. package/tools/rtcengine/get-rtcengine-web-sdk-integration.js +0 -28
  496. package/tools/rtcengine/get-rtcengine-web-sdk-integration.js.map +0 -1
  497. package/tools/rtcengine/get-trtc-sdk-faq.js +0 -32
  498. package/tools/rtcengine/get-trtc-sdk-faq.js.map +0 -1
  499. package/tools/rtcengine/get-trtc-web-sdk-api.js +0 -28
  500. package/tools/rtcengine/get-trtc-web-sdk-api.js.map +0 -1
  501. package/tools/rtcengine/get-trtc-web-sdk-faq.js +0 -30
  502. package/tools/rtcengine/get-trtc-web-sdk-faq.js.map +0 -1
  503. package/tools/rtcengine/get-trtc-web-sdk-integration.js +0 -29
  504. package/tools/rtcengine/get-trtc-web-sdk-integration.js.map +0 -1
  505. package/tools/rtcengine/get-trtc-web-sdk-plugin.js +0 -45
  506. package/tools/rtcengine/get-trtc-web-sdk-plugin.js.map +0 -1
  507. package/tools/trtc/get-trtc-native-api.js +0 -31
  508. package/tools/trtc/get-trtc-native-api.js.map +0 -1
  509. package/utils/handle-component-name.js +0 -33
  510. package/utils/handle-component-name.js.map +0 -1
  511. /package/resource/doc/{rtcengine/web → callkit/core-sdk}/.gitkeep +0 -0
  512. /package/resource/doc/{chatuikit → chatkit}/faq/common/server_error_code.md +0 -0
  513. /package/resource/doc/{chatuikit → chatkit}/flutter/faq.md +0 -0
  514. /package/resource/doc/{chatuikit → chatkit}/react/faq.md +0 -0
@@ -1,879 +0,0 @@
1
- # 腾讯云直播SDK V2TXLivePlayerObserver 播放器回调接口文档
2
-
3
- ## 概述
4
-
5
- `V2TXLivePlayerObserver` 是腾讯云直播SDK的播放器回调接口,用于接收播放器的各种状态通知和事件回调。通过实现该接口的回调方法,开发者可以监控播放器的运行状态、处理播放事件、获取统计数据等。
6
-
7
- **文件路径**: `v2_tx_live_player_observer.dart`
8
- **平台支持**: Flutter
9
-
10
- **主要功能**:
11
- - 播放器状态监控(错误、警告、连接状态)
12
- - 音视频播放事件回调
13
- - 播放统计数据和性能指标
14
- - 自定义渲染和音频处理
15
- - 本地录制任务管理
16
- - SEI消息接收和处理
17
-
18
- ## 回调方法详解
19
-
20
- ### 1. 错误和警告回调
21
-
22
- #### onError() - 播放器错误通知
23
- ```dart
24
- void onError(V2TXLivePlayer player, int code, String msg, Map<String, dynamic> extraInfo)
25
- ```
26
-
27
- **功能**: 播放器出现错误时回调
28
-
29
- **参数**:
30
- - `player`: 触发回调的播放器实例
31
- - `code`: 错误码,参考 `V2TXLiveCode` 枚举
32
- - `msg`: 错误描述信息
33
- - `extraInfo`: 扩展信息,包含详细的错误上下文
34
-
35
- **使用场景**:
36
- - rtc拉流参数不合法
37
- - rtc拉流超时
38
- - rtc拉流服务器处理失败
39
- - 找不到hevc解码器
40
-
41
- **示例**:
42
- ```dart
43
- player.addListener(V2TXLivePlayerObserver(
44
- onError: (player, code, msg, extraInfo) {
45
- switch (code) {
46
- case V2TXLiveCode.V2TXLIVE_ERROR_INVALID_PARAMETER:
47
- print('rtc拉流参数不合法,$msg');
48
- break;
49
- case V2TXLiveCode.V2TXLIVE_ERROR_REQUEST_TIMEOUT:
50
- print('rtc拉流超时,$msg');
51
- break;
52
- case V2TXLiveCode.V2TXLIVE_ERROR_SERVER_PROCESS_FAILED:
53
- print('rtc拉流服务器处理失败,请检查拉流参数,$msg');
54
- break;
55
- case V2TXLiveCode.V2TXLIVE_ERROR_DISCONNECTED:
56
- print('拉流断开,$msg');
57
- break;
58
- case V2TXLiveCode.V2TXLIVE_ERROR_NO_AVAILABLE_HEVC_DECODERS:
59
- print('找不到hevc解码器,可以切换到avc流进行播放,$msg');
60
- break;
61
- default:
62
- print('其它错误,$msg');
63
- break;
64
- }
65
- }
66
- ));
67
- ```
68
-
69
- #### onWarning() - 播放器警告通知
70
- ```dart
71
- void onWarning(V2TXLivePlayer player, int code, String msg, Map<String, dynamic> extraInfo)
72
- ```
73
-
74
- **功能**: 播放器出现警告时回调
75
-
76
- **参数**:
77
- - `player`: 触发回调的播放器实例
78
- - `code`: 警告码,参考 `V2TXLiveCode` 枚举
79
- - `msg`: 警告描述信息
80
- - `extraInfo`: 扩展信息
81
-
82
- **使用场景**:
83
- - 视频渲染发生卡顿
84
- - 解码器类型变更
85
-
86
- **示例**:
87
- ```dart
88
- player.addListener(V2TXLivePlayerObserver(
89
- onWarning: (player, code, msg, extraInfo) {
90
- switch (code) {
91
- case V2TXLiveCode.V2TXLIVE_WARNING_VIDEO_BLOCK:
92
- print('视频渲染发生卡顿');
93
- break;
94
- case V2TXLiveCode.V2TXLIVE_WARNING_CURRENT_DECODE_TYPE_CHANGED:
95
- int codecType = extraInfo['codec_type'];
96
- if (codecType == 0) {
97
- print('解码器类型变更,h.264,$msg');
98
- } else if (codecType == 1) {
99
- print('解码器类型变更,h.265,$msg');
100
- }
101
- break;
102
- default:
103
- print('其它警告,$msg');
104
- break;
105
- }
106
- }
107
- ));
108
- ```
109
-
110
- ## 回调类型枚举
111
-
112
- ### V2TXLivePlayerListenerType
113
-
114
- 播放器监听器类型枚举,定义了所有可用的回调事件类型:
115
-
116
- | 枚举值 | 描述 | 参数说明 |
117
- |--------|------|----------|
118
- | `onError` | **错误回调** - SDK 不可恢复的错误通知 | `code`: 错误码(V2TXLiveCode)<br>`msg`: 错误消息<br>`extraInfo`: 扩展信息 |
119
- | `onWarning` | **警告回调** - 非关键问题通知(如卡顿、可恢复的解码失败) | `code`: 警告码(V2TXLiveCode)<br>`msg`: 警告消息<br>`extraInfo`: 扩展信息 |
120
- | `onVideoResolutionChanged` | **视频分辨率变化通知** | `width`: 视频宽度<br>`height`: 视频高度 |
121
- | `onConnected` | **连接成功通知** | `extraInfo`: 扩展信息 |
122
- | `onVideoPlaying` | **视频播放事件** | `firstPlay`: 首次播放标志<br>`extraInfo`: 扩展信息 |
123
- | `onAudioPlaying` | **音频播放事件** | `firstPlay`: 首次播放标志<br>`extraInfo`: 扩展信息 |
124
- | `onVideoLoading` | **视频加载事件** | `extraInfo`: 扩展信息 |
125
- | `onAudioLoading` | **音频加载事件** | `extraInfo`: 扩展信息 |
126
- | `onPlayoutVolumeUpdate` | **播放音量更新** | `volume`: 音量值(0-100) |
127
- | `onStatisticsUpdate` | **播放器统计信息回调** | `appCpu`: 应用 CPU 使用率(%)<br>`systemCpu`: 系统 CPU 使用率(%)<br>`width`: 视频宽度<br>`height`: 视频高度<br>`fps`: 帧率<br>`videoBitrate`: 视频码率(Kbps)<br>`audioBitrate`: 音频码率(Kbps) |
128
- | `onSnapshotComplete` | **截图完成回调** | `image`: 截取的视频画面(Uint8List) |
129
- | `onRenderVideoFrame` | **自定义视频渲染回调** | `videoFrame`: 视频帧数据(Map) |
130
- | `onReceiveSeiMessage` | **SEI 消息接收回调** | `payloadType`: 消息类型<br>`data`: 消息内容(Uint8List) |
131
- | `onPictureInPictureStateUpdate` | **画中画状态变化回调** | `state`: 状态码<br>`message`: 状态消息<br>`extraInfo`: 扩展信息 |
132
- | `onStreamSwitched` | **流切换回调** | 参数未详细说明 |
133
-
134
- ## 回调函数定义
135
-
136
- ### V2TXLivePlayerObserver
137
-
138
- 播放器观察者回调函数类型定义:
139
-
140
- ```dart
141
- typedef V2TXLivePlayerObserver<P> = void Function(
142
- V2TXLivePlayerListenerType type,
143
- P? params
144
- );
145
- ```
146
-
147
- **参数说明:**
148
- - `type`: 回调事件类型(V2TXLivePlayerListenerType)
149
- - `params`: 回调参数,类型为泛型 P,根据不同的回调类型传递不同的参数结构
150
-
151
- ## 回调分类说明
152
-
153
- ### 1. 错误和警告回调
154
-
155
- #### onError
156
- - **重要性**: 高
157
- - **触发时机**: SDK 发生不可恢复的错误时
158
- - **处理建议**: 必须监听此回调,并根据错误码给用户适当的 UI 提示
159
-
160
- #### onWarning
161
- - **重要性**: 中
162
- - **触发时机**: 发生非关键问题,如卡顿、可恢复的解码失败等
163
- - **处理建议**: 可选择性监听,用于监控播放质量
164
-
165
- ### 2. 连接和状态回调
166
-
167
- #### onConnected() - 网络连接成功回调
168
- ```dart
169
- void onConnected(V2TXLivePlayer player, Map<String, dynamic> extraInfo)
170
- ```
171
-
172
- **功能**: 播放器成功连接到服务器时回调
173
-
174
- **参数**:
175
- - `player`: 触发回调的播放器实例
176
- - `extraInfo`: 连接相关信息
177
-
178
- **使用场景**:
179
- - 监控播放器网络连接状态
180
- - 确认播放器已建立连接
181
-
182
- **示例**:
183
- ```dart
184
- player.addListener(V2TXLivePlayerObserver(
185
- onConnected: (player, extraInfo) {
186
- print('服务器连接成功');
187
- }
188
- ));
189
- ```
190
-
191
- #### onVideoResolutionChanged() - 视频分辨率变化回调
192
- ```dart
193
- void onVideoResolutionChanged(V2TXLivePlayer player, int width, int height)
194
- ```
195
-
196
- **功能**: 视频分辨率发生变化时回调
197
-
198
- **参数**:
199
- - `player`: 触发回调的播放器实例
200
- - `width`: 新的视频宽度
201
- - `height`: 新的视频高度
202
-
203
- **使用场景**:
204
- - 自适应视频渲染视图
205
- - 动态调整播放器布局
206
-
207
- **示例**:
208
- ```dart
209
- player.addListener(V2TXLivePlayerObserver(
210
- onVideoResolutionChanged: (player, width, height) {
211
- print('视频流分辨率发生变化: width-$width, height-$height');
212
- }
213
- ));
214
- ```
215
-
216
- ### 3. 播放事件回调
217
-
218
- #### onVideoPlaying() - 视频开始播放事件
219
- ```dart
220
- void onVideoPlaying(V2TXLivePlayer player, bool firstPlay, Map<String, dynamic> extraInfo)
221
- ```
222
-
223
- **功能**: 视频开始播放时回调,除首次播放外,与onVideoLoading配对使用
224
-
225
- **参数**:
226
- - `player`: 触发回调的播放器实例
227
- - `firstPlay`: 是否为首次播放标志
228
- - `extraInfo`: 播放相关信息
229
-
230
- **使用场景**:
231
- - 显示播放状态UI
232
- - 开始播放计时
233
- - 记录播放日志
234
- - 计算秒开耗时
235
-
236
- **示例**:
237
- ```dart
238
- player.addListener(V2TXLivePlayerObserver(
239
- onVideoPlaying: (player, firstPlay, extraInfo) {
240
- if (firstPlay) {
241
- // 视频首次开始播放
242
- print('首次开始播放');
243
- } else {
244
- // 视频非首次开始播放,可以隐藏加载 UI
245
- print('开始播放');
246
- }
247
- }
248
- ));
249
- ```
250
-
251
- #### onVideoLoading() - 视频开始加载事件
252
- ```dart
253
- void onVideoLoading(V2TXLivePlayer player, Map<String, dynamic> extraInfo)
254
- ```
255
-
256
- **功能**: 视频数据加载时回调
257
-
258
- **参数**:
259
- - `player`: 触发回调的播放器实例
260
- - `extraInfo`: 加载状态信息
261
-
262
- **使用场景**:
263
- - 显示加载动画
264
- - 缓冲状态提示
265
-
266
- **示例**:
267
- ```dart
268
- player.addListener(V2TXLivePlayerObserver(
269
- onVideoLoading: (player, extraInfo) {
270
- // 视频播放开始加载,可以显示加载 UI
271
- print('视频播放开始加载');
272
- }
273
- ));
274
- ```
275
-
276
- #### onAudioPlaying() - 音频开始播放事件
277
- ```dart
278
- void onAudioPlaying(V2TXLivePlayer player, bool firstPlay, Map<String, dynamic> extraInfo)
279
- ```
280
-
281
- **功能**: 音频开始播放时回调
282
-
283
- **参数**:
284
- - `player`: 触发回调的播放器实例
285
- - `firstPlay`: 是否为首次播放标志
286
- - `extraInfo`: 播放相关信息
287
-
288
- **使用场景**:
289
- - 音频播放状态监控
290
- - 纯音频流播放场景
291
-
292
- **示例**:
293
- ```dart
294
- player.addListener(V2TXLivePlayerObserver(
295
- onAudioPlaying: (player, firstPlay, extraInfo) {
296
- if (firstPlay) {
297
- print('音频首次开始播放');
298
- } else {
299
- print('音频开始播放');
300
- }
301
- }
302
- ));
303
- ```
304
-
305
- #### onAudioLoading() - 音频开始加载事件
306
- ```dart
307
- void onAudioLoading(V2TXLivePlayer player, Map<String, dynamic> extraInfo)
308
- ```
309
-
310
- **功能**: 音频数据加载时回调
311
-
312
- **参数**:
313
- - `player`: 触发回调的播放器实例
314
- - `extraInfo`: 加载状态信息
315
-
316
- **使用场景**:
317
- - 显示加载动画
318
- - 缓冲状态提示
319
-
320
- **示例**:
321
- ```dart
322
- player.addListener(V2TXLivePlayerObserver(
323
- onAudioLoading: (player, extraInfo) {
324
- // 音频播放开始加载
325
- print('音频播放开始加载');
326
- }
327
- ));
328
- ```
329
-
330
- ### 3. 音视频质量监控回调
331
-
332
- #### onVideoResolutionChanged
333
- - **触发时机**: 直播流分辨率发生变化时
334
- ### 4. 音视频数据处理回调
335
-
336
- #### onPlayoutVolumeUpdate() - 音量更新回调
337
- ```dart
338
- void onPlayoutVolumeUpdate(V2TXLivePlayer player, int volume)
339
- ```
340
-
341
- **功能**: 播放音量大小实时回调
342
-
343
- **参数**:
344
- - `player`: 触发回调的播放器实例
345
- - `volume`: 当前播放音量值(0-100)
346
-
347
- **前提条件**: 需要调用 `enableVolumeEvaluation()` 开启音量评估
348
-
349
- **使用场景**:
350
- - 实时音量显示
351
- - 音频波形动画
352
- - 静音检测
353
-
354
- **示例**:
355
- ```dart
356
- player.addListener(V2TXLivePlayerObserver(
357
- onPlayoutVolumeUpdate: (player, volume) {
358
- // 音频播放音量回调,可以更新音量大小
359
- print('音频播放音量,音量:$volume');
360
- }
361
- ));
362
- player.enableVolumeEvaluation(300);
363
- ```
364
-
365
- #### onRenderVideoFrame() - 自定义视频渲染回调
366
- ```dart
367
- void onRenderVideoFrame(V2TXLivePlayer player, Map<String, dynamic> videoFrame)
368
- ```
369
-
370
- **功能**: 自定义视频帧渲染回调
371
-
372
- **参数**:
373
- - `player`: 触发回调的播放器实例
374
- - `videoFrame`: 视频帧数据,包含像素格式、缓冲区类型等信息
375
-
376
- **前提条件**: 需要调用 `enableObserveVideoFrame()` 开启视频帧回调
377
-
378
- **使用场景**:
379
- - 自定义视频渲染
380
- - 添加滤镜效果
381
- - 视频水印处理
382
-
383
- **示例**:
384
- ```dart
385
- // 开启自定义渲染
386
- await player.enableObserveVideoFrame(true,
387
- V2TXLivePixelFormat.v2TXLivePixelFormatTexture2D,
388
- V2TXLiveBufferType.v2TXLiveBufferTypeTexture);
389
-
390
- player.addListener(V2TXLivePlayerObserver(
391
- onRenderVideoFrame: (player, videoFrame) {
392
- // 自定义渲染逻辑
393
- print('收到视频帧数据: ${videoFrame['width']}x${videoFrame['height']}');
394
- }
395
- ));
396
- ```
397
-
398
- #### onPlayoutAudioFrame() - 音频数据回调
399
- ```dart
400
- void onPlayoutAudioFrame(V2TXLivePlayer player, Map<String, dynamic> audioFrame)
401
- ```
402
-
403
- **功能**: 音频数据播放回调
404
-
405
- **参数**:
406
- - `player`: 触发回调的播放器实例
407
- - `audioFrame`: 音频帧数据,包含采样率、声道数等信息
408
-
409
- **前提条件**: 需要调用 `enableObserveAudioFrame()` 开启音频帧回调
410
-
411
- **使用场景**:
412
- - 自定义音频处理
413
- - 音频分析
414
- - 实时音频效果
415
-
416
- **示例**:
417
- ```dart
418
- // 开启音频数据监听
419
- await player.enableObserveAudioFrame(true);
420
-
421
- player.addListener(V2TXLivePlayerObserver(
422
- onPlayoutAudioFrame: (player, audioFrame) {
423
- // 自定义音频处理逻辑
424
- print('收到音频帧数据,采样率: ${audioFrame['sampleRate']}');
425
- }
426
- ));
427
- ```
428
-
429
- ### 5. 统计和监控回调
430
-
431
- #### onStatisticsUpdate() - 统计数据回调
432
- ```dart
433
- void onStatisticsUpdate(V2TXLivePlayer player, Map<String, dynamic> statistics)
434
- ```
435
-
436
- **功能**: 播放器统计数据实时回调,约2秒回调一次
437
-
438
- **参数**:
439
- - `player`: 触发回调的播放器实例
440
- - `statistics`: 播放统计信息,包含以下字段:
441
- - `appCpu`: 应用CPU使用率(%)
442
- - `systemCpu`: 系统CPU使用率(%)
443
- - `width`: 视频宽度
444
- - `height`: 视频高度
445
- - `fps`: 帧率
446
- - `videoBitrate`: 视频码率(Kbps)
447
- - `audioBitrate`: 音频码率(Kbps)
448
- - `audioSampleRate`: 音频采样率
449
- - `audioChannels`: 音频声道数
450
-
451
- **使用场景**:
452
- - 播放质量监控
453
- - 性能优化分析
454
- - 用户体验统计
455
-
456
- **示例**:
457
- ```dart
458
- player.addListener(V2TXLivePlayerObserver(
459
- onStatisticsUpdate: (player, statistics) {
460
- print('播放统计信息:');
461
- print(' - 应用CPU: ${statistics['appCpu']}%');
462
- print(' - 系统CPU: ${statistics['systemCpu']}%');
463
- print(' - 分辨率: ${statistics['width']}x${statistics['height']}');
464
- print(' - 帧率: ${statistics['fps']}fps');
465
- print(' - 视频码率: ${statistics['videoBitrate']}Kbps');
466
- print(' - 音频码率: ${statistics['audioBitrate']}Kbps');
467
- }
468
- ));
469
- ```
470
-
471
- ### 6. 高级功能回调
472
-
473
- #### onSnapshotComplete() - 截图完成回调
474
- ```dart
475
- void onSnapshotComplete(V2TXLivePlayer player, Uint8List image)
476
- ```
477
-
478
- **功能**: 截图操作完成回调
479
-
480
- **参数**:
481
- - `player`: 触发回调的播放器实例
482
- - `image`: 截取的视频画面数据(Uint8List)
483
-
484
- **使用场景**:
485
- - 视频截图保存
486
- - 画面分享功能
487
-
488
- **示例**:
489
- ```dart
490
- player.addListener(V2TXLivePlayerObserver(
491
- onSnapshotComplete: (player, image) {
492
- // 处理截图数据
493
- print('截图完成,图片大小: ${image.length} bytes');
494
- // 可以保存到文件或分享
495
- }
496
- ));
497
- player.snapshot();
498
- ```
499
-
500
- #### onReceiveSeiMessage() - SEI消息接收回调
501
- ```dart
502
- void onReceiveSeiMessage(V2TXLivePlayer player, int payloadType, Uint8List data)
503
- ```
504
-
505
- **功能**: 接收SEI(Supplemental Enhancement Information)消息回调
506
-
507
- **参数**:
508
- - `player`: 触发回调的播放器实例
509
- - `payloadType`: SEI消息类型
510
- - `data`: SEI消息数据
511
-
512
- **前提条件**: 需要调用 `enableReceiveSeiMessage()` 开启SEI消息接收
513
-
514
- **使用场景**:
515
- - 场景信息传递
516
- - 互动消息传输
517
- - 时间戳同步
518
-
519
- **示例**:
520
- ```dart
521
- // 开启SEI消息接收
522
- await player.enableReceiveSeiMessage(true, 5);
523
-
524
- player.addListener(V2TXLivePlayerObserver(
525
- onReceiveSeiMessage: (player, payloadType, data) {
526
- // 处理SEI消息
527
- print('收到SEI消息,类型: $payloadType,数据大小: ${data.length} bytes');
528
- }
529
- ));
530
- ```
531
-
532
- #### onStreamSwitched() - 流切换回调
533
- ```dart
534
- void onStreamSwitched(V2TXLivePlayer player, String url, int code)
535
- ```
536
-
537
- **功能**: 分辨率切换操作完成回调,调用 `switchStream()` 时回调
538
-
539
- **参数**:
540
- - `player`: 触发回调的播放器实例
541
- - `url`: 切换后的播放地址
542
- - `code`: 切换状态码(0:成功,-1:超时,-2:服务端错误,-3:客户端错误)
543
-
544
- **使用场景**:
545
- - 清晰度切换监控
546
- - 流切换状态反馈
547
-
548
- **示例**:
549
- ```dart
550
- player.startLivePlay("http://example.com/live/stream_1080p.flv");
551
-
552
- player.addListener(V2TXLivePlayerObserver(
553
- onStreamSwitched: (player, url, code) {
554
- if (code == 0) {
555
- print('切换成功');
556
- } else if (code == -1) {
557
- print('切换超时');
558
- } else if (code == -2) {
559
- print('切换失败,服务端错误');
560
- } else if (code == -3) {
561
- print('切换失败,客户端错误');
562
- }
563
- }
564
- ));
565
-
566
- await player.switchStream("http://example.com/live/stream_720p.flv");
567
- ```
568
- ### 7. 本地录制回调
569
-
570
- #### onLocalRecordBegin() - 录制开始回调
571
- ```dart
572
- void onLocalRecordBegin(V2TXLivePlayer player, int code, String storagePath)
573
- ```
574
-
575
- **功能**: 本地录制任务开始回调,调用 `startLocalRecording()` 时回调
576
-
577
- **参数**:
578
- - `player`: 触发回调的播放器实例
579
- - `code`: 录制状态码
580
- - `storagePath`: 录制文件存储路径
581
-
582
- **状态码说明**:
583
- - `0`: 录制任务启动成功
584
- - `-1`: 内部错误导致录制失败
585
- - `-2`: 文件后缀名有误
586
- - `-6`: 录制已经启动
587
- - `-7`: 录制文件已存在
588
- - `-8`: 录制目录无写入权限
589
-
590
- #### onLocalRecording() - 录制进度回调
591
- ```dart
592
- void onLocalRecording(V2TXLivePlayer player, int durationMs, String storagePath)
593
- ```
594
-
595
- **功能**: 录制任务进行中进度回调,频率与 `startLocalRecording()` 传入的 `interval` 参数一致
596
-
597
- **参数**:
598
- - `player`: 触发回调的播放器实例
599
- - `durationMs`: 已录制时长(毫秒)
600
- - `storagePath`: 录制文件存储路径
601
-
602
- **使用场景**:
603
- - 录制进度显示
604
- - 录制时长限制
605
- - 录制状态监控
606
-
607
- #### onLocalRecordComplete() - 录制完成回调
608
- ```dart
609
- void onLocalRecordComplete(V2TXLivePlayer player, int code, String storagePath)
610
- ```
611
-
612
- **功能**: 录制任务完成回调,调用 `stopLocalRecording()` 时回调
613
-
614
- **参数**:
615
- - `player`: 触发回调的播放器实例
616
- - `code`: 录制完成状态码
617
- - `storagePath`: 录制文件存储路径
618
-
619
- **状态码说明**:
620
- - `0`: 结束录制任务成功
621
- - `-1`: 录制失败
622
- - `-2`: 切换分辨率或横竖屏导致录制结束
623
- - `-3`: 录制时间太短或未采集到数据
624
-
625
- **示例**:
626
- ```dart
627
- player.addListener(V2TXLivePlayerObserver(
628
- onLocalRecordBegin: (player, code, storagePath) {
629
- print('开始录制');
630
- },
631
- onLocalRecording: (player, durationMs, storagePath) {
632
- print('录制中..., durationMs: $durationMs');
633
- },
634
- onLocalRecordComplete: (player, code, storagePath) {
635
- print('录制完成');
636
- }
637
- ));
638
-
639
- V2TXLiveLocalRecordingParams params = V2TXLiveLocalRecordingParams(
640
- filePath: "filepath",
641
- interval: 2000
642
- );
643
- V2TXLiveCode code = await player.startLocalRecording(params);
644
- if (code == V2TXLiveCode.V2TXLIVE_OK) {
645
- print('录制开启成功');
646
- } else if (code == V2TXLiveCode.V2TXLIVE_ERROR_INVALID_PARAMETER) {
647
- print('录制参数不合法');
648
- } else if (code == V2TXLiveCode.V2TXLIVE_ERROR_REFUSED) {
649
- print('录制调用被拒绝');
650
- }
651
- ```
652
-
653
- ### 8. 使用示例
654
-
655
- #### 基础播放器回调实现
656
- ```dart
657
- class MyPlayerObserver extends V2TXLivePlayerObserver {
658
- @override
659
- void onError(V2TXLivePlayer player, int code, String msg, Map<String, dynamic> extraInfo) {
660
- // 处理播放错误
661
- print('PlayerError: 错误码: $code, 错误信息: $msg');
662
- }
663
-
664
- @override
665
- void onConnected(V2TXLivePlayer player, Map<String, dynamic> extraInfo) {
666
- // 连接成功处理
667
- print('Player: 成功连接到服务器');
668
- }
669
-
670
- @override
671
- void onVideoPlaying(V2TXLivePlayer player, bool firstPlay, Map<String, dynamic> extraInfo) {
672
- // 视频开始播放
673
- if (firstPlay) {
674
- print('Player: 首次播放开始');
675
- }
676
- }
677
-
678
- @override
679
- void onStatisticsUpdate(V2TXLivePlayer player, Map<String, dynamic> statistics) {
680
- // 更新播放统计信息
681
- print('PlayerStats: 帧率: ${statistics['fps']}, 码率: ${statistics['videoBitrate']}');
682
- }
683
- }
684
-
685
- // 设置回调观察者
686
- V2TXLivePlayer player = await V2TXLivePlayer.create();
687
- player.addListener(MyPlayerObserver());
688
- ```
689
-
690
- #### 自定义视频处理示例
691
- ```dart
692
- class VideoProcessorObserver extends V2TXLivePlayerObserver {
693
- @override
694
- void onRenderVideoFrame(V2TXLivePlayer player, Map<String, dynamic> videoFrame) {
695
- // 自定义视频帧处理
696
- // 可以添加滤镜、水印等效果
697
- processVideoFrame(videoFrame);
698
- }
699
-
700
- void processVideoFrame(Map<String, dynamic> frame) {
701
- // 视频帧处理逻辑
702
- print('处理视频帧: ${frame['width']}x${frame['height']}');
703
- }
704
- }
705
-
706
- // 开启自定义视频帧回调
707
- await player.enableObserveVideoFrame(true);
708
- player.addListener(VideoProcessorObserver());
709
- ```
710
-
711
- #### 本地录制监控示例
712
- ```dart
713
- class RecordingObserver extends V2TXLivePlayerObserver {
714
- @override
715
- void onLocalRecordBegin(V2TXLivePlayer player, int code, String storagePath) {
716
- if (code == 0) {
717
- print('Recording: 录制开始,文件路径: $storagePath');
718
- } else {
719
- print('Recording: 录制失败,错误码: $code');
720
- }
721
- }
722
-
723
- @override
724
- void onLocalRecording(V2TXLivePlayer player, int durationMs, String storagePath) {
725
- // 更新录制进度
726
- updateRecordingProgress(durationMs);
727
- }
728
-
729
- @override
730
- void onLocalRecordComplete(V2TXLivePlayer player, int code, String storagePath) {
731
- if (code == 0) {
732
- print('Recording: 录制完成,文件路径: $storagePath');
733
- } else {
734
- print('Recording: 录制异常结束,状态码: $code');
735
- }
736
- }
737
-
738
- void updateRecordingProgress(int durationMs) {
739
- print('录制进度: ${durationMs}ms');
740
- }
741
- }
742
-
743
- player.addListener(RecordingObserver());
744
- ```
745
- ## 注意事项
746
-
747
- ### 1. 回调线程安全
748
- - **主线程回调**: 除自定义渲染回调外,其它所有回调方法都在UI主线程执行
749
- - **线程切换**: 自定义渲染回调可能在非UI线程执行,需要进行线程安全处理
750
-
751
- ### 2. 性能影响
752
- - **自定义渲染**: 开启自定义视频渲染可能影响播放性能,建议仅在必要时使用
753
- - **音频处理**: 音频数据回调可能增加CPU开销,合理控制处理频率
754
- - **统计频率**: 统计数据回调约2秒一次,避免在回调中进行耗时操作
755
-
756
- ### 3. 内存管理
757
- - **观察者释放**: 及时释放不再使用的观察者对象,避免内存泄漏
758
- - **回调引用**: 避免在回调中持有对播放器的强引用,防止循环引用
759
- - **资源清理**: 播放器销毁前确保移除所有观察者
760
-
761
- ### 4. 错误处理
762
- - **错误码解析**: 合理处理各种错误码,提供友好的用户提示
763
- - **异常捕获**: 在回调方法中添加异常捕获,防止崩溃
764
- - **状态恢复**: 根据错误类型实现相应的状态恢复逻辑
765
-
766
- ### 5. 权限和配置
767
- - **存储权限**: 本地录制需要确保有存储权限和足够的存储空间
768
- - **网络权限**: 播放器需要网络权限才能正常拉流
769
- - **音频权限**: 音频播放需要音频权限支持
770
-
771
- ### 6. 最佳实践
772
-
773
- #### 错误处理最佳实践
774
- ```dart
775
- player.addListener(V2TXLivePlayerObserver(
776
- onError: (player, code, msg, extraInfo) {
777
- try {
778
- // 根据错误码提供用户友好的提示
779
- switch (code) {
780
- case V2TXLiveCode.V2TXLIVE_ERROR_INVALID_PARAMETER:
781
- showToast('播放地址无效,请检查后重试');
782
- break;
783
- case V2TXLiveCode.V2TXLIVE_ERROR_REQUEST_TIMEOUT:
784
- showToast('网络连接超时,请检查网络后重试');
785
- break;
786
- default:
787
- showToast('播放失败,请稍后重试');
788
- break;
789
- }
790
- } catch (e) {
791
- print('错误处理异常: $e');
792
- }
793
- }
794
- ));
795
- ```
796
-
797
- #### 性能监控最佳实践
798
- ```dart
799
- player.addListener(V2TXLivePlayerObserver(
800
- onStatisticsUpdate: (player, statistics) {
801
- // 监控播放质量
802
- double fps = statistics['fps'];
803
- double bitrate = statistics['videoBitrate'];
804
-
805
- if (fps < 15) {
806
- // 帧率过低,可能卡顿
807
- print('警告:帧率过低 ($fps fps)');
808
- }
809
-
810
- if (bitrate < 500) {
811
- // 码率过低,可能画质差
812
- print('警告:视频码率过低 ($bitrate Kbps)');
813
- }
814
- }
815
- ));
816
- ```
817
-
818
- #### 内存管理最佳实践
819
- ```dart
820
- class PlayerManager {
821
- V2TXLivePlayer? player;
822
- V2TXLivePlayerObserver? observer;
823
-
824
- Future<void> initPlayer() async {
825
- player = await V2TXLivePlayer.create();
826
- observer = V2TXLivePlayerObserver(
827
- onConnected: (player, extraInfo) {
828
- print('连接成功');
829
- }
830
- );
831
- player!.addListener(observer!);
832
- }
833
-
834
- void dispose() {
835
- // 先移除观察者
836
- if (player != null && observer != null) {
837
- player!.removeListener(observer!);
838
- }
839
- // 再销毁播放器
840
- player?.destroy();
841
- player = null;
842
- observer = null;
843
- }
844
- }
845
- ```
846
-
847
- ## 常见问题解答
848
-
849
- ### Q: 为什么没有收到回调?
850
- A: 请检查:
851
- 1. 是否正确设置了观察者 `player.addListener(observer)`
852
- 2. 播放器是否已成功创建和初始化
853
- 3. 是否在正确的时机注册回调
854
-
855
- ### Q: 自定义渲染回调性能差怎么办?
856
- A: 建议:
857
- 1. 优化渲染逻辑,避免复杂计算
858
- 2. 使用异步处理减少主线程阻塞
859
- 3. 仅在必要时开启自定义渲染
860
-
861
- ### Q: 本地录制失败如何处理?
862
- A: 检查:
863
- 1. 存储权限是否授予
864
- 2. 存储路径是否有效且有写入权限
865
- 3. 存储空间是否充足
866
-
867
- ### Q: SEI消息接收不到?
868
- A: 确认:
869
- 1. 是否调用了 `enableReceiveSeiMessage()` 开启接收
870
- 2. payloadType 是否与发送端一致
871
- 3. 流媒体是否包含SEI消息
872
-
873
- ## 文件信息
874
-
875
- - **文件路径**: `/Users/borryzhang/Work/Project/liteav_flutter/sdk/trtc/v3/lib/v2_tx_live_player_observer.dart`
876
- - **文件大小**: 3.26 KB
877
- - **总行数**: 140 行
878
- - **平台支持**: Flutter
879
- - **SDK版本**: v3