@tencentcloud/sdk-mcp 1.3.9 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/package.json +2 -2
- package/resource/doc/{tuicallkit/android/faq.md → callkit/faq/android-faq.md} +75 -308
- package/resource/doc/{tuicallkit/faq/common/error_code.md → callkit/faq/common/error-code.md} +2 -2
- package/resource/doc/{tuicallkit/flutter/faq.md → callkit/faq/flutter-faq.md} +83 -315
- package/resource/doc/{tuicallkit/iOS/faq.md → callkit/faq/ios-faq.md} +76 -313
- package/resource/doc/{tuicallkit/vue/faq.md → callkit/faq/web-faq.md} +78 -311
- package/resource/doc/callkit/preset/android/api.md +330 -0
- package/resource/doc/{tuicallkit → callkit/preset}/android/integration.md +63 -420
- package/resource/doc/callkit/preset/flutter/api.md +401 -0
- package/resource/doc/{tuicallkit → callkit/preset}/flutter/integration.md +53 -273
- package/resource/doc/callkit/preset/ios/api.md +282 -0
- package/resource/doc/{tuicallkit/iOS → callkit/preset/ios}/integration.md +39 -120
- package/resource/doc/callkit/preset/react/api.md +600 -0
- package/resource/doc/{tuicallkit → callkit/preset}/react/integration.md +6 -6
- package/resource/doc/callkit/preset/vue/api.md +600 -0
- package/resource/doc/{tuicallkit → callkit/preset}/vue/integration.md +5 -5
- package/resource/doc/{chatuikit → chatkit}/android/faq.md +29 -37
- package/resource/doc/{chatuikit → chatkit}/android/features/theme.md +22 -166
- package/resource/doc/{chatuikit → chatkit}/android/integration.md +30 -126
- package/resource/doc/chatkit/faq/android_sdk/client-api.md +280 -0
- package/resource/doc/{chatuikit → chatkit}/faq/common/product.md +4 -17
- package/resource/doc/{chatuikit → chatkit}/faq/common/server.md +1 -2
- package/resource/doc/chatkit/faq/flutter_sdk/client-api.md +183 -0
- package/resource/doc/{chatuikit → chatkit}/faq/flutter_sdk/faq.md +3 -3
- package/resource/doc/chatkit/faq/ios_sdk/client-api.md +279 -0
- package/resource/doc/{chatuikit → chatkit}/faq/web_sdk/error_code.md +1 -1
- package/resource/doc/{chatuikit → chatkit}/faq/web_sdk/faq.md +4 -4
- package/resource/doc/{chatuikit → chatkit}/flutter/features/theme.md +22 -166
- package/resource/doc/{chatuikit → chatkit}/flutter/integration.md +20 -95
- package/resource/doc/{chatuikit/iOS → chatkit/ios}/faq.md +29 -37
- package/resource/doc/{chatuikit/iOS → chatkit/ios}/features/theme.md +27 -176
- package/resource/doc/{chatuikit/iOS → chatkit/ios}/integration.md +78 -280
- package/resource/doc/{chatuikit/vue → chatkit/react}/components/avatar.md +0 -1
- package/resource/doc/{chatuikit → chatkit}/react/components/chat-header.md +7 -12
- package/resource/doc/{chatuikit → chatkit}/react/components/chat-setting.md +10 -17
- package/resource/doc/{chatuikit → chatkit}/react/components/chat.md +1 -1
- package/resource/doc/{chatuikit → chatkit}/react/components/component-list.md +0 -1
- package/resource/doc/{chatuikit → chatkit}/react/components/contact-list.md +122 -703
- package/resource/doc/chatkit/react/components/conversation-actions.md +174 -0
- package/resource/doc/chatkit/react/components/conversation-list.md +333 -0
- package/resource/doc/chatkit/react/components/conversation-preview.md +116 -0
- package/resource/doc/chatkit/react/components/conversation-search.md +57 -0
- package/resource/doc/{chatuikit → chatkit}/react/components/message-input.md +36 -186
- package/resource/doc/{chatuikit → chatkit}/react/components/message-list.md +21 -113
- package/resource/doc/chatkit/react/components/search.md +282 -0
- package/resource/doc/{chatuikit → chatkit}/react/components/tuikit.md +5 -26
- package/resource/doc/{chatuikit → chatkit}/react/integration.md +37 -104
- package/resource/doc/{chatuikit/react → chatkit/vue}/components/avatar.md +0 -1
- package/resource/doc/{chatuikit → chatkit}/vue/components/chat-header.md +7 -13
- package/resource/doc/{chatuikit → chatkit}/vue/components/chat-setting.md +13 -18
- package/resource/doc/{chatuikit → chatkit}/vue/components/chat.md +1 -2
- package/resource/doc/{chatuikit → chatkit}/vue/components/component-list.md +0 -1
- package/resource/doc/chatkit/vue/components/contact-list.md +271 -0
- package/resource/doc/chatkit/vue/components/conversation-actions.md +228 -0
- package/resource/doc/{chatuikit → chatkit}/vue/components/conversation-list.md +42 -316
- package/resource/doc/chatkit/vue/components/conversation-preview.md +213 -0
- package/resource/doc/chatkit/vue/components/conversation-search.md +50 -0
- package/resource/doc/{chatuikit → chatkit}/vue/components/message-input.md +1 -23
- package/resource/doc/{chatuikit → chatkit}/vue/components/message-list.md +23 -134
- package/resource/doc/{chatuikit → chatkit}/vue/components/search.md +73 -640
- package/resource/doc/chatkit/vue/components/tuikit.md +45 -0
- package/resource/doc/{chatuikit → chatkit}/vue/components/userpicker.md +4 -4
- package/resource/doc/{chatuikit → chatkit}/vue/faq.md +1 -1
- package/resource/doc/{chatuikit → chatkit}/vue/integration.md +53 -121
- package/resource/doc/livekit/core-sdk/live/android/api-reference/AudioEffectStore.md +283 -0
- package/resource/doc/livekit/core-sdk/live/android/api-reference/BarrageStore.md +148 -0
- package/resource/doc/livekit/core-sdk/live/android/api-reference/BattleStore.md +316 -0
- package/resource/doc/livekit/core-sdk/live/android/api-reference/CameraView.md +57 -0
- package/resource/doc/livekit/core-sdk/live/android/api-reference/CoGuestStore.md +419 -0
- package/resource/doc/livekit/core-sdk/live/android/api-reference/CoHostStore.md +325 -0
- package/resource/doc/livekit/core-sdk/live/android/api-reference/DeviceStore.md +436 -0
- package/resource/doc/livekit/core-sdk/live/android/api-reference/GiftStore.md +165 -0
- package/resource/doc/livekit/core-sdk/live/android/api-reference/LikeStore.md +49 -0
- package/resource/doc/livekit/core-sdk/live/android/api-reference/LiveAudienceStore.md +239 -0
- package/resource/doc/livekit/core-sdk/live/android/api-reference/LiveCoreView.md +74 -0
- package/resource/doc/livekit/core-sdk/live/android/api-reference/LiveSeatStore.md +417 -0
- package/resource/doc/livekit/core-sdk/live/android/api-reference/LoginStore.md +207 -0
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-audience-list.md +17 -88
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-audio-effect.md +34 -192
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-barrage.md +26 -139
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-base-beauty.md +16 -99
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-co-guest-interaction.md +54 -161
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-gift.md +75 -455
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-host-interaction.md +91 -338
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-integration.md +108 -492
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-live-list.md +27 -165
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/AudioEffectStore.md +279 -0
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/BarrageStore.md +158 -0
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/BaseBeautyStore.md +155 -0
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/BattleStore.md +304 -0
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/CoGuestStore.md +394 -0
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/CoHostStore.md +303 -0
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/DeviceStore.md +410 -0
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/GiftStore.md +160 -0
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/LikeStore.md +51 -0
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/LiveAudienceStore.md +231 -0
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/LiveCoreView.md +143 -0
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/LiveSeatStore.md +375 -0
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/LoginStore.md +170 -0
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-audience-list.md +13 -91
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-audio-effect.md +34 -177
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-barrage.md +18 -102
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-base-beauty.md +24 -164
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-co-guest-interaction.md +56 -161
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-gift.md +66 -460
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-host-interaction.md +117 -364
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-integration.md +160 -543
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-live-list.md +22 -161
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/AudioEffectStore.md +287 -0
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/BarrageStore.md +165 -0
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/BaseBeautyStore.md +143 -0
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/BattleStore.md +298 -0
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/CoGuestStore.md +349 -0
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/CoHostStore.md +297 -0
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/DeviceStore.md +471 -0
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/GiftStore.md +179 -0
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/LikeStore.md +49 -0
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/LiveAudienceStore.md +238 -0
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/LiveCoreView.md +74 -0
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/LiveSeatStore.md +412 -0
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/LoginStore.md +173 -0
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-audience-list.md +23 -96
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-audio-effect.md +33 -195
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-barrage.md +35 -150
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-base-beauty.md +20 -105
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-co-guest-interaction.md +35 -140
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-gift.md +77 -457
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-host-interaction.md +70 -317
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-integration.md +90 -473
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-live-list.md +28 -163
- package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-audience-list.md +17 -88
- package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-audio-effect.md +34 -192
- package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-barrage.md +26 -139
- package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-co-guest-interaction.md +53 -262
- package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-gift.md +75 -455
- package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-host-interaction.md +60 -272
- package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-integration.md +63 -440
- package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-room-list.md +23 -151
- package/resource/doc/livekit/{voice → core-sdk/voice}/flutter/voice-audience-list.md +13 -91
- package/resource/doc/livekit/{voice → core-sdk/voice}/flutter/voice-audio-effect.md +34 -177
- package/resource/doc/livekit/{voice → core-sdk/voice}/flutter/voice-barrage.md +18 -102
- package/resource/doc/livekit/{voice → core-sdk/voice}/flutter/voice-co-guest-interaction.md +44 -201
- package/resource/doc/livekit/{voice → core-sdk/voice}/flutter/voice-gift.md +66 -460
- package/resource/doc/livekit/{voice → core-sdk/voice}/flutter/voice-integration.md +57 -419
- package/resource/doc/livekit/{voice → core-sdk/voice}/flutter/voice-room-list.md +24 -157
- package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-audience-list.md +23 -96
- package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-audio-effect.md +33 -195
- package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-barrage.md +35 -150
- package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-co-guest-interaction.md +45 -254
- package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-gift.md +77 -457
- package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-host-interaction.md +52 -261
- package/resource/doc/livekit/core-sdk/voice/ios/voice-integration.md +478 -0
- package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-room-list.md +36 -167
- package/resource/doc/livekit/{voice → core-sdk/voice}/uni-app/voice-audience-list.md +15 -45
- package/resource/doc/livekit/{voice → core-sdk/voice}/uni-app/voice-audio-effect.md +23 -137
- package/resource/doc/livekit/{voice → core-sdk/voice}/uni-app/voice-barrage.md +25 -131
- package/resource/doc/livekit/{voice → core-sdk/voice}/uni-app/voice-co-guest-interaction.md +70 -366
- package/resource/doc/livekit/{voice → core-sdk/voice}/uni-app/voice-gift.md +70 -424
- package/resource/doc/livekit/core-sdk/voice/uni-app/voice-integration.md +323 -0
- package/resource/doc/livekit/{voice → core-sdk/voice}/uni-app/voice-room-list.md +24 -116
- package/resource/doc/livekit/faq/common/{error_code.md → error-code.md} +2 -3
- package/resource/doc/livekit/preset/live/vue/api-reference/index.md +780 -0
- package/resource/doc/livekit/preset/live/vue/components/barrage.md +291 -0
- package/resource/doc/livekit/{live → preset/live}/vue/components/co-guest-panel.md +9 -48
- package/resource/doc/livekit/{live → preset/live}/vue/components/live-audience-list.md +27 -145
- package/resource/doc/livekit/{live → preset/live}/vue/components/live-scene-panel.md +13 -76
- package/resource/doc/livekit/{live → preset/live}/vue/components/live-view.md +33 -224
- package/resource/doc/livekit/preset/live/vue/components/stream-mixer.md +211 -0
- package/resource/doc/livekit/preset/live/vue/faq.md +1 -0
- package/resource/doc/livekit/preset/live/vue/live-list-integration.md +244 -0
- package/resource/doc/livekit/preset/live/vue/live-player-desk-integration.md +301 -0
- package/resource/doc/livekit/preset/live/vue/live-player-h5-integration.md +307 -0
- package/resource/doc/livekit/preset/live/vue/live-pusher-integration.md +754 -0
- package/resource/doc/roomkit/android/features/call-user-to-room.md +234 -0
- package/resource/doc/roomkit/android/features/room-participant-state.md +850 -0
- package/resource/doc/roomkit/android/features/room-state.md +358 -0
- package/resource/doc/roomkit/android/features/schedule-room.md +336 -0
- package/resource/doc/roomkit/android/integration.md +433 -0
- package/resource/doc/roomkit/{common/error_code.md → faq/common/error-code.md} +1 -1
- package/resource/doc/roomkit/flutter/features/call-user-to-room.md +228 -0
- package/resource/doc/roomkit/flutter/features/room-participant-state.md +796 -0
- package/resource/doc/roomkit/flutter/features/room-state.md +324 -0
- package/resource/doc/roomkit/flutter/features/schedule-room.md +324 -0
- package/resource/doc/roomkit/flutter/integration.md +405 -0
- package/resource/doc/roomkit/ios/features/call-user-to-room.md +226 -0
- package/resource/doc/roomkit/ios/features/room-participant-state.md +821 -0
- package/resource/doc/roomkit/ios/features/room-state.md +320 -0
- package/resource/doc/roomkit/ios/features/schedule-room.md +318 -0
- package/resource/doc/roomkit/ios/integration.md +384 -0
- package/resource/doc/roomkit/vue/faq.md +1 -0
- package/resource/doc/roomkit/vue/features/call-user-to-room.md +17 -53
- package/resource/doc/roomkit/vue/features/device-detection.md +30 -48
- package/resource/doc/roomkit/vue/features/device-state.md +24 -44
- package/resource/doc/roomkit/vue/features/free-beauty-panel.md +13 -36
- package/resource/doc/roomkit/vue/features/room-chat.md +31 -89
- package/resource/doc/roomkit/vue/features/room-participant-state.md +28 -50
- package/resource/doc/roomkit/vue/features/room-state.md +25 -36
- package/resource/doc/roomkit/vue/features/room-view.md +30 -127
- package/resource/doc/roomkit/vue/features/schedule-room.md +9 -40
- package/resource/doc/roomkit/vue/features/screen-share.md +22 -90
- package/resource/doc/roomkit/vue/features/virtual-background.md +13 -34
- package/resource/doc/roomkit/vue/integration.md +21 -80
- package/resource/doc/rtcengine/faq/common/userSig.md +17 -141
- package/resource/doc/rtcengine/faq/web/web.md +15 -22
- package/resource/doc/rtcengine/web/api.md +17 -21
- package/resource/doc/rtcengine/web/how_to_integrated_web_sdk.md +4 -10
- package/resource/doc/rtcengine/web/how_to_run_web_sdk_demo.md +4 -8
- package/resource/doc/rtcengine/web/plugin/20-advanced-customized-capture-rendering.md +3 -3
- package/resource/doc/rtcengine/web/plugin/21-advanced-auto-play-policy.md +2 -3
- package/resource/doc/rtcengine/web/plugin/22-advanced-audio-mixer.md +6 -6
- package/resource/doc/rtcengine/web/plugin/23-advanced-support-detection.md +2 -2
- package/resource/doc/rtcengine/web/plugin/24-advanced-network-quality.md +2 -4
- package/resource/doc/rtcengine/web/plugin/25-advanced-device-change.md +1 -2
- package/resource/doc/rtcengine/web/plugin/26-advanced-publish-cdn-stream.md +2 -6
- package/resource/doc/rtcengine/web/plugin/27-advanced-small-stream.md +13 -14
- package/resource/doc/rtcengine/web/plugin/28-advanced-beauty.md +10 -90
- package/resource/doc/rtcengine/web/plugin/31-advanced-plugins-overview.md +5 -8
- package/resource/doc/rtcengine/web/plugin/34-advanced-proxy.md +31 -35
- package/resource/doc/rtcengine/web/plugin/35-advanced-ai-denoiser.md +0 -2
- package/resource/doc/rtcengine/web/plugin/36-advanced-virtual-background.md +7 -49
- package/resource/doc/rtcengine/web/plugin/37-advanced-voice-changer.md +1 -1
- package/resource/doc/rtcengine/web/plugin/39-advanced-video-decoder.md +0 -3
- package/resource/doc/rtcengine/web/plugin/40-advanced-video-mixer.md +20 -20
- package/resource/doc/rtcengine/web/plugin/41-advanced-small-stream-auto-switcher.md +1 -1
- package/resource/doc/rtcengine/web/plugin/42-advanced-realtime-transcriber.md +4 -4
- package/resource/doc/rtcengine/web/plugin/43-advanced-face-detection.md +3 -3
- package/resource/doc/trtc/C++/ITRTCCloud.md +718 -2847
- package/resource/doc/trtc/C++/ITRTCStatistics.md +53 -308
- package/resource/doc/trtc/C++/ITXAudioEffectManager.md +207 -1041
- package/resource/doc/trtc/C++/ITXDeviceManager.md +127 -768
- package/resource/doc/trtc/C++/TRTCCloudCallback.md +634 -2259
- package/resource/doc/trtc/C++/TRTCTypeDef.md +726 -3465
- package/resource/doc/trtc/C++/TXLiteAVCode.md +117 -916
- package/resource/doc/trtc/android/TRTCCloud.md +638 -2612
- package/resource/doc/trtc/android/TRTCCloudDef.md +769 -3697
- package/resource/doc/trtc/android/TRTCCloudListener.md +609 -2070
- package/resource/doc/trtc/android/TRTCStatistics.md +48 -278
- package/resource/doc/trtc/android/TXAudioEffectManager.md +207 -1049
- package/resource/doc/trtc/android/TXBeautyManager.md +127 -704
- package/resource/doc/trtc/android/TXDeviceManager.md +51 -318
- package/resource/doc/trtc/android/TXLiteAVCode.md +115 -900
- package/resource/doc/trtc/iOS/TRTCCloud.md +726 -2930
- package/resource/doc/trtc/iOS/TRTCCloudDelegate.md +580 -2099
- package/resource/doc/trtc/iOS/TRTCStatistics.md +48 -278
- package/resource/doc/trtc/iOS/TXAudioEffectManager.md +179 -896
- package/resource/doc/trtc/iOS/TXBeautyManager.md +128 -710
- package/resource/doc/trtc/iOS/TXDeviceManager.md +129 -772
- package/resource/doc/trtc/iOS/TXLiteAVCode.md +117 -915
- package/resource/doc/trtc/iOS/TXLiveSDKTypeDef.md +747 -3559
- package/server.js +1 -5
- package/server.js.map +1 -1
- package/tools/call/get_callkit_api.js +32 -0
- package/tools/call/get_callkit_api.js.map +1 -0
- package/tools/call/get_native_call_uikit_integration.js +34 -0
- package/tools/call/get_native_call_uikit_integration.js.map +1 -0
- package/tools/call/{get-web-call-integration.js → get_web_call_uikit_integration.js} +13 -8
- package/tools/call/get_web_call_uikit_integration.js.map +1 -0
- package/tools/chat/get_native_chat_uikit_feature_detail.js +34 -0
- package/tools/chat/get_native_chat_uikit_feature_detail.js.map +1 -0
- package/tools/chat/get_native_chat_uikit_integration.js +45 -0
- package/tools/chat/get_native_chat_uikit_integration.js.map +1 -0
- package/tools/chat/get_web_chat_uikit_component_detail.js +34 -0
- package/tools/chat/get_web_chat_uikit_component_detail.js.map +1 -0
- package/tools/chat/get_web_chat_uikit_integration.js +45 -0
- package/tools/chat/get_web_chat_uikit_integration.js.map +1 -0
- package/tools/common/get_faq.js +265 -0
- package/tools/common/get_faq.js.map +1 -0
- package/tools/common/{get-usersig.js → get_usersig.js} +6 -3
- package/tools/common/get_usersig.js.map +1 -0
- package/tools/common/present_framework_choice.js +63 -0
- package/tools/common/present_framework_choice.js.map +1 -0
- package/tools/definitions/get_callkit_api_def.js +28 -0
- package/tools/definitions/get_callkit_api_def.js.map +1 -0
- package/tools/definitions/get_faq_def.js +18 -19
- package/tools/definitions/get_faq_def.js.map +1 -1
- package/tools/definitions/get_native_call_uikit_integration_def.js +15 -34
- package/tools/definitions/get_native_call_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_native_chat_uikit_feature_detail_def.js +31 -0
- package/tools/definitions/get_native_chat_uikit_feature_detail_def.js.map +1 -0
- package/tools/definitions/get_native_chat_uikit_integration_def.js +16 -41
- package/tools/definitions/get_native_chat_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_native_livekit_core_features_def.js +33 -0
- package/tools/definitions/get_native_livekit_core_features_def.js.map +1 -0
- package/tools/definitions/get_native_livekit_core_integration_def.js +33 -0
- package/tools/definitions/get_native_livekit_core_integration_def.js.map +1 -0
- package/tools/definitions/get_native_trtc_sdk_docs_def.js +32 -0
- package/tools/definitions/get_native_trtc_sdk_docs_def.js.map +1 -0
- package/tools/definitions/get_usersig_def.js +17 -24
- package/tools/definitions/get_usersig_def.js.map +1 -1
- package/tools/definitions/get_web_call_uikit_integration_def.js +15 -7
- package/tools/definitions/get_web_call_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_web_chat_uikit_component_detail_def.js +17 -49
- package/tools/definitions/get_web_chat_uikit_component_detail_def.js.map +1 -1
- package/tools/definitions/get_web_chat_uikit_integration_def.js +16 -19
- package/tools/definitions/get_web_chat_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_web_live_uikit_integration_def.js +13 -18
- package/tools/definitions/get_web_live_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_web_livekit_api_def.js +27 -0
- package/tools/definitions/get_web_livekit_api_def.js.map +1 -0
- package/tools/definitions/get_web_livekit_component_detail_def.js +29 -0
- package/tools/definitions/get_web_livekit_component_detail_def.js.map +1 -0
- package/tools/definitions/get_web_room_uikit_integration_def.js +13 -46
- package/tools/definitions/get_web_room_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_web_roomkit_feature_detail_def.js +30 -0
- package/tools/definitions/get_web_roomkit_feature_detail_def.js.map +1 -0
- package/tools/definitions/get_web_trtc_sdk_api_def.js +25 -0
- package/tools/definitions/get_web_trtc_sdk_api_def.js.map +1 -0
- package/tools/definitions/get_web_trtc_sdk_integration_def.js +25 -0
- package/tools/definitions/get_web_trtc_sdk_integration_def.js.map +1 -0
- package/tools/definitions/get_web_trtc_sdk_plugin_def.js +25 -0
- package/tools/definitions/get_web_trtc_sdk_plugin_def.js.map +1 -0
- package/tools/definitions/present_framework_choice_def.js +23 -12
- package/tools/definitions/present_framework_choice_def.js.map +1 -1
- package/tools/index.js +47 -61
- package/tools/index.js.map +1 -1
- package/tools/live/get_native_livekit_core_features.js +65 -0
- package/tools/live/get_native_livekit_core_features.js.map +1 -0
- package/tools/live/get_native_livekit_core_integration.js +59 -0
- package/tools/live/get_native_livekit_core_integration.js.map +1 -0
- package/tools/live/get_web_live_uikit_integration.js +48 -0
- package/tools/live/get_web_live_uikit_integration.js.map +1 -0
- package/tools/live/get_web_livekit_api.js +32 -0
- package/tools/live/get_web_livekit_api.js.map +1 -0
- package/tools/live/get_web_livekit_component_detail.js +34 -0
- package/tools/live/get_web_livekit_component_detail.js.map +1 -0
- package/tools/room/{get-web-room-integration.js → get_web_room_uikit_integration.js} +13 -14
- package/tools/room/get_web_room_uikit_integration.js.map +1 -0
- package/tools/room/{get-web-room-feature-detail.js → get_web_roomkit_feature_detail.js} +30 -31
- package/tools/room/get_web_roomkit_feature_detail.js.map +1 -0
- package/tools/rtcengine/get_web_trtc_sdk_api.js +31 -0
- package/tools/rtcengine/get_web_trtc_sdk_api.js.map +1 -0
- package/tools/rtcengine/get_web_trtc_sdk_integration.js +31 -0
- package/tools/rtcengine/get_web_trtc_sdk_integration.js.map +1 -0
- package/tools/rtcengine/get_web_trtc_sdk_plugin.js +31 -0
- package/tools/rtcengine/get_web_trtc_sdk_plugin.js.map +1 -0
- package/tools/trtc/get_native_trtc_sdk_docs.js +73 -0
- package/tools/trtc/get_native_trtc_sdk_docs.js.map +1 -0
- package/utils/generate-structured-result.js +61 -17
- package/utils/generate-structured-result.js.map +1 -1
- package/utils/report-cls-client.js +12 -1
- package/utils/report-cls-client.js.map +1 -1
- package/utils/report-es-client.js +1 -1
- package/resource/doc/chatuikit/android/workflow.md +0 -713
- package/resource/doc/chatuikit/faq/android_sdk/client-api.md +0 -1376
- package/resource/doc/chatuikit/faq/flutter_sdk/client-api.md +0 -860
- package/resource/doc/chatuikit/faq/ios_sdk/client-api.md +0 -1371
- package/resource/doc/chatuikit/flutter/workflow.md +0 -816
- package/resource/doc/chatuikit/iOS/workflow.md +0 -0
- package/resource/doc/chatuikit/react/components/conversation-list.md +0 -765
- package/resource/doc/chatuikit/react/components/search.md +0 -885
- package/resource/doc/chatuikit/react/create-group.md +0 -22
- package/resource/doc/chatuikit/react/init.md +0 -25
- package/resource/doc/chatuikit/react/workflow.md +0 -254
- package/resource/doc/chatuikit/uniapp-app/faq.md +0 -0
- package/resource/doc/chatuikit/uniapp-app/integration.md +0 -619
- package/resource/doc/chatuikit/uniapp-app/workflow.md +0 -576
- package/resource/doc/chatuikit/vue/components/contact-list.md +0 -679
- package/resource/doc/chatuikit/vue/components/tuikit.md +0 -110
- package/resource/doc/chatuikit/vue/create-group.md +0 -26
- package/resource/doc/chatuikit/vue/init.md +0 -35
- package/resource/doc/chatuikit/vue/workflow.md +0 -395
- package/resource/doc/livekit/live/android/workflow.md +0 -322
- package/resource/doc/livekit/live/flutter/workflow.md +0 -353
- package/resource/doc/livekit/live/ios/workflow.md +0 -352
- package/resource/doc/livekit/live/vue/components/barrage.md +0 -615
- package/resource/doc/livekit/live/vue/components/stream-mixer.md +0 -442
- package/resource/doc/livekit/live/vue/faq.md +0 -0
- package/resource/doc/livekit/live/vue/live-list-integration.md +0 -195
- package/resource/doc/livekit/live/vue/live-player-desk-integration.md +0 -293
- package/resource/doc/livekit/live/vue/live-player-h5-integration.md +0 -381
- package/resource/doc/livekit/live/vue/live-pusher-integration.md +0 -598
- package/resource/doc/livekit/live/vue/states/live-state.md +0 -2656
- package/resource/doc/livekit/live/vue/workflow.md +0 -219
- package/resource/doc/livekit/voice/android/workflow.md +0 -333
- package/resource/doc/livekit/voice/flutter/workflow.md +0 -359
- package/resource/doc/livekit/voice/ios/voice-integration.md +0 -853
- package/resource/doc/livekit/voice/ios/workflow.md +0 -358
- package/resource/doc/livekit/voice/uni-app/voice-integration.md +0 -613
- package/resource/doc/livekit/voice/uni-app/workflow.md +0 -369
- package/resource/doc/native_live/android/V2TXLiveCode_api_android.md +0 -334
- package/resource/doc/native_live/android/V2TXLiveDef_api_android.md +0 -434
- package/resource/doc/native_live/android/V2TXLivePlayerObserver_api_android.md +0 -685
- package/resource/doc/native_live/android/V2TXLivePlayer_api_android.md +0 -712
- package/resource/doc/native_live/android/V2TXLivePremier_api_android.md +0 -284
- package/resource/doc/native_live/android/V2TXLivePusherObserver_api_android.md +0 -849
- package/resource/doc/native_live/android/V2TXLivePusher_api_android.md +0 -1046
- package/resource/doc/native_live/flutter/V2TXLiveCode_api_flutter.md +0 -460
- package/resource/doc/native_live/flutter/V2TXLiveDef_api_flutter.md +0 -558
- package/resource/doc/native_live/flutter/V2TXLivePlayerObserver_api_flutter.md +0 -879
- package/resource/doc/native_live/flutter/V2TXLivePlayer_api_flutter.md +0 -668
- package/resource/doc/native_live/flutter/V2TXLivePremier_api_flutter.md +0 -456
- package/resource/doc/native_live/flutter/V2TXLivePusherObserver_api_flutter.md +0 -332
- package/resource/doc/native_live/flutter/V2TXLivePusher_api_flutter.md +0 -748
- package/resource/doc/native_live/iOS/V2TXLiveCode_api_iOS.md +0 -328
- package/resource/doc/native_live/iOS/V2TXLiveDef_api_iOS.md +0 -505
- package/resource/doc/native_live/iOS/V2TXLivePlayerObserver_api_iOS.md +0 -507
- package/resource/doc/native_live/iOS/V2TXLivePlayer_api_iOS.md +0 -676
- package/resource/doc/native_live/iOS/V2TXLivePremier_api_iOS.md +0 -284
- package/resource/doc/native_live/iOS/V2TXLivePusherObserver_api_iOS.md +0 -820
- package/resource/doc/native_live/iOS/V2TXLivePusher_api_iOS.md +0 -1065
- package/resource/doc/roomkit/vue/features/workflow.md +0 -553
- package/resource/doc/roomkit/vue/workflow.md +0 -733
- package/resource/doc/tuicallkit/android/workflow.md +0 -432
- package/resource/doc/tuicallkit/faq/android_sdk/call-observer-api.md +0 -786
- package/resource/doc/tuicallkit/faq/android_sdk/callkit-api.md +0 -663
- package/resource/doc/tuicallkit/faq/flutter_sdk/call-define-api.md +0 -932
- package/resource/doc/tuicallkit/faq/flutter_sdk/call-observer-api.md +0 -926
- package/resource/doc/tuicallkit/faq/flutter_sdk/callkit-api.md +0 -452
- package/resource/doc/tuicallkit/faq/ios_sdk/call-observer-api.md +0 -779
- package/resource/doc/tuicallkit/faq/ios_sdk/callkit-api.md +0 -635
- package/resource/doc/tuicallkit/flutter/workflow.md +0 -331
- package/resource/doc/tuicallkit/react/api.md +0 -1512
- package/resource/doc/tuicallkit/react/faq.md +0 -986
- package/resource/doc/tuicallkit/vue/api.md +0 -1512
- package/tools/call/get-native-call-integration.js +0 -43
- package/tools/call/get-native-call-integration.js.map +0 -1
- package/tools/call/get-web-call-api.js +0 -27
- package/tools/call/get-web-call-api.js.map +0 -1
- package/tools/call/get-web-call-integration.js.map +0 -1
- package/tools/chat/get-native-chat-feature-detail.js +0 -30
- package/tools/chat/get-native-chat-feature-detail.js.map +0 -1
- package/tools/chat/get-native-chat-integration.js +0 -45
- package/tools/chat/get-native-chat-integration.js.map +0 -1
- package/tools/chat/get-web-chat-component-detail.js +0 -31
- package/tools/chat/get-web-chat-component-detail.js.map +0 -1
- package/tools/chat/get-web-chat-integration.js +0 -45
- package/tools/chat/get-web-chat-integration.js.map +0 -1
- package/tools/chat/get-web-chat-uikit-init.js +0 -28
- package/tools/chat/get-web-chat-uikit-init.js.map +0 -1
- package/tools/chat/get-web-create-group-doc.js +0 -28
- package/tools/chat/get-web-create-group-doc.js.map +0 -1
- package/tools/common/get-faq.js +0 -91
- package/tools/common/get-faq.js.map +0 -1
- package/tools/common/get-usersig.js.map +0 -1
- package/tools/common/present-framework-choice.js +0 -16
- package/tools/common/present-framework-choice.js.map +0 -1
- package/tools/common/present-scenario-choice.js +0 -16
- package/tools/common/present-scenario-choice.js.map +0 -1
- package/tools/common/record-prompt.js +0 -55
- package/tools/common/record-prompt.js.map +0 -1
- package/tools/common/record-result.js +0 -60
- package/tools/common/record-result.js.map +0 -1
- package/tools/definitions/get_native_chat_feature_detail_def.js +0 -32
- package/tools/definitions/get_native_chat_feature_detail_def.js.map +0 -1
- package/tools/definitions/get_native_live_api_def.js +0 -22
- package/tools/definitions/get_native_live_api_def.js.map +0 -1
- package/tools/definitions/get_native_live_uikit_extra_features_def.js +0 -109
- package/tools/definitions/get_native_live_uikit_extra_features_def.js.map +0 -1
- package/tools/definitions/get_native_live_uikit_integration_def.js +0 -75
- package/tools/definitions/get_native_live_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_native_live_uikit_interaction_def.js +0 -63
- package/tools/definitions/get_native_live_uikit_interaction_def.js.map +0 -1
- package/tools/definitions/get_trtc_native_api_def.js +0 -17
- package/tools/definitions/get_trtc_native_api_def.js.map +0 -1
- package/tools/definitions/get_web_call_uikit_api_def.js +0 -23
- package/tools/definitions/get_web_call_uikit_api_def.js.map +0 -1
- package/tools/definitions/get_web_chat_uikit_init_def.js +0 -23
- package/tools/definitions/get_web_chat_uikit_init_def.js.map +0 -1
- package/tools/definitions/get_web_create_group_doc_def.js +0 -18
- package/tools/definitions/get_web_create_group_doc_def.js.map +0 -1
- package/tools/definitions/get_web_live_state_detail_def.js +0 -19
- package/tools/definitions/get_web_live_state_detail_def.js.map +0 -1
- package/tools/definitions/get_web_live_uikit_component_detail_def.js +0 -27
- package/tools/definitions/get_web_live_uikit_component_detail_def.js.map +0 -1
- package/tools/definitions/get_web_room_feature_detail_def.js +0 -92
- package/tools/definitions/get_web_room_feature_detail_def.js.map +0 -1
- package/tools/definitions/present_scenario_choice_def.js +0 -53
- package/tools/definitions/present_scenario_choice_def.js.map +0 -1
- package/tools/definitions/record_prompt_def.js +0 -58
- package/tools/definitions/record_prompt_def.js.map +0 -1
- package/tools/definitions/record_result_def.js +0 -46
- package/tools/definitions/record_result_def.js.map +0 -1
- package/tools/live/get-native-live-uikit-integration.js +0 -177
- package/tools/live/get-native-live-uikit-integration.js.map +0 -1
- package/tools/live/get-web-live-component-detail.js +0 -31
- package/tools/live/get-web-live-component-detail.js.map +0 -1
- package/tools/live/get-web-live-state-detail.js +0 -31
- package/tools/live/get-web-live-state-detail.js.map +0 -1
- package/tools/live/get-web-live-uikit-integration.js +0 -52
- package/tools/live/get-web-live-uikit-integration.js.map +0 -1
- package/tools/live/get_native_live_uikit_extra_features.js +0 -105
- package/tools/live/get_native_live_uikit_extra_features.js.map +0 -1
- package/tools/live/get_native_live_uikit_interaction.js +0 -194
- package/tools/live/get_native_live_uikit_interaction.js.map +0 -1
- package/tools/native_live/get-native-live-api.js +0 -31
- package/tools/native_live/get-native-live-api.js.map +0 -1
- package/tools/room/get-web-room-feature-detail.js.map +0 -1
- package/tools/room/get-web-room-integration.js.map +0 -1
- package/tools/rtcengine/get-rtcengine-web-sdk-integration.js +0 -28
- package/tools/rtcengine/get-rtcengine-web-sdk-integration.js.map +0 -1
- package/tools/rtcengine/get-trtc-sdk-faq.js +0 -32
- package/tools/rtcengine/get-trtc-sdk-faq.js.map +0 -1
- package/tools/rtcengine/get-trtc-web-sdk-api.js +0 -28
- package/tools/rtcengine/get-trtc-web-sdk-api.js.map +0 -1
- package/tools/rtcengine/get-trtc-web-sdk-faq.js +0 -30
- package/tools/rtcengine/get-trtc-web-sdk-faq.js.map +0 -1
- package/tools/rtcengine/get-trtc-web-sdk-integration.js +0 -29
- package/tools/rtcengine/get-trtc-web-sdk-integration.js.map +0 -1
- package/tools/rtcengine/get-trtc-web-sdk-plugin.js +0 -45
- package/tools/rtcengine/get-trtc-web-sdk-plugin.js.map +0 -1
- package/tools/trtc/get-trtc-native-api.js +0 -31
- package/tools/trtc/get-trtc-native-api.js.map +0 -1
- package/utils/handle-component-name.js +0 -33
- package/utils/handle-component-name.js.map +0 -1
- /package/resource/doc/{rtcengine/web → callkit/core-sdk}/.gitkeep +0 -0
- /package/resource/doc/{chatuikit → chatkit}/faq/common/server_error_code.md +0 -0
- /package/resource/doc/{chatuikit → chatkit}/flutter/faq.md +0 -0
- /package/resource/doc/{chatuikit → chatkit}/react/faq.md +0 -0
|
@@ -1,685 +0,0 @@
|
|
|
1
|
-
# 腾讯云直播SDK V2TXLivePlayerObserver 直播播放器回调接口
|
|
2
|
-
|
|
3
|
-
## 概述
|
|
4
|
-
|
|
5
|
-
`V2TXLivePlayerObserver` 是腾讯云直播SDK的播放器回调接口,用于接收播放器的各种状态通知和事件回调。通过实现该接口的回调方法,开发者可以监控播放器的运行状态、处理播放事件、获取统计数据等。
|
|
6
|
-
|
|
7
|
-
**文件路径**: `com/tencent/live2/V2TXLivePlayerObserver.java`
|
|
8
|
-
|
|
9
|
-
**主要功能**:
|
|
10
|
-
- 播放器状态监控(错误、警告、连接状态)
|
|
11
|
-
- 音视频播放事件回调
|
|
12
|
-
- 播放统计数据和性能指标
|
|
13
|
-
- 自定义渲染和音频处理
|
|
14
|
-
- 本地录制任务管理
|
|
15
|
-
- SEI消息接收和处理
|
|
16
|
-
|
|
17
|
-
## 回调方法详解
|
|
18
|
-
|
|
19
|
-
### 1. 错误和警告回调
|
|
20
|
-
|
|
21
|
-
#### onError() - 播放器错误通知
|
|
22
|
-
```java
|
|
23
|
-
public void onError(V2TXLivePlayer player, int code, String msg, Bundle extraInfo)
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
**功能**: 播放器出现错误时回调
|
|
27
|
-
|
|
28
|
-
**参数**:
|
|
29
|
-
- `player`: 触发回调的播放器实例
|
|
30
|
-
- `code`: 错误码,参考 `V2TXLiveCode` 枚举
|
|
31
|
-
- `msg`: 错误描述信息
|
|
32
|
-
- `extraInfo`: 扩展信息,包含详细的错误上下文
|
|
33
|
-
|
|
34
|
-
**使用场景**:
|
|
35
|
-
- rtc拉流参数不合法
|
|
36
|
-
- rtc拉流超时
|
|
37
|
-
- rtc拉流服务器处理失败
|
|
38
|
-
- 找不到hevc解码器
|
|
39
|
-
|
|
40
|
-
**示例**:
|
|
41
|
-
```java
|
|
42
|
-
player.setObserver(new V2TXLivePlayerObserver() {
|
|
43
|
-
@Override
|
|
44
|
-
public void onError(V2TXLivePlayer player, int code, String msg, Bundle extraInfo) {
|
|
45
|
-
switch (code) {
|
|
46
|
-
case V2TXLIVE_ERROR_INVALID_PARAMETER:
|
|
47
|
-
Log.e(TAG, "rtc拉流参数不合法," + msg);
|
|
48
|
-
break;
|
|
49
|
-
case V2TXLIVE_ERROR_REQUEST_TIMEOUT:
|
|
50
|
-
Log.e(TAG, "rtc拉流超时," + msg);
|
|
51
|
-
break;
|
|
52
|
-
case V2TXLIVE_ERROR_SERVER_PROCESS_FAILED:
|
|
53
|
-
Log.e(TAG, "rtc拉流服务器处理失败,请检查拉流参数," + msg);
|
|
54
|
-
break;
|
|
55
|
-
case V2TXLIVE_ERROR_DISCONNECTED:
|
|
56
|
-
Log.e(TAG, "拉流断开," + msg);
|
|
57
|
-
break;
|
|
58
|
-
case V2TXLIVE_ERROR_NO_AVAILABLE_HEVC_DECODERS:
|
|
59
|
-
Log.e(TAG, "找不到hevc解码器,可以切换到avc流进行播放," + msg);
|
|
60
|
-
break;
|
|
61
|
-
default:
|
|
62
|
-
Log.e(TAG, "其它错误," + msg);
|
|
63
|
-
break;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
#### onWarning() - 播放器警告通知
|
|
70
|
-
```java
|
|
71
|
-
public void onWarning(V2TXLivePlayer player, int code, String msg, Bundle extraInfo)
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
**功能**: 播放器出现警告时回调
|
|
75
|
-
|
|
76
|
-
**参数**:
|
|
77
|
-
- `player`: 触发回调的播放器实例
|
|
78
|
-
- `code`: 警告码,参考 `V2TXLiveCode` 枚举
|
|
79
|
-
- `msg`: 警告描述信息
|
|
80
|
-
- `extraInfo`: 扩展信息
|
|
81
|
-
|
|
82
|
-
**使用场景**:
|
|
83
|
-
- 视频渲染发生卡顿
|
|
84
|
-
- 解码器类型变更
|
|
85
|
-
|
|
86
|
-
**示例**:
|
|
87
|
-
```java
|
|
88
|
-
player.setObserver(new V2TXLivePlayerObserver() {
|
|
89
|
-
@Override
|
|
90
|
-
public void onWarning(V2TXLivePlayer player, int code, String msg, Bundle extraInfo) {
|
|
91
|
-
switch (code) {
|
|
92
|
-
case V2TXLIVE_WARNING_VIDEO_BLOCK:
|
|
93
|
-
Log.w(TAG, "视频渲染发生卡顿");
|
|
94
|
-
break;
|
|
95
|
-
case V2TXLIVE_WARNING_CURRENT_DECODE_TYPE_CHANGED:
|
|
96
|
-
int codec_type = extraInfo.getInt("codec_type");
|
|
97
|
-
if (codec_type == 0) {
|
|
98
|
-
Log.w(TAG, "解码器类型变更,h.264," + msg);
|
|
99
|
-
} else if (codec_type == 1) {
|
|
100
|
-
Log.w(TAG, "解码器类型变更,h.265," + msg);
|
|
101
|
-
}
|
|
102
|
-
break;
|
|
103
|
-
default:
|
|
104
|
-
Log.w(TAG, "其它警告," + msg);
|
|
105
|
-
break;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
### 2. 连接和状态回调
|
|
112
|
-
|
|
113
|
-
#### onConnected() - 网络连接成功回调
|
|
114
|
-
```java
|
|
115
|
-
public void onConnected(V2TXLivePlayer player, Bundle extraInfo)
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
**功能**: 播放器成功连接到服务器时回调
|
|
119
|
-
|
|
120
|
-
**参数**:
|
|
121
|
-
- `player`: 触发回调的播放器实例
|
|
122
|
-
- `extraInfo`: 连接相关信息
|
|
123
|
-
|
|
124
|
-
**使用场景**:
|
|
125
|
-
- 监控播放器网络连接状态
|
|
126
|
-
|
|
127
|
-
**示例**:
|
|
128
|
-
```java
|
|
129
|
-
player.setObserver(new V2TXLivePlayerObserver() {
|
|
130
|
-
@Override
|
|
131
|
-
public void onConnected(V2TXLivePlayer player, Bundle extraInfo) {
|
|
132
|
-
Log.i(TAG, "服务器连接成功");
|
|
133
|
-
}
|
|
134
|
-
});
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
#### onVideoResolutionChanged() - 视频分辨率变化回调
|
|
139
|
-
```java
|
|
140
|
-
public void onVideoResolutionChanged(V2TXLivePlayer player, int width, int height)
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
**功能**: 视频分辨率发生变化时回调
|
|
144
|
-
|
|
145
|
-
**参数**:
|
|
146
|
-
- `player`: 触发回调的播放器实例
|
|
147
|
-
- `width`: 新的视频宽度
|
|
148
|
-
- `height`: 新的视频高度
|
|
149
|
-
|
|
150
|
-
**使用场景**:
|
|
151
|
-
- 自适应视频渲染视图
|
|
152
|
-
- 动态调整播放器布局
|
|
153
|
-
|
|
154
|
-
**示例**:
|
|
155
|
-
```java
|
|
156
|
-
player.setObserver(new V2TXLivePlayerObserver() {
|
|
157
|
-
@Override
|
|
158
|
-
public void onVideoResolutionChanged(V2TXLivePlayer player, int width, int height) {
|
|
159
|
-
Log.i(TAG, "视频流分辨率发生变化: width-" + width + ", height-" + height);
|
|
160
|
-
}
|
|
161
|
-
});
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
### 3. 播放事件回调
|
|
165
|
-
|
|
166
|
-
#### onVideoPlaying() - 视频开始播放事件
|
|
167
|
-
```java
|
|
168
|
-
public void onVideoPlaying(V2TXLivePlayer player, boolean firstPlay, Bundle extraInfo)
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
**功能**: 视频开始播放时回调,除首次播放外,与onVideoLoading配对使用
|
|
172
|
-
|
|
173
|
-
**参数**:
|
|
174
|
-
- `player`: 触发回调的播放器实例
|
|
175
|
-
- `firstPlay`: 是否为首次播放标志
|
|
176
|
-
- `extraInfo`: 播放相关信息
|
|
177
|
-
|
|
178
|
-
**使用场景**:
|
|
179
|
-
- 显示播放状态UI
|
|
180
|
-
- 开始播放计时
|
|
181
|
-
- 记录播放日志
|
|
182
|
-
- 计算秒开耗时
|
|
183
|
-
|
|
184
|
-
**示例**:
|
|
185
|
-
```java
|
|
186
|
-
player.setObserver(new V2TXLivePlayerObserver() {
|
|
187
|
-
@Override
|
|
188
|
-
public void onVideoPlaying(V2TXLivePlayer player, boolean firstPlay, Bundle extraInfo) {
|
|
189
|
-
if (firstPlay) {
|
|
190
|
-
// 视频首次开始播放
|
|
191
|
-
Log.i(TAG, "首次开始播放");
|
|
192
|
-
} else {
|
|
193
|
-
// 视频非首次开始播放,可以隐藏加载 UI
|
|
194
|
-
Log.i(TAG, "开始播放");
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
});
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
#### onVideoLoading() - 视频开始加载事件
|
|
202
|
-
```java
|
|
203
|
-
public void onVideoLoading(V2TXLivePlayer player, Bundle extraInfo)
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
**功能**: 视频数据加载时回调
|
|
207
|
-
|
|
208
|
-
**参数**:
|
|
209
|
-
- `player`: 触发回调的播放器实例
|
|
210
|
-
- `extraInfo`: 加载状态信息
|
|
211
|
-
|
|
212
|
-
**使用场景**:
|
|
213
|
-
- 显示加载动画
|
|
214
|
-
- 缓冲状态提示
|
|
215
|
-
|
|
216
|
-
**示例**:
|
|
217
|
-
```java
|
|
218
|
-
player.setObserver(new V2TXLivePlayerObserver() {
|
|
219
|
-
@Override
|
|
220
|
-
public void onVideoLoading(V2TXLivePlayer player, Bundle extraInfo) {
|
|
221
|
-
// 视频播放开始加载,可以显示加载 UI
|
|
222
|
-
Log.i(TAG, "视频播放开始加载");
|
|
223
|
-
}
|
|
224
|
-
});
|
|
225
|
-
```
|
|
226
|
-
|
|
227
|
-
#### onAudioPlaying() - 音频开始播放事件
|
|
228
|
-
```java
|
|
229
|
-
public void onAudioPlaying(V2TXLivePlayer player, boolean firstPlay, Bundle extraInfo)
|
|
230
|
-
```
|
|
231
|
-
|
|
232
|
-
**功能**: 音频开始播放时回调
|
|
233
|
-
|
|
234
|
-
**参数**:
|
|
235
|
-
- `player`: 触发回调的播放器实例
|
|
236
|
-
- `firstPlay`: 是否为首次播放标志
|
|
237
|
-
- `extraInfo`: 播放相关信息
|
|
238
|
-
|
|
239
|
-
**使用场景**:
|
|
240
|
-
- 音频播放状态监控
|
|
241
|
-
- 纯音频流播放场景
|
|
242
|
-
|
|
243
|
-
**示例**:
|
|
244
|
-
```java
|
|
245
|
-
player.setObserver(new V2TXLivePlayerObserver() {
|
|
246
|
-
@Override
|
|
247
|
-
public void onAudioPlaying(V2TXLivePlayer player, boolean firstPlay, Bundle extraInfo) {
|
|
248
|
-
if (firstPlay) {
|
|
249
|
-
Log.i(TAG, "音频首次开始播放");
|
|
250
|
-
} else {
|
|
251
|
-
Log.i(TAG, "音频开始播放");
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
});
|
|
255
|
-
```
|
|
256
|
-
|
|
257
|
-
#### onAudioLoading() - 音频开始加载事件
|
|
258
|
-
```java
|
|
259
|
-
public void onAudioLoading(V2TXLivePlayer player, Bundle extraInfo)
|
|
260
|
-
```
|
|
261
|
-
|
|
262
|
-
**功能**: 音频数据加载时回调
|
|
263
|
-
|
|
264
|
-
**参数**:
|
|
265
|
-
- `player`: 触发回调的播放器实例
|
|
266
|
-
- `extraInfo`: 加载状态信息
|
|
267
|
-
|
|
268
|
-
**使用场景**:
|
|
269
|
-
- 显示加载动画
|
|
270
|
-
- 缓冲状态提示
|
|
271
|
-
|
|
272
|
-
**示例**:
|
|
273
|
-
```java
|
|
274
|
-
player.setObserver(new V2TXLivePlayerObserver() {
|
|
275
|
-
@Override
|
|
276
|
-
public void onAudioLoading(V2TXLivePlayer player, Bundle extraInfo) {
|
|
277
|
-
// 音频播放开始加载
|
|
278
|
-
Log.i(TAG, "音频播放开始加载");
|
|
279
|
-
}
|
|
280
|
-
});
|
|
281
|
-
```
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
### 4. 音视频数据处理回调
|
|
285
|
-
|
|
286
|
-
#### onPlayoutVolumeUpdate() - 音量更新回调
|
|
287
|
-
```java
|
|
288
|
-
public void onPlayoutVolumeUpdate(V2TXLivePlayer player, int volume)
|
|
289
|
-
```
|
|
290
|
-
|
|
291
|
-
**功能**: 播放音量大小实时回调
|
|
292
|
-
|
|
293
|
-
**参数**:
|
|
294
|
-
- `player`: 触发回调的播放器实例
|
|
295
|
-
- `volume`: 当前播放音量值(0-100)
|
|
296
|
-
|
|
297
|
-
**前提条件**: 需要调用 `enableVolumeEvaluation()` 开启音量评估
|
|
298
|
-
|
|
299
|
-
**使用场景**:
|
|
300
|
-
- 实时音量显示
|
|
301
|
-
- 音频波形动画
|
|
302
|
-
- 静音检测
|
|
303
|
-
|
|
304
|
-
**示例**:
|
|
305
|
-
```java
|
|
306
|
-
player.setObserver(new V2TXLivePlayerObserver() {
|
|
307
|
-
@Override
|
|
308
|
-
public void onPlayoutVolumeUpdate(V2TXLivePlayer player, int volume) {
|
|
309
|
-
// 音频播放音量回调,可以更新音量大小
|
|
310
|
-
Log.i(TAG, "音频播放音量,音量:" + volume);
|
|
311
|
-
}
|
|
312
|
-
});
|
|
313
|
-
player.enableVolumeEvaluation(300);
|
|
314
|
-
```
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
#### onRenderVideoFrame() - 自定义视频渲染回调
|
|
318
|
-
```java
|
|
319
|
-
public void onRenderVideoFrame(V2TXLivePlayer player, V2TXLiveVideoFrame videoFrame)
|
|
320
|
-
```
|
|
321
|
-
|
|
322
|
-
**功能**: 自定义视频帧渲染回调
|
|
323
|
-
|
|
324
|
-
**参数**:
|
|
325
|
-
- `player`: 触发回调的播放器实例
|
|
326
|
-
- `videoFrame`: 视频帧数据 `V2TXLiveVideoFrame`
|
|
327
|
-
|
|
328
|
-
**前提条件**: 需要调用 `enableObserveVideoFrame()` 开启视频帧回调
|
|
329
|
-
|
|
330
|
-
**使用场景**:
|
|
331
|
-
- 自定义视频渲染
|
|
332
|
-
|
|
333
|
-
**示例**:
|
|
334
|
-
```java
|
|
335
|
-
// 开启自定义渲染
|
|
336
|
-
player.enableObserveVideoFrame(true, V2TXLiveDef.V2TXLivePixelFormat.V2TXLivePixelFormatTexture2D, V2TXLiveDef.V2TXLiveBufferType.V2TXLiveBufferTypeTexture);
|
|
337
|
-
player.setObserver(new V2TXLivePlayerObserver() {
|
|
338
|
-
@Override
|
|
339
|
-
public void onRenderVideoFrame(V2TXLivePlayer player, V2TXLiveVideoFrame videoFrame) {
|
|
340
|
-
// 自定义渲染
|
|
341
|
-
}
|
|
342
|
-
});
|
|
343
|
-
```
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
#### onPlayoutAudioFrame() - 音频数据回调
|
|
347
|
-
```java
|
|
348
|
-
public void onPlayoutAudioFrame(V2TXLivePlayer player, V2TXLiveAudioFrame audioFrame)
|
|
349
|
-
```
|
|
350
|
-
|
|
351
|
-
**功能**: 音频数据播放回调
|
|
352
|
-
|
|
353
|
-
**参数**:
|
|
354
|
-
- `player`: 触发回调的播放器实例
|
|
355
|
-
- `audioFrame`: 音频帧数据 `V2TXLiveAudioFrame`
|
|
356
|
-
|
|
357
|
-
**前提条件**: 需要调用 `enableObserveAudioFrame()` 开启音频帧回调
|
|
358
|
-
|
|
359
|
-
**使用场景**:
|
|
360
|
-
- 自定义音频处理
|
|
361
|
-
|
|
362
|
-
**示例**:
|
|
363
|
-
```java
|
|
364
|
-
// 开启音频数据监听
|
|
365
|
-
player.enableObserveAudioFrame(true);
|
|
366
|
-
player.setObserver(new V2TXLivePlayerObserver() {
|
|
367
|
-
@Override
|
|
368
|
-
public void onPlayoutAudioFrame(V2TXLivePlayer player, V2TXLiveAudioFrame audioFrame) {
|
|
369
|
-
// doSomething
|
|
370
|
-
}
|
|
371
|
-
});
|
|
372
|
-
```
|
|
373
|
-
|
|
374
|
-
### 5. 统计和监控回调
|
|
375
|
-
|
|
376
|
-
#### onStatisticsUpdate() - 统计数据回调
|
|
377
|
-
```java
|
|
378
|
-
public void onStatisticsUpdate(V2TXLivePlayer player, V2TXLivePlayerStatistics statistics)
|
|
379
|
-
```
|
|
380
|
-
|
|
381
|
-
**功能**: 播放器统计数据实时回调,2s回调一次
|
|
382
|
-
|
|
383
|
-
**参数**:
|
|
384
|
-
- `player`: 触发回调的播放器实例
|
|
385
|
-
- `statistics`: 播放统计信息 `V2TXLivePlayerStatistics`
|
|
386
|
-
|
|
387
|
-
**包含数据**:
|
|
388
|
-
- 视频宽度/高度
|
|
389
|
-
- 帧率/码率
|
|
390
|
-
- 网络状况
|
|
391
|
-
- 缓存大小
|
|
392
|
-
- 播放延迟
|
|
393
|
-
|
|
394
|
-
**使用场景**:
|
|
395
|
-
- 播放质量监控
|
|
396
|
-
- 性能优化分析
|
|
397
|
-
- 用户体验统计
|
|
398
|
-
|
|
399
|
-
**示例**:
|
|
400
|
-
```java
|
|
401
|
-
player.setObserver(new V2TXLivePlayerObserver() {
|
|
402
|
-
@Override
|
|
403
|
-
public void onStatisticsUpdate(V2TXLivePlayer player, V2TXLivePlayerStatistics statistics) {
|
|
404
|
-
// doSomething
|
|
405
|
-
}
|
|
406
|
-
});
|
|
407
|
-
```
|
|
408
|
-
|
|
409
|
-
### 6. 高级功能回调
|
|
410
|
-
|
|
411
|
-
#### onSnapshotComplete() - 截图完成回调
|
|
412
|
-
```java
|
|
413
|
-
public void onSnapshotComplete(V2TXLivePlayer player, Bitmap image)
|
|
414
|
-
```
|
|
415
|
-
|
|
416
|
-
**功能**: 截图操作完成回调
|
|
417
|
-
|
|
418
|
-
**参数**:
|
|
419
|
-
- `player`: 触发回调的播放器实例
|
|
420
|
-
- `image`: 截取的视频画面Bitmap
|
|
421
|
-
|
|
422
|
-
**使用场景**:
|
|
423
|
-
- 视频截图保存
|
|
424
|
-
- 画面分享功能
|
|
425
|
-
|
|
426
|
-
**示例**:
|
|
427
|
-
```java
|
|
428
|
-
player.setObserver(new V2TXLivePlayerObserver() {
|
|
429
|
-
@Override
|
|
430
|
-
public void onSnapshotComplete(V2TXLivePlayer player, Bitmap image) {
|
|
431
|
-
// doSomething
|
|
432
|
-
}
|
|
433
|
-
});
|
|
434
|
-
player.snapshot();
|
|
435
|
-
```
|
|
436
|
-
|
|
437
|
-
#### onReceiveSeiMessage() - SEI消息接收回调
|
|
438
|
-
```java
|
|
439
|
-
public void onReceiveSeiMessage(V2TXLivePlayer player, int payloadType, byte[] data)
|
|
440
|
-
```
|
|
441
|
-
|
|
442
|
-
**功能**: 接收SEI(Supplemental Enhancement Information)消息回调
|
|
443
|
-
|
|
444
|
-
**参数**:
|
|
445
|
-
- `player`: 触发回调的播放器实例
|
|
446
|
-
- `payloadType`: SEI消息类型
|
|
447
|
-
- `data`: SEI消息数据
|
|
448
|
-
|
|
449
|
-
**前提条件**: 需要调用 `enableReceiveSeiMessage()` 开启SEI消息接收
|
|
450
|
-
|
|
451
|
-
**使用场景**:
|
|
452
|
-
- 场景信息传递
|
|
453
|
-
- 互动消息传输
|
|
454
|
-
|
|
455
|
-
**示例**:
|
|
456
|
-
```java
|
|
457
|
-
// 开启音频数据监听
|
|
458
|
-
player.enableReceiveSeiMessage(true, 5);
|
|
459
|
-
player.enableReceiveSeiMessage(true, 242);
|
|
460
|
-
player.enableReceiveSeiMessage(true, 243);
|
|
461
|
-
player.setObserver(new V2TXLivePlayerObserver() {
|
|
462
|
-
@Override
|
|
463
|
-
public void onReceiveSeiMessage(V2TXLivePlayer player, int payloadType, byte[] data) {
|
|
464
|
-
// doSomething
|
|
465
|
-
}
|
|
466
|
-
});
|
|
467
|
-
```
|
|
468
|
-
|
|
469
|
-
#### onStreamSwitched() - 流切换回调
|
|
470
|
-
```java
|
|
471
|
-
public void onStreamSwitched(V2TXLivePlayer player, String url, int code)
|
|
472
|
-
```
|
|
473
|
-
|
|
474
|
-
**功能**: 分辨率切换操作完成回调,调用 `switchStream()` 时回调
|
|
475
|
-
|
|
476
|
-
**参数**:
|
|
477
|
-
- `player`: 触发回调的播放器实例
|
|
478
|
-
- `url`: 切换后的播放地址
|
|
479
|
-
- `code`: 切换状态码(0:成功,-1:超时,-2:服务端错误,-3:客户端错误)
|
|
480
|
-
|
|
481
|
-
**使用场景**:
|
|
482
|
-
- 清晰度切换监控
|
|
483
|
-
|
|
484
|
-
**示例**:
|
|
485
|
-
```java
|
|
486
|
-
player.startLivePlayer("http://example.com/live/stream_1080p.flv");
|
|
487
|
-
|
|
488
|
-
player.setObserver(new V2TXLivePlayerObserver() {
|
|
489
|
-
@Override
|
|
490
|
-
public void onStreamSwitched(V2TXLivePlayer player, String url, int code) {
|
|
491
|
-
if (code == 0) {
|
|
492
|
-
Log.i(TAG, "切换成功");
|
|
493
|
-
} else if (code == -1) {
|
|
494
|
-
Log.i(TAG, "切换超时");
|
|
495
|
-
} else if (code == -2) {
|
|
496
|
-
Log.i(TAG, "切换失败,服务端错误");
|
|
497
|
-
} else if (code == -3) {
|
|
498
|
-
Log.i(TAG, "切换失败,客户端错误");
|
|
499
|
-
}
|
|
500
|
-
}
|
|
501
|
-
});
|
|
502
|
-
player.switchStream("http://example.com/live/stream_720p.flv";
|
|
503
|
-
```
|
|
504
|
-
|
|
505
|
-
### 7. 本地录制回调
|
|
506
|
-
|
|
507
|
-
#### onLocalRecordBegin() - 录制开始回调
|
|
508
|
-
```java
|
|
509
|
-
public void onLocalRecordBegin(V2TXLivePlayer player, int code, String storagePath)
|
|
510
|
-
```
|
|
511
|
-
|
|
512
|
-
**功能**: 本地录制任务开始回调,调用 `startLocalRecording()` 时回调
|
|
513
|
-
|
|
514
|
-
**参数**:
|
|
515
|
-
- `player`: 触发回调的播放器实例
|
|
516
|
-
- `code`: 录制状态码
|
|
517
|
-
- `storagePath`: 录制文件存储路径
|
|
518
|
-
|
|
519
|
-
**状态码说明**:
|
|
520
|
-
- `0`: 录制任务启动成功
|
|
521
|
-
- `-1`: 内部错误导致录制失败
|
|
522
|
-
- `-2`: 文件后缀名有误
|
|
523
|
-
- `-6`: 录制已经启动
|
|
524
|
-
- `-7`: 录制文件已存在
|
|
525
|
-
- `-8`: 录制目录无写入权限
|
|
526
|
-
|
|
527
|
-
#### onLocalRecording() - 录制进度回调
|
|
528
|
-
```java
|
|
529
|
-
public void onLocalRecording(V2TXLivePlayer player, long durationMs, String storagePath)
|
|
530
|
-
```
|
|
531
|
-
|
|
532
|
-
**功能**: 录制任务进行中进度回调,频率与 startLocalRecording 传入的 V2TXLiveDef.V2TXLiveLocalRecordingParams.interval 一致
|
|
533
|
-
|
|
534
|
-
**参数**:
|
|
535
|
-
- `player`: 触发回调的播放器实例
|
|
536
|
-
- `durationMs`: 已录制时长(毫秒)
|
|
537
|
-
- `storagePath`: 录制文件存储路径
|
|
538
|
-
|
|
539
|
-
**使用场景**:
|
|
540
|
-
- 录制进度显示
|
|
541
|
-
- 录制时长限制
|
|
542
|
-
- 录制状态监控
|
|
543
|
-
|
|
544
|
-
#### onLocalRecordComplete() - 录制完成回调
|
|
545
|
-
```java
|
|
546
|
-
public void onLocalRecordComplete(V2TXLivePlayer player, int code, String storagePath)
|
|
547
|
-
```
|
|
548
|
-
|
|
549
|
-
**功能**: 录制任务完成回调,调用 `stopLocalRecording()` 时回调
|
|
550
|
-
|
|
551
|
-
**参数**:
|
|
552
|
-
- `player`: 触发回调的播放器实例
|
|
553
|
-
- `code`: 录制完成状态码
|
|
554
|
-
- `storagePath`: 录制文件存储路径
|
|
555
|
-
|
|
556
|
-
**状态码说明**:
|
|
557
|
-
- `0`: 结束录制任务成功
|
|
558
|
-
- `-1`: 录制失败
|
|
559
|
-
- `-2`: 切换分辨率或横竖屏导致录制结束
|
|
560
|
-
- `-3`: 录制时间太短或未采集到数据
|
|
561
|
-
|
|
562
|
-
**示例**:
|
|
563
|
-
```java
|
|
564
|
-
player.setObserver(new V2TXLivePlayerObserver() {
|
|
565
|
-
@Override
|
|
566
|
-
public void onLocalRecordBegin(V2TXLivePlayer player, int code, String storagePath) {
|
|
567
|
-
Log.i(TAG, "开始录制");
|
|
568
|
-
}
|
|
569
|
-
|
|
570
|
-
@Override
|
|
571
|
-
public void onLocalRecording(V2TXLivePlayer player, long durationMs, String storagePath) {
|
|
572
|
-
Log.i(TAG, "录制中..., durationMs: " + durationMs);
|
|
573
|
-
}
|
|
574
|
-
|
|
575
|
-
@Override
|
|
576
|
-
public void onLocalRecordComplete(V2TXLivePlayer player, int code, String storagePath) {
|
|
577
|
-
Log.i(TAG, "录制完成");
|
|
578
|
-
}
|
|
579
|
-
});
|
|
580
|
-
|
|
581
|
-
V2TXLiveDef.V2TXLiveLocalRecordingParams params = new V2TXLiveDef.V2TXLiveLocalRecordingParams();
|
|
582
|
-
params.filePath = "filepath";
|
|
583
|
-
params.interval = 2000;
|
|
584
|
-
int code = player.startLocalRecording(params);
|
|
585
|
-
if (code == V2TXLIVE_OK) {
|
|
586
|
-
Log.i(TAG, "录制开启成功");
|
|
587
|
-
} else if (code == V2TXLIVE_ERROR_INVALID_PARAMETER) {
|
|
588
|
-
Log.i(TAG, "录制参数不合法");
|
|
589
|
-
} else if (code == V2TXLIVE_ERROR_REFUSED) {
|
|
590
|
-
Log.i(TAG, "录制调用被拒绝");
|
|
591
|
-
}
|
|
592
|
-
```
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
### 基础播放器回调实现
|
|
596
|
-
```java
|
|
597
|
-
public class MyPlayerObserver extends V2TXLivePlayerObserver {
|
|
598
|
-
@Override
|
|
599
|
-
public void onError(V2TXLivePlayer player, int code, String msg, Bundle extraInfo) {
|
|
600
|
-
// 处理播放错误
|
|
601
|
-
Log.e("PlayerError", "错误码: " + code + ", 错误信息: " + msg);
|
|
602
|
-
}
|
|
603
|
-
|
|
604
|
-
@Override
|
|
605
|
-
public void onConnected(V2TXLivePlayer player, Bundle extraInfo) {
|
|
606
|
-
// 连接成功处理
|
|
607
|
-
Log.i("Player", "成功连接到服务器");
|
|
608
|
-
}
|
|
609
|
-
|
|
610
|
-
@Override
|
|
611
|
-
public void onVideoPlaying(V2TXLivePlayer player, boolean firstPlay, Bundle extraInfo) {
|
|
612
|
-
// 视频开始播放
|
|
613
|
-
if (firstPlay) {
|
|
614
|
-
Log.i("Player", "首次播放开始");
|
|
615
|
-
}
|
|
616
|
-
}
|
|
617
|
-
|
|
618
|
-
@Override
|
|
619
|
-
public void onStatisticsUpdate(V2TXLivePlayer player, V2TXLivePlayerStatistics statistics) {
|
|
620
|
-
// 更新播放统计信息
|
|
621
|
-
Log.d("PlayerStats", "帧率: " + statistics.fps + ", 码率: " + statistics.bitrate);
|
|
622
|
-
}
|
|
623
|
-
}
|
|
624
|
-
|
|
625
|
-
// 设置回调观察者
|
|
626
|
-
V2TXLivePlayer player = new V2TXLivePlayerImpl(context);
|
|
627
|
-
player.setObserver(new MyPlayerObserver());
|
|
628
|
-
```
|
|
629
|
-
|
|
630
|
-
### 自定义视频处理示例
|
|
631
|
-
```java
|
|
632
|
-
public class VideoProcessorObserver extends V2TXLivePlayerObserver {
|
|
633
|
-
@Override
|
|
634
|
-
public void onRenderVideoFrame(V2TXLivePlayer player, V2TXLiveVideoFrame videoFrame) {
|
|
635
|
-
// 自定义视频帧处理
|
|
636
|
-
// 可以添加滤镜、水印等效果
|
|
637
|
-
processVideoFrame(videoFrame);
|
|
638
|
-
}
|
|
639
|
-
|
|
640
|
-
private void processVideoFrame(V2TXLiveVideoFrame frame) {
|
|
641
|
-
// 视频帧处理逻辑
|
|
642
|
-
}
|
|
643
|
-
}
|
|
644
|
-
|
|
645
|
-
// 开启自定义视频帧回调
|
|
646
|
-
player.enableObserveVideoFrame(true);
|
|
647
|
-
player.setObserver(new VideoProcessorObserver());
|
|
648
|
-
```
|
|
649
|
-
|
|
650
|
-
### 本地录制监控示例
|
|
651
|
-
```java
|
|
652
|
-
public class RecordingObserver extends V2TXLivePlayerObserver {
|
|
653
|
-
@Override
|
|
654
|
-
public void onLocalRecordBegin(V2TXLivePlayer player, int code, String storagePath) {
|
|
655
|
-
if (code == 0) {
|
|
656
|
-
Log.i("Recording", "录制开始,文件路径: " + storagePath);
|
|
657
|
-
} else {
|
|
658
|
-
Log.e("Recording", "录制失败,错误码: " + code);
|
|
659
|
-
}
|
|
660
|
-
}
|
|
661
|
-
|
|
662
|
-
@Override
|
|
663
|
-
public void onLocalRecording(V2TXLivePlayer player, long durationMs, String storagePath) {
|
|
664
|
-
// 更新录制进度
|
|
665
|
-
updateRecordingProgress(durationMs);
|
|
666
|
-
}
|
|
667
|
-
|
|
668
|
-
@Override
|
|
669
|
-
public void onLocalRecordComplete(V2TXLivePlayer player, int code, String storagePath) {
|
|
670
|
-
if (code == 0) {
|
|
671
|
-
Log.i("Recording", "录制完成,文件路径: " + storagePath);
|
|
672
|
-
} else {
|
|
673
|
-
Log.w("Recording", "录制异常结束,状态码: " + code);
|
|
674
|
-
}
|
|
675
|
-
}
|
|
676
|
-
}
|
|
677
|
-
```
|
|
678
|
-
|
|
679
|
-
## 注意事项
|
|
680
|
-
|
|
681
|
-
1. **回调线程**: 除自定义渲染回调,其它所有回调方法都在UI主线程执行
|
|
682
|
-
2. **性能影响**: 自定义渲染和音频处理回调可能影响播放性能
|
|
683
|
-
3. **内存管理**: 及时释放不再使用的观察者对象,避免内存泄漏
|
|
684
|
-
4. **错误处理**: 合理处理各种错误码,提供友好的用户提示
|
|
685
|
-
5. **权限检查**: 本地录制需要确保有存储权限和足够的存储空间
|