@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
|
@@ -6,43 +6,38 @@
|
|
|
6
6
|
|
|
7
7
|
通过下方的视图层级示意图,您可以直观了解 **LiveCoreView** 在直播界面中的位置和作用:
|
|
8
8
|
|
|
9
|
-

|
|
10
|
-
|
|
11
|
-
|
|
12
9
|
## 准备工作
|
|
13
10
|
|
|
14
11
|
### 步骤1:开通服务
|
|
15
12
|
|
|
16
|
-
请参见
|
|
13
|
+
请参见 开通服务,获取体验版或付费版 SDK。
|
|
17
14
|
|
|
18
15
|
### 步骤2:在当前项目中导入 AtomicXCore
|
|
19
16
|
1. **安装组件**:请在您的 **Podfile** 文件中添加 `pod 'AtomicXCore'` 依赖,然后执行`pod install`。
|
|
20
17
|
|
|
21
18
|
``` ruby
|
|
22
19
|
target 'xxxx' do
|
|
23
|
-
pod 'AtomicXCore'
|
|
20
|
+
pod 'AtomicXCore', '~> 4.0'
|
|
24
21
|
end
|
|
25
22
|
```
|
|
26
23
|
2. **配置工程权限: **请在应用的 `Info.plist` 文件中添加相机和麦克风的使用权限说明。
|
|
27
24
|
|
|
28
25
|
``` ruby
|
|
29
26
|
<key>NSCameraUsageDescription</key>
|
|
30
|
-
<string>TUILiveKit
|
|
27
|
+
<string>TUILiveKit需要访问您的相机权限,开启后录制的视频才会有画面</string>
|
|
31
28
|
<key>NSMicrophoneUsageDescription</key>
|
|
32
29
|
<string>TUILiveKit需要访问您的麦克风权限,开启后录制的视频才会有声音</string>
|
|
33
30
|
```
|
|
34
|
-

|
|
35
|
-
|
|
36
31
|
|
|
37
32
|
### 步骤3:实现登录逻辑
|
|
38
33
|
|
|
39
34
|
在您的项目中调用 `LoginStore.shared.login` 完成登录,**这是使用 **`AtomicXCore`** 所有功能的关键前提**。
|
|
40
35
|
|
|
41
36
|
> **重要:**
|
|
42
|
-
>
|
|
37
|
+
>
|
|
43
38
|
|
|
44
39
|
> 推荐在您 App 自身的用户账户登录成功后,再调用 LoginStore.shared.login,以确保登录业务逻辑的清晰和一致。
|
|
45
|
-
>
|
|
40
|
+
>
|
|
46
41
|
|
|
47
42
|
``` swift
|
|
48
43
|
import AtomicXCore
|
|
@@ -64,40 +59,11 @@ func application(_ application: UIApplication, didFinishLaunchingWithOptions lau
|
|
|
64
59
|
```
|
|
65
60
|
|
|
66
61
|
**登录接口参数说明:**
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
<td rowspan="1" colSpan="1" >说明</td>
|
|
74
|
-
</tr>
|
|
75
|
-
|
|
76
|
-
<tr>
|
|
77
|
-
<td rowspan="1" colSpan="1" >sdkAppId</td>
|
|
78
|
-
|
|
79
|
-
<td rowspan="1" colSpan="1" >Int32</td>
|
|
80
|
-
|
|
81
|
-
<td rowspan="1" colSpan="1" >从 [控制台](https://console.cloud.tencent.com/trtc) 获取,通常是以 `140` 或 `160` 开头的 10 位整数。</td>
|
|
82
|
-
</tr>
|
|
83
|
-
|
|
84
|
-
<tr>
|
|
85
|
-
<td rowspan="1" colSpan="1" >userID</td>
|
|
86
|
-
|
|
87
|
-
<td rowspan="1" colSpan="1" >String</td>
|
|
88
|
-
|
|
89
|
-
<td rowspan="1" colSpan="1" >当前用户的唯一 ID,仅包含英文字母、数字、连字符和下划线。为避免多端登录冲突,**请勿使用**`1`、`123`**等简单 ID**。</td>
|
|
90
|
-
</tr>
|
|
91
|
-
|
|
92
|
-
<tr>
|
|
93
|
-
<td rowspan="1" colSpan="1" >userSig</td>
|
|
94
|
-
|
|
95
|
-
<td rowspan="1" colSpan="1" >String</td>
|
|
96
|
-
|
|
97
|
-
<td rowspan="1" colSpan="1" >用于腾讯云鉴权的票据。请注意:<br>- 开发环境:您可以采用本地 `GenerateTestUserSig.genTestSig` 函数生成 userSig 或者通过 [UserSig 辅助工具](https://console.cloud.tencent.com/im/tool-usersig) 生成临时的 UserSig。<br>- 生产环境:为了防止密钥泄露,请务必采用服务端生成 UserSig 的方式。详细信息请参考 [服务端生成 UserSig](https://cloud.tencent.com/document/product/647/17275)。<br>更多信息请参见 [如何计算及使用 UserSig](https://cloud.tencent.com/document/product/647/17275)。</td>
|
|
98
|
-
</tr>
|
|
99
|
-
</table>
|
|
100
|
-
|
|
62
|
+
| 参数 | 类型 | 说明 |
|
|
63
|
+
| --- | --- | --- |
|
|
64
|
+
| sdkAppId | Int32 | 从 [控制台](https://console.cloud.tencent.com/trtc) 获取,通常是以 `140` 或 `160` 开头的 10 位整数。 |
|
|
65
|
+
| userID | String | 当前用户的唯一 ID,仅包含英文字母、数字、连字符和下划线。为避免多端登录冲突,**请勿使用**`1`、`123`**等简单 ID**。 |
|
|
66
|
+
| userSig | String | 用于腾讯云鉴权的票据。请注意以下环境:<br>- 开发环境:您可以采用本地 `GenerateTestUserSig.genTestSig` 函数生成 userSig 或者通过 [UserSig 辅助工具](https://console.cloud.tencent.com/im/tool-usersig) 生成临时的 UserSig。<br>- 生产环境:为了防止密钥泄露,请务必采用服务端生成 UserSig 的方式。详细信息请参考 [服务端生成 UserSig](https://cloud.tencent.com/document/product/647/17275)。<br>更多信息请参见 [如何计算及使用 UserSig](https://cloud.tencent.com/document/product/647/17275)。 |
|
|
101
67
|
|
|
102
68
|
## 搭建基础直播间
|
|
103
69
|
|
|
@@ -105,30 +71,26 @@ func application(_ application: UIApplication, didFinishLaunchingWithOptions lau
|
|
|
105
71
|
|
|
106
72
|
主播开播流程如下,您只需执行以下几步操作,即可快速搭建主播视频直播。
|
|
107
73
|
|
|
108
|
-

|
|
109
|
-
|
|
110
|
-
|
|
111
74
|
> **提示:**
|
|
112
|
-
>
|
|
75
|
+
>
|
|
113
76
|
|
|
114
77
|
> 主播开播推流的业务代码,您也可以参考 TUILiveKit 开源项目中的 [TUILiveRoomAnchorViewController.swift](https://github.com/Tencent-RTC/TUIKit_iOS/blob/main/live/Sources/LiveStream/TUILiveRoomAnchorViewController.swift) 文件来了解完整的实现逻辑。
|
|
115
|
-
>
|
|
78
|
+
>
|
|
116
79
|
|
|
117
80
|
1. **初始化主播推流的视图**
|
|
118
81
|
|
|
119
|
-
|
|
120
82
|
在您的主播视图控制器中,创建一个 `LiveCoreView` 实例,并将 `viewType` 指定为 `.pushView`(推流视图)。
|
|
121
83
|
|
|
122
84
|
``` swift
|
|
123
85
|
import AtomicXCore
|
|
124
|
-
|
|
86
|
+
|
|
125
87
|
// YourAnchorViewController 代表您的主播开播视图控制器
|
|
126
88
|
class YourAnchorViewController: UIViewController {
|
|
127
|
-
|
|
89
|
+
|
|
128
90
|
private let liveId: String
|
|
129
91
|
// 1. 将 LiveCoreView 作为您视图控制器的一个属性
|
|
130
92
|
private let coreView = LiveCoreView(viewType:.pushView, frame: UIScreen.main.bounds)
|
|
131
|
-
|
|
93
|
+
|
|
132
94
|
// 2. 新增便利构造函数完成实例初始化
|
|
133
95
|
// - liveId: 您需要开播的直播房间 id
|
|
134
96
|
public init(liveId: String) {
|
|
@@ -136,26 +98,25 @@ func application(_ application: UIApplication, didFinishLaunchingWithOptions lau
|
|
|
136
98
|
super.init(nibName: nil, bundle: nil)
|
|
137
99
|
self.coreView.setLiveID(liveId)
|
|
138
100
|
}
|
|
139
|
-
|
|
101
|
+
|
|
140
102
|
required init?(coder: NSCoder) {
|
|
141
103
|
fatalError("init(coder:) has not been implemented")
|
|
142
104
|
}
|
|
143
|
-
|
|
105
|
+
|
|
144
106
|
public override func viewDidLoad() {
|
|
145
107
|
super.viewDidLoad()
|
|
146
108
|
// 3. 将主播推流页面加载到您的视图上
|
|
147
109
|
view.addSubview(coreView)
|
|
148
110
|
}
|
|
149
|
-
}
|
|
111
|
+
}
|
|
150
112
|
```
|
|
151
113
|
2. **打开摄像头和麦克风**
|
|
152
114
|
|
|
153
|
-
|
|
154
115
|
通过调用 **DeviceStore** 的 `openLocalCamera、openLocalMicrophone` 接口打开摄像头和麦克风,**您无需做额外操作,LiveCoreView 会自动预览当前摄像头的视频流**,示例代码如下:
|
|
155
116
|
|
|
156
117
|
``` swift
|
|
157
118
|
import AtomicXCore
|
|
158
|
-
|
|
119
|
+
|
|
159
120
|
// YourAnchorViewController 代表您的主播开播视图控制器
|
|
160
121
|
class YourAnchorViewController: UIViewController {
|
|
161
122
|
// ... 其他代码 ...
|
|
@@ -164,9 +125,9 @@ func application(_ application: UIApplication, didFinishLaunchingWithOptions lau
|
|
|
164
125
|
// 打开设备
|
|
165
126
|
openDevices()
|
|
166
127
|
}
|
|
167
|
-
|
|
128
|
+
|
|
168
129
|
private func openDevices() {
|
|
169
|
-
// 1. 打开前置摄像头
|
|
130
|
+
// 1. 打开前置摄像头
|
|
170
131
|
DeviceStore.shared.openLocalCamera(isFront: true, completion: nil)
|
|
171
132
|
// 2. 打开麦克风
|
|
172
133
|
DeviceStore.shared.openLocalMicrophone(completion: nil)
|
|
@@ -175,17 +136,16 @@ func application(_ application: UIApplication, didFinishLaunchingWithOptions lau
|
|
|
175
136
|
```
|
|
176
137
|
3. **开始直播**
|
|
177
138
|
|
|
178
|
-
|
|
179
139
|
通过调用 **LiveListStore** 的 `createLive` 接口开始视频直播,完整示例代码如下:
|
|
180
140
|
|
|
181
141
|
``` swift
|
|
182
142
|
import AtomicXCore
|
|
183
|
-
|
|
143
|
+
|
|
184
144
|
// YourAnchorViewController 代表您的主播开播视图控制器
|
|
185
145
|
class YourAnchorViewController: UIViewController {
|
|
186
|
-
|
|
146
|
+
|
|
187
147
|
// ... 其他代码 ...
|
|
188
|
-
|
|
148
|
+
|
|
189
149
|
// 调用开播接口开始直播
|
|
190
150
|
private func startLive() {
|
|
191
151
|
var liveInfo = LiveInfo()
|
|
@@ -193,11 +153,9 @@ func application(_ application: UIApplication, didFinishLaunchingWithOptions lau
|
|
|
193
153
|
liveInfo.liveID = self.liveId
|
|
194
154
|
// 2. 设置直播的房间名称
|
|
195
155
|
liveInfo.liveName = "test 直播"
|
|
196
|
-
// 3.
|
|
197
|
-
liveInfo.
|
|
198
|
-
// 4.
|
|
199
|
-
liveInfo.keepOwnerOnSeat = true
|
|
200
|
-
// 5. 调用 LiveListStore.shared.createLive 开始直播
|
|
156
|
+
// 3. 配置布局模板,videoDynamicGrid9Seats 为竖屏动态九宫格
|
|
157
|
+
liveInfo.seatTemplate = .videoDynamicGrid9Seats
|
|
158
|
+
// 4. 调用 LiveListStore.shared.createLive 开始直播
|
|
201
159
|
LiveListStore.shared.createLive(liveInfo) { [weak self] result in
|
|
202
160
|
guard let self = self else { return }
|
|
203
161
|
switch result {
|
|
@@ -208,186 +166,38 @@ func application(_ application: UIApplication, didFinishLaunchingWithOptions lau
|
|
|
208
166
|
}
|
|
209
167
|
}
|
|
210
168
|
}
|
|
211
|
-
}
|
|
169
|
+
}
|
|
212
170
|
```
|
|
213
171
|
|
|
214
172
|
`LiveInfo`**参数说明:**
|
|
215
173
|
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
231
|
-
|
|
232
|
-
<td rowspan="1" colSpan="1" >必填</td>
|
|
233
|
-
|
|
234
|
-
<td rowspan="1" colSpan="1" >直播间的唯一标识符。</td>
|
|
235
|
-
</tr>
|
|
236
|
-
|
|
237
|
-
<tr>
|
|
238
|
-
<td rowspan="1" colSpan="1" >`liveName`</td>
|
|
239
|
-
|
|
240
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
241
|
-
|
|
242
|
-
<td rowspan="1" colSpan="1" >选填</td>
|
|
243
|
-
|
|
244
|
-
<td rowspan="1" colSpan="1" >直播间的标题。</td>
|
|
245
|
-
</tr>
|
|
246
|
-
|
|
247
|
-
<tr>
|
|
248
|
-
<td rowspan="1" colSpan="1" >`notice`</td>
|
|
249
|
-
|
|
250
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
251
|
-
|
|
252
|
-
<td rowspan="1" colSpan="1" >选填</td>
|
|
253
|
-
|
|
254
|
-
<td rowspan="1" colSpan="1" >直播间的公告信息。</td>
|
|
255
|
-
</tr>
|
|
256
|
-
|
|
257
|
-
<tr>
|
|
258
|
-
<td rowspan="1" colSpan="1" >`isMessageDisable`</td>
|
|
259
|
-
|
|
260
|
-
<td rowspan="1" colSpan="1" >`Bool`</td>
|
|
261
|
-
|
|
262
|
-
<td rowspan="1" colSpan="1" >选填</td>
|
|
263
|
-
|
|
264
|
-
<td rowspan="1" colSpan="1" >是否禁言(`true`:是,`false`:否)。</td>
|
|
265
|
-
</tr>
|
|
266
|
-
|
|
267
|
-
<tr>
|
|
268
|
-
<td rowspan="1" colSpan="1" >`isPublicVisible`</td>
|
|
269
|
-
|
|
270
|
-
<td rowspan="1" colSpan="1" >`Bool`</td>
|
|
271
|
-
|
|
272
|
-
<td rowspan="1" colSpan="1" >选填</td>
|
|
273
|
-
|
|
274
|
-
<td rowspan="1" colSpan="1" >是否公开可见(`true`:是,`false`:否)。</td>
|
|
275
|
-
</tr>
|
|
276
|
-
|
|
277
|
-
<tr>
|
|
278
|
-
<td rowspan="1" colSpan="1" >`isSeatEnabled`</td>
|
|
279
|
-
|
|
280
|
-
<td rowspan="1" colSpan="1" >`Bool`</td>
|
|
281
|
-
|
|
282
|
-
<td rowspan="1" colSpan="1" >选填</td>
|
|
283
|
-
|
|
284
|
-
<td rowspan="1" colSpan="1" >是否启用麦位功能(`true`:是,`false`:否)。</td>
|
|
285
|
-
</tr>
|
|
286
|
-
|
|
287
|
-
<tr>
|
|
288
|
-
<td rowspan="1" colSpan="1" >`keepOwnerOnSeat`</td>
|
|
289
|
-
|
|
290
|
-
<td rowspan="1" colSpan="1" >`Bool`</td>
|
|
291
|
-
|
|
292
|
-
<td rowspan="1" colSpan="1" >选填</td>
|
|
293
|
-
|
|
294
|
-
<td rowspan="1" colSpan="1" >是否保持房主在麦位上。</td>
|
|
295
|
-
</tr>
|
|
296
|
-
|
|
297
|
-
<tr>
|
|
298
|
-
<td rowspan="1" colSpan="1" >`maxSeatCount`</td>
|
|
299
|
-
|
|
300
|
-
<td rowspan="1" colSpan="1" >`Int`</td>
|
|
301
|
-
|
|
302
|
-
<td rowspan="1" colSpan="1" >必填</td>
|
|
303
|
-
|
|
304
|
-
<td rowspan="1" colSpan="1" >最大麦位数量。</td>
|
|
305
|
-
</tr>
|
|
306
|
-
|
|
307
|
-
<tr>
|
|
308
|
-
<td rowspan="1" colSpan="1" >`seatMode`</td>
|
|
309
|
-
|
|
310
|
-
<td rowspan="1" colSpan="1" >`TakeSeatMode`</td>
|
|
311
|
-
|
|
312
|
-
<td rowspan="1" colSpan="1" >选填</td>
|
|
313
|
-
|
|
314
|
-
<td rowspan="1" colSpan="1" >上麦模式(`.free`:自由上麦,`.apply`:申请上麦)。</td>
|
|
315
|
-
</tr>
|
|
316
|
-
|
|
317
|
-
<tr>
|
|
318
|
-
<td rowspan="1" colSpan="1" >`seatLayoutTemplateID`</td>
|
|
319
|
-
|
|
320
|
-
<td rowspan="1" colSpan="1" >`UInt`</td>
|
|
321
|
-
|
|
322
|
-
<td rowspan="1" colSpan="1" >必填</td>
|
|
323
|
-
|
|
324
|
-
<td rowspan="1" colSpan="1" >麦位布局模板 `ID。`</td>
|
|
325
|
-
</tr>
|
|
326
|
-
|
|
327
|
-
<tr>
|
|
328
|
-
<td rowspan="1" colSpan="1" >`coverURL`</td>
|
|
329
|
-
|
|
330
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
331
|
-
|
|
332
|
-
<td rowspan="1" colSpan="1" >选填</td>
|
|
333
|
-
|
|
334
|
-
<td rowspan="1" colSpan="1" >直播间的封面图片地址。</td>
|
|
335
|
-
</tr>
|
|
336
|
-
|
|
337
|
-
<tr>
|
|
338
|
-
<td rowspan="1" colSpan="1" >`backgroundURL`</td>
|
|
339
|
-
|
|
340
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
341
|
-
|
|
342
|
-
<td rowspan="1" colSpan="1" >选填</td>
|
|
343
|
-
|
|
344
|
-
<td rowspan="1" colSpan="1" >直播间的背景图片地址。</td>
|
|
345
|
-
</tr>
|
|
346
|
-
|
|
347
|
-
<tr>
|
|
348
|
-
<td rowspan="1" colSpan="1" >`categoryList`</td>
|
|
349
|
-
|
|
350
|
-
<td rowspan="1" colSpan="1" >`[NSNumber]`</td>
|
|
351
|
-
|
|
352
|
-
<td rowspan="1" colSpan="1" >选填</td>
|
|
353
|
-
|
|
354
|
-
<td rowspan="1" colSpan="1" >直播间的分类标签列表。</td>
|
|
355
|
-
</tr>
|
|
356
|
-
|
|
357
|
-
<tr>
|
|
358
|
-
<td rowspan="1" colSpan="1" >`activityStatus`</td>
|
|
359
|
-
|
|
360
|
-
<td rowspan="1" colSpan="1" >`Int`</td>
|
|
361
|
-
|
|
362
|
-
<td rowspan="1" colSpan="1" >选填</td>
|
|
363
|
-
|
|
364
|
-
<td rowspan="1" colSpan="1" >直播活动状态。</td>
|
|
365
|
-
</tr>
|
|
366
|
-
|
|
367
|
-
<tr>
|
|
368
|
-
<td rowspan="1" colSpan="1" >`isGiftEnabled`</td>
|
|
369
|
-
|
|
370
|
-
<td rowspan="1" colSpan="1" >`Bool`</td>
|
|
371
|
-
|
|
372
|
-
<td rowspan="1" colSpan="1" >选填</td>
|
|
373
|
-
|
|
374
|
-
<td rowspan="1" colSpan="1" >是否启用礼物功能(`true`:是,`false`:否)。</td>
|
|
375
|
-
</tr>
|
|
376
|
-
</table>
|
|
174
|
+
| **参数名** | **类型** | **属性** | **描述** |
|
|
175
|
+
| --- | --- | --- | --- |
|
|
176
|
+
| `liveID` | `String` | 必填 | 直播间的唯一标识符。 |
|
|
177
|
+
| `liveName` | `String` | 选填 | 直播间的标题。 |
|
|
178
|
+
| `notice` | `String` | 选填 | 直播间的公告信息。 |
|
|
179
|
+
| `isMessageDisable` | `Bool` | 选填 | 是否禁言(`true`:是,`false`:否)。 |
|
|
180
|
+
| `isPublicVisible` | `Bool` | 选填 | 是否公开可见(`true`:是,`false`:否)。 |
|
|
181
|
+
| `seatMode` | `TakeSeatMode` | 选填 | 上麦模式(`.free`:自由上麦,`.apply`:申请上麦)。 |
|
|
182
|
+
| `seatTemplate` | SeatLayoutTemplate | 必填 | 麦位布局模板。 |
|
|
183
|
+
| `coverURL` | `String` | 选填 | 直播间的封面图片地址。 |
|
|
184
|
+
| `backgroundURL` | `String` | 选填 | 直播间的背景图片地址。 |
|
|
185
|
+
| `categoryList` | `[NSNumber]` | 选填 | 直播间的分类标签列表。 |
|
|
186
|
+
| `activityStatus` | `Int` | 选填 | 直播活动状态。 |
|
|
187
|
+
| `isGiftEnabled` | `Bool` | 选填 | 是否启用礼物功能(`true`:是,`false`:否)。 |
|
|
377
188
|
|
|
378
189
|
4. **结束直播**
|
|
379
190
|
|
|
380
|
-
|
|
381
191
|
直播结束后,主播可以调用 **LiveListStore** 的 `endLive` 接口结束直播。SDK 会处理停止推流和销毁房间的逻辑。
|
|
382
192
|
|
|
383
193
|
``` swift
|
|
384
194
|
import AtomicXCore
|
|
385
|
-
|
|
195
|
+
|
|
386
196
|
// YourAnchorViewController 代表您的主播开播视图控制器
|
|
387
197
|
class YourAnchorViewController: UIViewController {
|
|
388
|
-
|
|
198
|
+
|
|
389
199
|
// ... 其他代码 ...
|
|
390
|
-
|
|
200
|
+
|
|
391
201
|
// 结束直播
|
|
392
202
|
private func stopLive() {
|
|
393
203
|
LiveListStore.shared.endLive { [weak self] result in
|
|
@@ -407,69 +217,64 @@ func application(_ application: UIApplication, didFinishLaunchingWithOptions lau
|
|
|
407
217
|
|
|
408
218
|
观众观看流程如下,通过简单几步操作,即可实现观众观看直播。
|
|
409
219
|
|
|
410
|
-

|
|
411
|
-
|
|
412
|
-
|
|
413
220
|
> **提示:**
|
|
414
|
-
>
|
|
221
|
+
>
|
|
415
222
|
|
|
416
223
|
> 观众进房拉流的业务代码,您也可以参考 TUILiveKit 开源项目中的 [TUILiveRoomAudienceViewController.swift](https://github.com/Tencent-RTC/TUIKit_iOS/blob/main/live/Sources/LiveStream/TUILiveRoomAudienceViewController.swift) 文件来了解完整的实现逻辑。
|
|
417
|
-
>
|
|
224
|
+
>
|
|
418
225
|
|
|
419
226
|
1. **实现观众拉流页面**
|
|
420
227
|
|
|
421
|
-
|
|
422
228
|
在您的观众视图控制器中,创建 `LiveCoreView` 实例,并将 `viewType` 指定为 `.playView`(拉流视图)。
|
|
423
229
|
|
|
424
230
|
``` swift
|
|
425
231
|
import AtomicXCore
|
|
426
|
-
|
|
232
|
+
|
|
427
233
|
// YourAudienceViewController 代表您的观众观看视图控制器
|
|
428
234
|
class YourAudienceViewController: UIViewController {
|
|
429
|
-
|
|
235
|
+
|
|
430
236
|
// 1. 初始化观众拉流页面
|
|
431
237
|
private let coreView = LiveCoreView(viewType:.playView, frame: UIScreen.main.bounds)
|
|
432
238
|
private let liveId: String
|
|
433
|
-
|
|
239
|
+
|
|
434
240
|
public init(liveId: String) {
|
|
435
241
|
self.liveId = liveId
|
|
436
242
|
super.init(nibName: nil, bundle: nil)
|
|
437
243
|
// 2. 绑定直播 id
|
|
438
244
|
self.coreView.setLiveID(liveId)
|
|
439
245
|
}
|
|
440
|
-
|
|
246
|
+
|
|
441
247
|
required init?(coder: NSCoder) {
|
|
442
248
|
fatalError("init(coder:) has not been implemented")
|
|
443
249
|
}
|
|
444
|
-
|
|
250
|
+
|
|
445
251
|
public override func viewDidLoad() {
|
|
446
252
|
super.viewDidLoad()
|
|
447
253
|
// 3. 将主播推流页面加载到您的视图上
|
|
448
254
|
view.addSubview(coreView)
|
|
449
255
|
}
|
|
450
|
-
}
|
|
256
|
+
}
|
|
451
257
|
```
|
|
452
258
|
2. **进入直播间观看**
|
|
453
259
|
|
|
454
|
-
|
|
455
260
|
通过调用 **LiveListStore** 的 `joinLive` 接口加入直播,**您无需做额外操作,LiveCoreView 会自动播放当前房间的视频流**,完整示例代码如下:
|
|
456
261
|
|
|
457
262
|
``` swift
|
|
458
263
|
import AtomicXCore
|
|
459
|
-
|
|
264
|
+
|
|
460
265
|
// YourAudienceViewController 代表您的观众观看视图控制器
|
|
461
266
|
class YourAudienceViewController: UIViewController {
|
|
462
267
|
// ... 其他代码 ...
|
|
463
|
-
|
|
268
|
+
|
|
464
269
|
public override func viewDidLoad() {
|
|
465
270
|
super.viewDidLoad()
|
|
466
271
|
// 3. 将主播推流页面加载到您的视图上
|
|
467
272
|
view.addSubview(coreView)
|
|
468
|
-
|
|
273
|
+
|
|
469
274
|
// 4. 进入直播间
|
|
470
275
|
joinLive()
|
|
471
276
|
}
|
|
472
|
-
|
|
277
|
+
|
|
473
278
|
private func joinLive() {
|
|
474
279
|
// 调用 LiveListStore.shared.joinLive 进入直播间
|
|
475
280
|
// - liveId: 与主播开播同样的 liveId
|
|
@@ -489,17 +294,16 @@ func application(_ application: UIApplication, didFinishLaunchingWithOptions lau
|
|
|
489
294
|
```
|
|
490
295
|
3. **退出直播**
|
|
491
296
|
|
|
492
|
-
|
|
493
297
|
观众退出直播间时,需要调用 **LiveListStore** 的 `leaveLive` 接口退出直播。SDK 会自动停止拉流并退出房间。
|
|
494
298
|
|
|
495
299
|
``` swift
|
|
496
300
|
import AtomicXCore
|
|
497
|
-
|
|
301
|
+
|
|
498
302
|
// YourAudienceViewController 代表您的观众观看视图控制器
|
|
499
303
|
class YourAudienceViewController: UIViewController {
|
|
500
|
-
|
|
304
|
+
|
|
501
305
|
// ... 其他代码 ...
|
|
502
|
-
|
|
306
|
+
|
|
503
307
|
// 退出直播
|
|
504
308
|
private func leaveLive() {
|
|
505
309
|
LiveListStore.shared.leaveLive { [weak self] result in
|
|
@@ -526,12 +330,12 @@ import Combine // 1. 导入 Combine 框架
|
|
|
526
330
|
|
|
527
331
|
// YourAudienceViewController 代表您的观众观看视图控制器
|
|
528
332
|
class YourAudienceViewController: UIViewController {
|
|
529
|
-
|
|
333
|
+
|
|
530
334
|
// ... 其他代码 (coreView, liveId, init, deinit, joinLive, leaveLive等) ...
|
|
531
335
|
|
|
532
336
|
// 2. 定义 cancellableSet 来管理订阅生命周期
|
|
533
337
|
private var cancellableSet: Set<AnyCancellable> = []
|
|
534
|
-
|
|
338
|
+
|
|
535
339
|
public override func viewDidLoad() {
|
|
536
340
|
super.viewDidLoad()
|
|
537
341
|
view.addSubview(coreView)
|
|
@@ -562,228 +366,45 @@ class YourAudienceViewController: UIViewController {
|
|
|
562
366
|
}
|
|
563
367
|
.store(in: &cancellableSet) // 管理订阅
|
|
564
368
|
}
|
|
565
|
-
|
|
369
|
+
|
|
566
370
|
// ... joinLive() 和 leaveLive() 方法 ...
|
|
567
371
|
}
|
|
568
372
|
```
|
|
569
373
|
|
|
570
374
|
### 运行效果
|
|
571
375
|
|
|
572
|
-
集成 **LiveCoreView** 后,您将得到一个纯净的视频渲染视图,它已具备完整的直播业务能力,但没有任何交互 UI。您可以参考下一章节
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
<td rowspan="1" colSpan="1" >**浮动小窗布局**</td>
|
|
580
|
-
|
|
581
|
-
<td rowspan="1" colSpan="1" >**固定宫格布局**</td>
|
|
582
|
-
|
|
583
|
-
<td rowspan="1" colSpan="1" >**固定小窗布局**</td>
|
|
584
|
-
</tr>
|
|
585
|
-
|
|
586
|
-
<tr>
|
|
587
|
-
<td rowspan="1" colSpan="1" >**模板 ID**</td>
|
|
588
|
-
|
|
589
|
-
<td rowspan="1" colSpan="1" >600</td>
|
|
590
|
-
|
|
591
|
-
<td rowspan="1" colSpan="1" >601</td>
|
|
592
|
-
|
|
593
|
-
<td rowspan="1" colSpan="1" >800</td>
|
|
594
|
-
|
|
595
|
-
<td rowspan="1" colSpan="1" >801</td>
|
|
596
|
-
</tr>
|
|
597
|
-
|
|
598
|
-
<tr>
|
|
599
|
-
<td rowspan="1" colSpan="1" >**描述**</td>
|
|
600
|
-
|
|
601
|
-
<td rowspan="1" colSpan="1" >默认布局,可根据连麦人数动态调整宫格大小。</td>
|
|
602
|
-
|
|
603
|
-
<td rowspan="1" colSpan="1" >连麦嘉宾以浮动小窗形式显示。</td>
|
|
604
|
-
|
|
605
|
-
<td rowspan="1" colSpan="1" >连麦人数固定,每个嘉宾占据一个固定宫格。</td>
|
|
606
|
-
|
|
607
|
-
<td rowspan="1" colSpan="1" >连麦人数固定,嘉宾以固定小窗形式显示。</td>
|
|
608
|
-
</tr>
|
|
609
|
-
|
|
610
|
-
<tr>
|
|
611
|
-
<td rowspan="1" colSpan="1" >**运行效果**</td>
|
|
612
|
-
|
|
613
|
-
<td rowspan="1" colSpan="1" ></td>
|
|
614
|
-
|
|
615
|
-
<td rowspan="1" colSpan="1" ></td>
|
|
616
|
-
|
|
617
|
-
<td rowspan="1" colSpan="1" ></td>
|
|
618
|
-
|
|
619
|
-
<td rowspan="1" colSpan="1" ></td>
|
|
620
|
-
</tr>
|
|
621
|
-
</table>
|
|
622
|
-
|
|
376
|
+
集成 **LiveCoreView** 后,您将得到一个纯净的视频渲染视图,它已具备完整的直播业务能力,但没有任何交互 UI。您可以参考下一章节 丰富直播场景 来完善直播场景。
|
|
377
|
+
| | **动态宫格布局** | **浮动小窗布局** | **固定宫格布局** | **固定小窗布局** |
|
|
378
|
+
| --- | --- | --- | --- | --- |
|
|
379
|
+
| **模板取值** | .videoDynamicGrid9Seats | .videoDynamicFloat7Seats | .videoFixedGrid9Seats | .videoFixedFloat7Seats |
|
|
380
|
+
| **描述** | 默认布局,可根据连麦人数动态调整宫格大小。 | 连麦嘉宾以浮动小窗形式显示。 | 连麦人数固定,每个嘉宾占据一个固定宫格。 | 连麦人数固定,嘉宾以固定小窗形式显示。 |
|
|
381
|
+
| **运行效果** | | | | |
|
|
623
382
|
|
|
624
383
|
## 丰富直播场景
|
|
625
384
|
|
|
626
385
|
当您完成了基础的直播功能后,您可以参考以下功能指南来为直播添加丰富的互动玩法。
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
<td rowspan="1" colSpan="1" >**功能 Stores**</td>
|
|
634
|
-
|
|
635
|
-
<td rowspan="1" colSpan="1" >**实现指南**</td>
|
|
636
|
-
</tr>
|
|
637
|
-
|
|
638
|
-
<tr>
|
|
639
|
-
<td rowspan="1" colSpan="1" >**实现观众音视频连线**</td>
|
|
640
|
-
|
|
641
|
-
<td rowspan="1" colSpan="1" >观众申请上麦,与主播进行实时视频互动。</td>
|
|
642
|
-
|
|
643
|
-
<td rowspan="1" colSpan="1" >[CoGuestStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/cogueststore)</td>
|
|
644
|
-
|
|
645
|
-
<td rowspan="1" colSpan="1" >[实现观众连线](https://write.woa.com/document/191126698271952896)</td>
|
|
646
|
-
</tr>
|
|
647
|
-
|
|
648
|
-
<tr>
|
|
649
|
-
<td rowspan="1" colSpan="1" >**实现主播跨房连线 PK**</td>
|
|
650
|
-
|
|
651
|
-
<td rowspan="1" colSpan="1" >两个不同房间的主播进行连线,实现互动或 PK。</td>
|
|
652
|
-
|
|
653
|
-
<td rowspan="1" colSpan="1" >[CoHostStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/cohoststore)<br>[BattleStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/battlestore)</td>
|
|
654
|
-
|
|
655
|
-
<td rowspan="1" colSpan="1" >[实现主播连线 PK](https://write.woa.com/document/191126550284738560)</td>
|
|
656
|
-
</tr>
|
|
657
|
-
|
|
658
|
-
<tr>
|
|
659
|
-
<td rowspan="1" colSpan="1" >**添加弹幕聊天功能**</td>
|
|
660
|
-
|
|
661
|
-
<td rowspan="1" colSpan="1" >观众可以在直播间发送和接收实时文字消息。</td>
|
|
662
|
-
|
|
663
|
-
<td rowspan="1" colSpan="1" >[BarrageStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/barragestore)</td>
|
|
664
|
-
|
|
665
|
-
<td rowspan="1" colSpan="1" >[实现弹幕功能](https://write.woa.com/document/191126786270978048)</td>
|
|
666
|
-
</tr>
|
|
667
|
-
|
|
668
|
-
<tr>
|
|
669
|
-
<td rowspan="1" colSpan="1" >**构建礼物赠送系统**</td>
|
|
670
|
-
|
|
671
|
-
<td rowspan="1" colSpan="1" >观众可以向主播赠送虚拟礼物,增加互动和趣味性。</td>
|
|
672
|
-
|
|
673
|
-
<td rowspan="1" colSpan="1" >[GiftStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/giftstore)</td>
|
|
674
|
-
|
|
675
|
-
<td rowspan="1" colSpan="1" >[实现礼物功能](https://write.woa.com/document/191127003187093504)</td>
|
|
676
|
-
</tr>
|
|
677
|
-
</table>
|
|
678
|
-
|
|
386
|
+
| **直播功能** | **功能介绍** | **功能 Stores** | **实现指南** |
|
|
387
|
+
| --- | --- | --- | --- |
|
|
388
|
+
| **实现观众音视频连线** | 观众申请上麦,与主播进行实时视频互动。 | [CoGuestStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/cogueststore) | 实现观众连线 |
|
|
389
|
+
| **实现主播跨房连线 PK** | 两个不同房间的主播进行连线,实现互动或 PK。 | [CoHostStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/cohoststore)<br>[BattleStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/battlestore) | 实现主播连线 PK |
|
|
390
|
+
| **添加弹幕聊天功能** | 观众可以在直播间发送和接收实时文字消息。 | [BarrageStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/barragestore) | 实现弹幕功能 |
|
|
391
|
+
| **构建礼物赠送系统** | 观众可以向主播赠送虚拟礼物,增加互动和趣味性。 | [GiftStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/giftstore) | 实现礼物功能 |
|
|
679
392
|
|
|
680
393
|
## API 文档
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
<td rowspan="1" colSpan="1" >[API 文档](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/livecoreview)</td>
|
|
696
|
-
</tr>
|
|
697
|
-
|
|
698
|
-
<tr>
|
|
699
|
-
<td rowspan="1" colSpan="1" >**LiveListStore**</td>
|
|
700
|
-
|
|
701
|
-
<td rowspan="1" colSpan="1" >直播间全生命周期管理:创建 / 加入 / 离开 / 销毁房间,查询房间列表,修改直播信息(名称、公告等),监听直播状态(如被踢出、结束)。</td>
|
|
702
|
-
|
|
703
|
-
<td rowspan="1" colSpan="1" >[API 文档](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/liveliststore)</td>
|
|
704
|
-
</tr>
|
|
705
|
-
|
|
706
|
-
<tr>
|
|
707
|
-
<td rowspan="1" colSpan="1" >**DeviceStore**</td>
|
|
708
|
-
|
|
709
|
-
<td rowspan="1" colSpan="1" >音视频设备控制:麦克风(开关 / 音量)、摄像头(开关 / 切换 / 画质)、屏幕共享,设备状态实时监听。</td>
|
|
710
|
-
|
|
711
|
-
<td rowspan="1" colSpan="1" >[API 文档](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/devicestore)</td>
|
|
712
|
-
</tr>
|
|
713
|
-
|
|
714
|
-
<tr>
|
|
715
|
-
<td rowspan="1" colSpan="1" >**CoGuestStore**</td>
|
|
716
|
-
|
|
717
|
-
<td rowspan="1" colSpan="1" >观众连麦管理:连麦申请 / 邀请 / 同意 / 拒绝,连麦成员权限控制(麦克风 / 摄像头),状态同步。</td>
|
|
718
|
-
|
|
719
|
-
<td rowspan="1" colSpan="1" >[API 文档](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/cogueststore)</td>
|
|
720
|
-
</tr>
|
|
721
|
-
|
|
722
|
-
<tr>
|
|
723
|
-
<td rowspan="1" colSpan="1" >**CoHostStore**</td>
|
|
724
|
-
|
|
725
|
-
<td rowspan="1" colSpan="1" >主播跨房连线:支持多布局模板(动态网格等),发起 / 接受 / 拒绝连线,连麦主播互动管理。</td>
|
|
726
|
-
|
|
727
|
-
<td rowspan="1" colSpan="1" >[API 文档](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/cohoststore)</td>
|
|
728
|
-
</tr>
|
|
729
|
-
|
|
730
|
-
<tr>
|
|
731
|
-
<td rowspan="1" colSpan="1" >**BattleStore**</td>
|
|
732
|
-
|
|
733
|
-
<td rowspan="1" colSpan="1" >主播 PK 对战:发起 PK(配置时长 / 对手),管理 PK 状态(开始 / 结束),同步分数,监听对战结果。</td>
|
|
734
|
-
|
|
735
|
-
<td rowspan="1" colSpan="1" >[API 文档](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/battlestore)</td>
|
|
736
|
-
</tr>
|
|
737
|
-
|
|
738
|
-
<tr>
|
|
739
|
-
<td rowspan="1" colSpan="1" >**GiftStore**</td>
|
|
740
|
-
|
|
741
|
-
<td rowspan="1" colSpan="1" >礼物互动:获取礼物列表,发送 / 接收礼物,监听礼物事件(含发送者、礼物详情)。</td>
|
|
742
|
-
|
|
743
|
-
<td rowspan="1" colSpan="1" >[API 文档](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/giftstore)</td>
|
|
744
|
-
</tr>
|
|
745
|
-
|
|
746
|
-
<tr>
|
|
747
|
-
<td rowspan="1" colSpan="1" >**BarrageStore**</td>
|
|
748
|
-
|
|
749
|
-
<td rowspan="1" colSpan="1" >弹幕功能:发送文本 / 自定义弹幕,维护弹幕列表,实时监听弹幕状态。</td>
|
|
750
|
-
|
|
751
|
-
<td rowspan="1" colSpan="1" >[API 文档](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/barragestore)</td>
|
|
752
|
-
</tr>
|
|
753
|
-
|
|
754
|
-
<tr>
|
|
755
|
-
<td rowspan="1" colSpan="1" >**LikeStore**</td>
|
|
756
|
-
|
|
757
|
-
<td rowspan="1" colSpan="1" >点赞互动:发送点赞,监听点赞事件,同步总点赞数。</td>
|
|
758
|
-
|
|
759
|
-
<td rowspan="1" colSpan="1" >[API 文档](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/likestore)</td>
|
|
760
|
-
</tr>
|
|
761
|
-
|
|
762
|
-
<tr>
|
|
763
|
-
<td rowspan="1" colSpan="1" >**LiveAudienceStore**</td>
|
|
764
|
-
|
|
765
|
-
<td rowspan="1" colSpan="1" >观众管理:获取实时观众列表(ID / 名称 / 头像),统计观众数量,监听观众进出事件。</td>
|
|
766
|
-
|
|
767
|
-
<td rowspan="1" colSpan="1" >[API 文档](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/liveaudiencestore)</td>
|
|
768
|
-
</tr>
|
|
769
|
-
|
|
770
|
-
<tr>
|
|
771
|
-
<td rowspan="1" colSpan="1" >**AudioEffectStore**</td>
|
|
772
|
-
|
|
773
|
-
<td rowspan="1" colSpan="1" >音频特效:变声(童声 / 男声)、混响(KTV 等)、耳返调节,实时切换特效。</td>
|
|
774
|
-
|
|
775
|
-
<td rowspan="1" colSpan="1" >[API 文档](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/audioeffectstore)</td>
|
|
776
|
-
</tr>
|
|
777
|
-
|
|
778
|
-
<tr>
|
|
779
|
-
<td rowspan="1" colSpan="1" >**BaseBeautyStore**</td>
|
|
780
|
-
|
|
781
|
-
<td rowspan="1" colSpan="1" >基础美颜:调节磨皮 / 美白 / 红润(0-100 级),重置美颜状态,同步效果参数。</td>
|
|
782
|
-
|
|
783
|
-
<td rowspan="1" colSpan="1" >[API 文档](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/basebeautystore)</td>
|
|
784
|
-
</tr>
|
|
785
|
-
</table>
|
|
786
|
-
|
|
394
|
+
| **Store/Component** | **功能描述** | **API 文档** |
|
|
395
|
+
| --- | --- | --- |
|
|
396
|
+
| **LiveCoreView** | 直播视频流展示与交互的核心视图组件:负责视频流渲染和视图挂件处理,支持主播直播、观众连麦、主播连线等场景。 | [API 文档](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/livecoreview) |
|
|
397
|
+
| **LiveListStore** | 直播间全生命周期管理:创建 / 加入 / 离开 / 销毁房间,查询房间列表,修改直播信息(名称、公告等),监听直播状态(例如被踢出、结束)。 | [API 文档](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/liveliststore) |
|
|
398
|
+
| **DeviceStore** | 音视频设备控制:麦克风(开关 / 音量)、摄像头(开关 / 切换 / 画质)、屏幕共享,设备状态实时监听。 | [API 文档](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/devicestore) |
|
|
399
|
+
| **CoGuestStore** | 观众连麦管理:连麦申请 / 邀请 / 同意 / 拒绝,连麦成员权限控制(麦克风 / 摄像头),状态同步。 | [API 文档](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/cogueststore) |
|
|
400
|
+
| **CoHostStore** | 主播跨房连线:支持多布局模板(动态网格等),发起 / 接受 / 拒绝连线,连麦主播互动管理。 | [API 文档](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/cohoststore) |
|
|
401
|
+
| **BattleStore** | 主播 PK 对战:发起 PK(配置时长 / 对手),管理 PK 状态(开始 / 结束),同步分数,监听对战结果。 | [API 文档](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/battlestore) |
|
|
402
|
+
| **GiftStore** | 礼物互动:获取礼物列表,发送 / 接收礼物,监听礼物事件(含发送者、礼物详情)。 | [API 文档](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/giftstore) |
|
|
403
|
+
| **BarrageStore** | 弹幕功能:发送文本 / 自定义弹幕,维护弹幕列表,实时监听弹幕状态。 | [API 文档](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/barragestore) |
|
|
404
|
+
| **LikeStore** | 点赞互动:发送点赞,监听点赞事件,同步总点赞数。 | [API 文档](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/likestore) |
|
|
405
|
+
| **LiveAudienceStore** | 观众管理:获取实时观众列表(ID / 名称 / 头像),统计观众数量,监听观众进出事件。 | [API 文档](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/liveaudiencestore) |
|
|
406
|
+
| **AudioEffectStore** | 音频特效:变声(童声 / 男声)、混响(KTV 等)、耳返调节,实时切换特效。 | [API 文档](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/audioeffectstore) |
|
|
407
|
+
| **BaseBeautyStore** | 基础美颜:调节磨皮 / 美白 / 红润(0-100 级),重置美颜状态,同步效果参数。 | [API 文档](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/basebeautystore) |
|
|
787
408
|
|
|
788
409
|
## 常见问题
|
|
789
410
|
|
|
@@ -796,13 +417,11 @@ class YourAudienceViewController: UIViewController {
|
|
|
796
417
|
|
|
797
418
|
- **检查网络**:请检查设备网络连接是否正常。
|
|
798
419
|
|
|
799
|
-
|
|
800
420
|
### 主播端打开摄像头后,开播后可以看到本地视频预览画面,开播前视频预览是黑屏?
|
|
801
|
-
- **检查主播端**:请检查主播推流视图`LiveCoreView` 的 `viewType
|
|
421
|
+
- **检查主播端**:请检查主播推流视图`LiveCoreView` 的 `viewType`是否配置为 `.pushView`。
|
|
802
422
|
|
|
803
423
|
- **检查观众端**:请检查观众拉流视图`LiveCoreView` 的 `viewType`是否配置为 `.playView`。
|
|
804
424
|
|
|
805
|
-
|
|
806
425
|
### rsync 因权限不足导致依赖三方库资源拷贝失败
|
|
807
426
|
|
|
808
427
|
例如在使用 Xcode 集成 SnapKit 框架进行开发时,可能会遇到如下编译报错:
|
|
@@ -818,5 +437,3 @@ Xcode 的用户**脚本沙盒机制**限制了构建过程中 `rsync` 脚本对
|
|
|
818
437
|
1. 关闭用户脚本沙盒后,打开 Xcode 项目,进入项目的 **Build Settings**,搜索 `User Script Sandboxing`(或标识 `ENABLE_USER_SCRIPT_SANDBOXING`),将其值从 `YES` 修改为 `NO`。
|
|
819
438
|
|
|
820
439
|
2. 清理并重新构建项目执行 **Product → Clean Build Folder** 清理项目缓存,然后重新编译运行即可。
|
|
821
|
-
|
|
822
|
-
|