diff --git a/assets/code/video-sdk/ai-noise-suppression/enable-denoiser.mdx b/assets/code/video-sdk/ai-noise-suppression/enable-denoiser.mdx index 9ec46f0ae..f28d97f91 100644 --- a/assets/code/video-sdk/ai-noise-suppression/enable-denoiser.mdx +++ b/assets/code/video-sdk/ai-noise-suppression/enable-denoiser.mdx @@ -63,4 +63,12 @@ - AUDIO_AINS_MODE + + + Enable AI noise suppression when you configure the engine. + + ```csharp + agoraEngine.SetAINSMode(true, AUDIO_AINS_MODE.AINS_MODE_AGGRESSIVE); + ``` + * setAINSMode \ No newline at end of file diff --git a/assets/code/video-sdk/ai-noise-suppression/import-library.mdx b/assets/code/video-sdk/ai-noise-suppression/import-library.mdx index 835062d3c..6f4a1c2e5 100644 --- a/assets/code/video-sdk/ai-noise-suppression/import-library.mdx +++ b/assets/code/video-sdk/ai-noise-suppression/import-library.mdx @@ -16,3 +16,8 @@ import { useConnectionState } from 'agora-rtc-react'; import { useAgoraContext } from "../agora-manager/agoraManager"; ``` + +```csharp +using Agora.Rtc; +``` + diff --git a/assets/code/video-sdk/get-started-sdk/create-engine.mdx b/assets/code/video-sdk/get-started-sdk/create-engine.mdx index 7907ae8fb..70089b8ec 100644 --- a/assets/code/video-sdk/get-started-sdk/create-engine.mdx +++ b/assets/code/video-sdk/get-started-sdk/create-engine.mdx @@ -217,3 +217,50 @@ - AgoraRTCProvider + + + + ```cpp + void AgoraManager::setupVideoSDKEngine() + { + // Check if the engine initialized successfully. + agoraEngine = createAgoraRtcEngine(); + if (!agoraEngine) + { + return; + } + AgoraEventStrategy->SetMsgReceiver(gui->getGuiWindowReference()); + + // Create an instance of RtcEngineContext to initialize the engine. + RtcEngineContext context; + // Pass your app ID to the context. + context.appId = appId.c_str(); + // Pass an object of agoraEventHandler class to receive callbacks. + context.eventHandler = AgoraEventStrategy.get(); + // Set channel profile in the engine to the CHANNEL_PROFILE_LIVE_BROADCASTING. + context.channelProfile = CHANNEL_PROFILE_LIVE_BROADCASTING; + // Initialize the engine using the context variable. + agoraEngine->initialize(context); + // Set the user role to Host. + agoraEngine->setClientRole(CLIENT_ROLE_TYPE::CLIENT_ROLE_BROADCASTER); + + // Enable the microphone to create the local audio stream. + agoraEngine->enableAudio(); + // Enable the local video capturer. + agoraEngine->enableVideo(); + } + ``` + - createAgoraRtcEngine + + - initialize + + - setClientRole + + - enableVideo + + - enableAudio + + + + + diff --git a/assets/code/video-sdk/get-started-sdk/declare-variables.mdx b/assets/code/video-sdk/get-started-sdk/declare-variables.mdx index 5afee930b..99715bb57 100644 --- a/assets/code/video-sdk/get-started-sdk/declare-variables.mdx +++ b/assets/code/video-sdk/get-started-sdk/declare-variables.mdx @@ -124,3 +124,17 @@ const [joined, setJoined] = useState(false); ``` + + + ```cpp + IRtcEngine* agoraEngine = nullptr; + std::string appId = ""; + std::string channelName = ""; + std::string token = ""; + u_int remoteUId; + std::shared_ptr AgoraEventStrategy; + int tokenRole = 1; // The token role: Broadcaster or Audience + uid_t uid = 1; // An integer that identifies the user + ``` + + diff --git a/assets/code/video-sdk/get-started-sdk/handle-events.mdx b/assets/code/video-sdk/get-started-sdk/handle-events.mdx index b039ece01..fd439a2cc 100644 --- a/assets/code/video-sdk/get-started-sdk/handle-events.mdx +++ b/assets/code/video-sdk/get-started-sdk/handle-events.mdx @@ -345,3 +345,63 @@ func rtcEngine(_ engine: AgoraRtcEngineKit, didOfflineOfUid uid: UInt, reason: A ``` + + + You use `IRtcEngineEventHandler` to implement callback functions. + + ```cpp + class AgoraManagerEventHandler : public IRtcEngineEventHandler + { + public: + // Set the message notify window handler + void SetMsgReceiver(HWND hWnd) { m_hMsgHandler = hWnd; } + + virtual HWND getMsgEventHandler() { return m_hMsgHandler; } + virtual void onJoinChannelSuccess(const char* channel, uid_t uid, int elapsed) override; + virtual void onUserJoined(uid_t uid, int elapsed) override; + virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason) override; + virtual void onLeaveChannel(const RtcStats& stats) override; + virtual void onTokenPrivilegeWillExpire(const char* token) override; + public: + HWND m_hMsgHandler; + }; + ``` + + Provide definitions for the callbacks you declare in `AgoraEventHandler`. + + ```cpp + void AgoraManagerEventHandler::onJoinChannelSuccess(const char* channel, uid_t uid, int elapsed) + { + // Occurs when you join a channel. + } + + void AgoraManagerEventHandler::onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason) + { + // Occurs when the remote user drops offline or leave the channel. + MessageBox(NULL, L"Remote user Leave the channel", L"Notification", NULL); + + } + void AgoraManagerEventHandler::onLeaveChannel(const RtcStats& stats) + { + // Occurs when you leave a channel. + MessageBox(NULL, L"You left the channel", L"Notification", NULL); + } + + void AgoraManagerEventHandler::onUserJoined(uid_t uid, int elapsed) + { + HWND MsgEventHandler = getMsgEventHandler(); + // Send a notification to AgoraManager class to setup a remote video view. + if (MsgEventHandler) + { + ::PostMessage(MsgEventHandler, WM_MSGID(EID_USER_JOINED), (WPARAM)uid, (LPARAM)elapsed); + } + + } + ``` + + - IRtcEngineEventHandler + - onJoinChannelSuccess + - onUserOffline + - onLeaveChannel + + \ No newline at end of file diff --git a/assets/code/video-sdk/get-started-sdk/import-library.mdx b/assets/code/video-sdk/get-started-sdk/import-library.mdx index e4bca08bb..097a5a24b 100644 --- a/assets/code/video-sdk/get-started-sdk/import-library.mdx +++ b/assets/code/video-sdk/get-started-sdk/import-library.mdx @@ -48,4 +48,29 @@ } from "agora-rtc-react"; import { IMicrophoneAudioTrack, ICameraVideoTrack } from "agora-rtc-sdk-ng"; ``` + + + + From **Solution Explorer**, open the `pch.h` file and add the following lines after `#include "framework.h"`: + + ```cpp + #ifndef PCH_H + #define PCH_H + #define _AFX_ALL_WARNINGS + #include + // For handling config.json for user input + #include + #include + #include + #pragma comment(lib, "agora_rtc_sdk.dll.lib") + #pragma comment(lib, "libagora_segmentation_extension.dll.lib") + #pragma comment(lib, "libagora-ffmpeg.dll.lib") + using namespace agora; + using namespace agora::rtc; + using namespace agora::media; + #define WM_MSGID(code) (WM_USER+0x200+code) + #define EID_USER_JOINED 0x00000003 + #define EID_TOKEN_PRIVILEGE_WILL_EXPIRE 0x00000023 + #endif //PCH_H + ``` \ No newline at end of file diff --git a/assets/code/video-sdk/get-started-sdk/join-channel.mdx b/assets/code/video-sdk/get-started-sdk/join-channel.mdx index 01aae9084..05bd49b61 100644 --- a/assets/code/video-sdk/get-started-sdk/join-channel.mdx +++ b/assets/code/video-sdk/get-started-sdk/join-channel.mdx @@ -363,3 +363,21 @@ func joinBroadcastStream( - useJoin + + + ```cpp + void AgoraManager::join() + { + + if (0 != agoraEngine->joinChannel(token.c_str(), channelName.c_str(), 0, NULL)) + { + MessageBox(NULL, L"AgoraManager::joinChannel() error.", L"Error!", MB_ICONEXCLAMATION | MB_OK); + return; + + } + } + ``` +- joinChannel + + + diff --git a/assets/code/video-sdk/get-started-sdk/leave-channel.mdx b/assets/code/video-sdk/get-started-sdk/leave-channel.mdx index c610a01a7..736c314da 100644 --- a/assets/code/video-sdk/get-started-sdk/leave-channel.mdx +++ b/assets/code/video-sdk/get-started-sdk/leave-channel.mdx @@ -117,4 +117,29 @@ - leave + + + ```cpp + void AgoraManager::leave() + { + // Leave the channel to end the call. + agoraEngine->leaveChannel(); + // Stop the local video preview. + agoraEngine->stopPreview(); + // Disable the local video capturer. + agoraEngine->disableVideo(); + // Disable the local microphone. + agoraEngine->disableAudio(); + } + ``` + + - leaveChannel + + - stopPreview + + - disableAudio + + - disableVideo + + diff --git a/assets/code/video-sdk/get-started-sdk/local-video.mdx b/assets/code/video-sdk/get-started-sdk/local-video.mdx index 53c9eb923..798c4fe19 100644 --- a/assets/code/video-sdk/get-started-sdk/local-video.mdx +++ b/assets/code/video-sdk/get-started-sdk/local-video.mdx @@ -100,3 +100,24 @@ ``` - LocalAudioTrack + + + ```cpp + // Setup a video canvas to render the local video. + VideoCanvas canvas; + // Assign the local user ID to canvas for identification. + canvas.uid = 1; + // Pass the local view window handle to canvas to render the local video. + canvas.view = gui->localView; + // Select a local video source. + canvas.sourceType = VIDEO_SOURCE_CAMERA; + // Render the local video. + agoraEngine->setupLocalVideo(canvas); + //agora::rtc::uid_t uid = this->uid; + // Preview the local video. + agoraEngine->startPreview(); + ``` + - setupLocalVideo + + - startPreview + diff --git a/assets/code/video-sdk/get-started-sdk/remote-video.mdx b/assets/code/video-sdk/get-started-sdk/remote-video.mdx index c1bb7c418..233b8619d 100644 --- a/assets/code/video-sdk/get-started-sdk/remote-video.mdx +++ b/assets/code/video-sdk/get-started-sdk/remote-video.mdx @@ -119,3 +119,35 @@ See [`AgoraVideoCanvasView`](https://github.com/AgoraIO/video-sdk-samples-macos/ ``` - RemoteVideoTrack + + + ```cpp + LRESULT AgoraManager::OnEIDUserJoined(WPARAM wParam, LPARAM lParam) + { + // Setup a video canvas to render the remote video. + VideoCanvas canvas; + // Choose a video render mode. + canvas.renderMode = media::base::RENDER_MODE_FIT; + // Assign the remote user ID to the canvas for identification. + canvas.uid = wParam; + // Pass the remote view window handle to canvas to render the remote video. + canvas.view = gui->remoteView; + // Render the remote video. + agoraEngine->setupRemoteVideo(canvas); + // Save the remote user ID for reuse. + remoteUId = wParam; + // Notify the parent window + HWND hwndParent = GetParent(gui->getGuiWindowReference()); + + if (hwndParent != NULL) + { + PostMessage(hwndParent, WM_MSGID(EID_USER_JOINED), TRUE, 0); + } + + return 0; + } + ``` + - onUserJoined + + - setupRemoteVideo + diff --git a/assets/code/video-sdk/product-workflow/override-broadcast-started.mdx b/assets/code/video-sdk/product-workflow/override-broadcast-started.mdx index a5c39395d..40c09d14b 100644 --- a/assets/code/video-sdk/product-workflow/override-broadcast-started.mdx +++ b/assets/code/video-sdk/product-workflow/override-broadcast-started.mdx @@ -22,28 +22,4 @@ ) } ``` - - - ```csharp - public void PublishScreenTrack() - { - // Publish the screen track - ChannelMediaOptions channelOptions = new ChannelMediaOptions(); - channelOptions.publishScreenTrack.SetValue(true); - channelOptions.publishMicrophoneTrack.SetValue(true); - channelOptions.publishSecondaryScreenTrack.SetValue(true); - channelOptions.publishCameraTrack.SetValue(false); - agoraEngine.UpdateChannelMediaOptions(channelOptions); - } - - public void UnPublishScreenTrack() - { - // Unpublish the screen track. - ChannelMediaOptions channelOptions = new ChannelMediaOptions(); - channelOptions.publishScreenTrack.SetValue(false); - channelOptions.publishCameraTrack.SetValue(true); - channelOptions.publishMicrophoneTrack.SetValue(true); - agoraEngine.UpdateChannelMediaOptions(channelOptions); - } - ``` \ No newline at end of file diff --git a/assets/code/video-sdk/product-workflow/screen-sharer-target.mdx b/assets/code/video-sdk/product-workflow/screen-sharer-target.mdx index fe663ed4d..367c0c910 100644 --- a/assets/code/video-sdk/product-workflow/screen-sharer-target.mdx +++ b/assets/code/video-sdk/product-workflow/screen-sharer-target.mdx @@ -21,56 +21,3 @@ } ``` - - ```csharp - private void StartScreenCaptureMobile(long sourceId) - { - // Configure screen capture parameters for Android. - var parameters2 = new ScreenCaptureParameters2(); - parameters2.captureAudio = true; - parameters2.captureVideo = true; - // Start screen sharing. - agoraEngine.StartScreenCapture(parameters2); - } - - private void StartScreenCaptureWindows(long sourceId) - { - // Configure screen capture parameters for Windows. - agoraEngine.StartScreenCaptureByDisplayId((uint)sourceId, default(Rectangle), - new ScreenCaptureParameters { captureMouseCursor = true, frameRate = 30 }); - } - // Share the screen - public void StartSharing() - { - if (agoraEngine == null) - { - Debug.Log("Join a channel to start screen sharing"); - return; - } - - // Get a list of shareable screens and windows. - var captureSources = GetScreenCaptureSources(); - - if (captureSources != null && captureSources.Length > 0) - { - var sourceId = captureSources[0].sourceId; - - // Start screen sharing based on platform. -#if UNITY_ANDROID || UNITY_IPHONE - StartScreenCaptureMobile(sourceId); -#else - StartScreenCaptureWindows(sourceId); -#endif - - // Publish the screen track. - PublishScreenTrack(); - } - else - { - Debug.LogWarning("No screen capture sources found."); - } - } - ``` - - StartScreenCaptureByDisplayId - - StartScreenCapture - diff --git a/assets/code/video-sdk/product-workflow/start-sharing.mdx b/assets/code/video-sdk/product-workflow/start-sharing.mdx index 60148fc13..23979c36c 100644 --- a/assets/code/video-sdk/product-workflow/start-sharing.mdx +++ b/assets/code/video-sdk/product-workflow/start-sharing.mdx @@ -58,7 +58,7 @@ 1. Start screen capture and share the screen ```csharp - private void StartScreenCaptureAndroid(long sourceId) + private void StartScreenCaptureMobile(long sourceId) { // Configure screen capture parameters for Android. var parameters2 = new ScreenCaptureParameters2(); @@ -92,7 +92,7 @@ // Start screen sharing based on platform. #if UNITY_ANDROID || UNITY_IPHONE - StartScreenCaptureAndroid(sourceId); + StartScreenCaptureMobile(sourceId); #else StartScreenCaptureWindows(sourceId); #endif diff --git a/shared/common/project-setup/windows.mdx b/shared/common/project-setup/windows.mdx index dd29a6287..4a8d55a34 100644 --- a/shared/common/project-setup/windows.mdx +++ b/shared/common/project-setup/windows.mdx @@ -18,15 +18,26 @@ ```bash git clone https://github.com/Microsoft/vcpkg.git cd vcpkg - \bootstrap-vcpkg.bat + .\bootstrap-vcpkg.bat ``` - 1. Install required packages : + 1. Install required packages : + + Make sure you install x64-windows version of the libraries. - Install vcpkag packages as per the project need.Please note we need to install x64-windows version of libreraries, as this sample is 64-bit version of Windows. ```bash .\vcpkg.exe install jsoncpp:x64-windows .\vcpkg.exe install curl:x64-windows .\vcpkg.exe install opencv:x64-windows ``` + 1. Ensure `vcpkg` integration with Visual Studio: + + Make sure you have integrated `vcpkg` with Visual Studio. After cloning `vcpkg` and installing the libraries, run the integration command: + + ```bash + .\vcpkg.exe integrate install + ``` + + The integration command shows a confirmation message upon successful integration with Visual Studio. This integration is a one-time requirement for a specific system, regardless of the number of repositories created therein. + \ No newline at end of file diff --git a/shared/common/project-test/clone-project.mdx b/shared/common/project-test/clone-project.mdx index aa7cd3ea8..965301233 100644 --- a/shared/common/project-test/clone-project.mdx +++ b/shared/common/project-test/clone-project.mdx @@ -25,4 +25,7 @@ - documentation app + + - documentation app + diff --git a/shared/common/project-test/open-config-file.mdx b/shared/common/project-test/open-config-file.mdx index 6e27f3cd4..0d058fcd8 100644 --- a/shared/common/project-test/open-config-file.mdx +++ b/shared/common/project-test/open-config-file.mdx @@ -33,4 +33,8 @@ Open the file `/src/agora-manager/config.json` + + Open the file `/video-sdk-samples-windows/agora-manager/config.json` + + \ No newline at end of file diff --git a/shared/common/project-test/run-reference-app.mdx b/shared/common/project-test/run-reference-app.mdx index 1d8a804ad..a19bf4a47 100644 --- a/shared/common/project-test/run-reference-app.mdx +++ b/shared/common/project-test/run-reference-app.mdx @@ -31,9 +31,20 @@ In Unity, click **Play**. You see the game running on your device. + + 1. Double click on `/video-sdk-samples-windows/agora_manager/agora_manager.sln`. It will open the solution in Visual Studio. + + 1. Select the project you want to run(`get_started`) in solution explorer, right click and `set as startup project' + + 1. Build and run the project. + + A moment later you see the project installed on your device. + + If this is the first time you run the project, grant microphone and camera access to the app. If this is the first time you run the project, grant microphone access to the app. - \ No newline at end of file + + diff --git a/shared/extensions-marketplace/ai-noise-suppression.mdx b/shared/extensions-marketplace/ai-noise-suppression.mdx index 8537f751a..93dfd282d 100644 --- a/shared/extensions-marketplace/ai-noise-suppression.mdx +++ b/shared/extensions-marketplace/ai-noise-suppression.mdx @@ -43,7 +43,7 @@ In the pre-processing stage, uses deep learning noise reductio This section explains how to use the latest version of the extension. Implementation for previous versions might be different. For details, see the [release notes](/extensions-marketplace/overview/release-notes#ai-noise-suppression). - + To activate in your and set the noise reduction mode, call: @@ -104,7 +104,7 @@ To activate in your and set the noise redu - + diff --git a/shared/extensions-marketplace/ai-noise-suppression/project-implementation/index.mdx b/shared/extensions-marketplace/ai-noise-suppression/project-implementation/index.mdx index 9475fb8a9..b4e756a8a 100644 --- a/shared/extensions-marketplace/ai-noise-suppression/project-implementation/index.mdx +++ b/shared/extensions-marketplace/ai-noise-suppression/project-implementation/index.mdx @@ -1,7 +1,6 @@ import Poc3 from './poc3.mdx'; import Electron from './electron.mdx'; import Flutter from './flutter.mdx'; -import Unity from './unity.mdx'; import Windows from './windows.mdx' import ReactNative from './react-native.mdx' @@ -9,5 +8,4 @@ import ReactNative from './react-native.mdx' - diff --git a/shared/extensions-marketplace/ai-noise-suppression/project-implementation/poc3.mdx b/shared/extensions-marketplace/ai-noise-suppression/project-implementation/poc3.mdx index 604ec1e79..d548432b4 100644 --- a/shared/extensions-marketplace/ai-noise-suppression/project-implementation/poc3.mdx +++ b/shared/extensions-marketplace/ai-noise-suppression/project-implementation/poc3.mdx @@ -6,7 +6,7 @@ import ConfigureExtension from '@docs/assets/code/video-sdk/ai-noise-suppression import SetMode from '@docs/assets/code/video-sdk/ai-noise-suppression/set-noise-reduction-mode.mdx'; import SetLevel from '@docs/assets/code/video-sdk/ai-noise-suppression/set-reduction-level.mdx'; - + ### Import the library @@ -14,11 +14,12 @@ import SetLevel from '@docs/assets/code/video-sdk/ai-noise-suppression/set-reduc ### Enable the denoiser - + ### Setup logging + diff --git a/shared/extensions-marketplace/ai-noise-suppression/project-test/poc3.mdx b/shared/extensions-marketplace/ai-noise-suppression/project-test/poc3.mdx index bfd3848ca..c1412810d 100644 --- a/shared/extensions-marketplace/ai-noise-suppression/project-test/poc3.mdx +++ b/shared/extensions-marketplace/ai-noise-suppression/project-test/poc3.mdx @@ -1,7 +1,7 @@ import TestFirstSteps from '@docs/shared/common/project-test/rtc-first-steps.mdx'; import ReactJS from './react-js.mdx'; - + ## Test AI noise suppression diff --git a/shared/variables/global.js b/shared/variables/global.js index c6d98fbbe..6709b9517 100644 --- a/shared/variables/global.js +++ b/shared/variables/global.js @@ -297,3 +297,4 @@ export const AGORA_VIDEO_DOC_APP_FLUTTER = 'https://github.com/AgoraIO/video-sdk export const AGORA_VIDEO_DOC_APP_UNITY = 'https://github.com/AgoraIO/video-sdk-samples-unity' export const AGORA_VIDEO_DOC_APP_REACTNATIVE = 'https://github.com/AgoraIO/video-sdk-samples-reactnative' export const AGORA_VIDEO_DOC_APP_ELECTRON = 'https://github.com/AgoraIO/video-sdk-samples-electron' +export const AGORA_VIDEO_DOC_APP_WINDOWS = 'https://github.com/AgoraIO/video-sdk-samples-windows' diff --git a/shared/video-sdk/get-started/get-started-sdk/project-implementation/index.mdx b/shared/video-sdk/get-started/get-started-sdk/project-implementation/index.mdx index 527a9e043..3b7e2bfb0 100644 --- a/shared/video-sdk/get-started/get-started-sdk/project-implementation/index.mdx +++ b/shared/video-sdk/get-started/get-started-sdk/project-implementation/index.mdx @@ -1,15 +1,13 @@ import ReactNative from './react-native.mdx'; import Electron from './electron.mdx'; -import Windows from './windows.mdx'; import Poc3 from './poc3.mdx'; import Unreal from './unreal.mdx'; - + - diff --git a/shared/video-sdk/get-started/get-started-sdk/project-implementation/poc3.mdx b/shared/video-sdk/get-started/get-started-sdk/project-implementation/poc3.mdx index 80aabcca6..f4322242c 100644 --- a/shared/video-sdk/get-started/get-started-sdk/project-implementation/poc3.mdx +++ b/shared/video-sdk/get-started/get-started-sdk/project-implementation/poc3.mdx @@ -10,7 +10,7 @@ import Destroy from '@docs/assets/code/video-sdk/get-started-sdk/destroy.mdx'; import Permissions from '@docs/assets/code/video-sdk/get-started-sdk/request-permissions.mdx'; import UserRole from '@docs/assets/code/video-sdk/get-started-sdk/set-user-role.mdx'; - + @@ -57,6 +57,12 @@ import UserRole from '@docs/assets/code/video-sdk/get-started-sdk/set-user-role. + + +![video call logic](/images/video-sdk/video-call-logic-android.svg) + + + Best practice is to separate the workflows from your UI implementation. The sample project implements logic in the @@ -84,15 +90,17 @@ The following code examples show how to implement these steps in your instance and join a channel - + + ### Request microphone and camera permissions - + ### Configure an instance and set up an event handler @@ -116,11 +124,12 @@ The following code examples show how to implement these steps in your ### Clean up the resources used by the app - + + ### Manage the user role @@ -128,8 +137,7 @@ The following code examples show how to implement these steps in your + ### Configure an instance and set up an event handler @@ -146,11 +154,7 @@ The following code examples show how to implement these steps in your -### Join a channel to start - - - + ### Render video from a remote user in the channel @@ -193,3 +197,4 @@ The following code examples show how to implement these steps in your + 1. **[Generate a temporary token](../reference/manage-agora-account#generate-a-temporary-token) in **. 2. **Configure the web demo you use to connect to your **: @@ -19,5 +18,4 @@ import Unreal from './unreal.mdx' - \ No newline at end of file diff --git a/shared/video-sdk/get-started/get-started-sdk/project-test/poc3.mdx b/shared/video-sdk/get-started/get-started-sdk/project-test/poc3.mdx index c39520795..68e1c1dd0 100644 --- a/shared/video-sdk/get-started/get-started-sdk/project-test/poc3.mdx +++ b/shared/video-sdk/get-started/get-started-sdk/project-test/poc3.mdx @@ -6,7 +6,7 @@ import GetTempToken from '@docs/shared/common/project-test/generate-temp-rtc-tok import LoadWebDemo from '@docs/shared/common/project-test/load-web-demo.mdx'; import CloneProj from '@docs/shared/common/project-test/clone-project.mdx' - + 1. **Load the web demo** @@ -24,6 +24,7 @@ import CloneProj from '@docs/shared/common/project-test/clone-project.mdx' 1. [Generate an RTC token](https://agora-token-generator-demo.vercel.app/) using your `uid` and `channelName`, and set `rtcToken` to this value in `config.json`. 1. Set `channelName` to the name of the channel you used to create the `rtcToken`. + 1. **Run the reference app** diff --git a/shared/video-sdk/get-started/get-started-sdk/reference/windows.mdx b/shared/video-sdk/get-started/get-started-sdk/reference/windows.mdx index b85338e60..b3c2bdd79 100644 --- a/shared/video-sdk/get-started/get-started-sdk/reference/windows.mdx +++ b/shared/video-sdk/get-started/get-started-sdk/reference/windows.mdx @@ -2,14 +2,4 @@ - For a more complete example, see the [open source example project](https://github.com/AgoraIO/API-Examples/tree/master/windows) on GitHub. -### API Reference - -- joinChannel - -- enableVideo - -- startPreview - -- leaveChannel -