=============== LIBRARY RULES =============== From library maintainers: - NEMeeting SDK supports 8 platforms: Android, iOS, Web, H5, Windows, macOS, Linux, and Electron - Each platform has its own integration guide under guides/[Platform]/ directory - For beginners: Start with the Quick Start guide at guides/[Platform]/快速开始/ - SDK features include meeting management, meeting security, UI customization, and advanced features (beauty filters, virtual backgrounds, meeting extensions) - Platform features and APIs may vary slightly - refer to platform-specific documentation - For production use, implement proper error handling and state management - Check platform-specific best practices sections for optimization recommendations - Complete API reference documentation is available on the online documentation site ### Start Static Server Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/guides/H5/快速开始/快速跑通 Sample Code.md Starts a static resource server from the project's root directory. This is necessary to serve the H5 sample code for local testing. ```bash node app ``` -------------------------------- ### Install Project Dependencies with CocoaPods Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/guides/iOS/快速开始/快速跑通 Sample Code.md This command installs the necessary dependencies for the iOS sample project, as defined in the Podfile. Ensure you are in the `NEMeeting/SampleCode/iOS` directory before running this command. ```shell pod install ``` -------------------------------- ### Start Meeting with Netease Meeting SDK Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/guides/macOS/快速开始/快速跑通 Sample Code.md This action demonstrates how to create or start a meeting using the sample application. The user selects 'startMeeting' and clicks 'Run' to initiate the meeting. ```plaintext Start Meeting by selecting startMeeting and clicking Run ``` -------------------------------- ### Import NEMeetingKit as a Module (JavaScript) Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/guides/Web/快速开始/集成并初始化 SDK.md This snippet demonstrates how to import NEMeetingKit using ES module syntax in your JavaScript file. It also shows how to get an instance of the SDK and initialize it with your `appKey` and optional width/height configurations. ```javascript import NEMeetingKit from './NEMeetingKit_V4.x.x.js' //将文件路径替换为网易会议组件在本地的相对路径,版本号请替换为对应的版本号 const neMeetingKit = NEMeetingKit.getInstance() const appKey = '' neMeetingKit.initialize({ appKey, /** 用于设置会议显示区域宽度,(设置为 0 则根据容器自适应) */ width: 0, /** 用于设置会议显示区域高度,(设置为 0 则根据容器自适应) */ heith: 0, }) ``` -------------------------------- ### Modular Integration of NEMeetingKit Subspecs (Option 1) Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/guides/iOS/快速开始/集成并初始化 SDK.md This example shows how to integrate specific modules (subspecs) of the NEMeetingKit SDK to reduce the overall app size. This approach allows you to include only the functionalities you need, such as Base, Beauty, Audio, Video, and ScreenShare. This is useful for optimizing app performance and download size. ```ruby pod 'NEMeetingKit', :subspecs => ['Base', 'Beauty', 'Segment', 'Audio', 'Video', 'ScreenShare'] ``` -------------------------------- ### Install NEMeeting Electron SDK Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/guides/Electron/快速开始/集成并初始化 SDK.md Install the NEMeeting Electron SDK using npm. This is the first step to integrate the SDK into your Electron application. It's recommended to use the latest version for new projects. ```bash npm install nemeeting-electron-sdk ``` -------------------------------- ### Install Dependencies for Electron Sample Code Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/guides/Electron/快速开始/快速跑通 Sample Code.md Install the necessary Node.js dependencies for the Electron Sample Code project using npm. This command should be run in the root directory of the cloned 'SampleCode/Electron' project. ```bash npm install ``` -------------------------------- ### Start Meeting (Java) Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/api-reference/android/dokka/V4.19.0/zh/com/netease/yunxin/kit/meeting/sdk/NEMeetingService.html Initiates a new meeting session. Authentication with the SDK is required before starting a meeting. Upon successful start, the SDK launches the meeting page automatically. ```java startMeeting(android.content.Context context, com.netease.yunxin.kit.meeting.sdk.NEStartMeetingParams param, com.netease.yunxin.kit.meeting.sdk.NEStartMeetingOptions opts, com.netease.yunxin.kit.meeting.sdk.NECallback callback) ``` -------------------------------- ### Start Meeting Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/api-reference/windows/doxygen/v4.19.0/zh/kit__service__meeting_8h_source.html Starts a new meeting with specified parameters and options. ```APIDOC ## POST /startMeeting ### Description Starts a new meeting session. This function requires NEStartMeetingParams and NEStartMeetingOptions to configure the meeting, and a callback to handle the result. ### Method POST ### Endpoint /startMeeting ### Parameters #### Request Body - **param** (NEStartMeetingParams) - Required - Parameters for starting the meeting. - **opts** (NEStartMeetingOptions) - Required - Options for starting the meeting. - **callback** (NEStartMeetingCallback) - Required - Callback function to be invoked upon meeting start. ### Request Example ```json { "param": { ... }, "opts": { ... }, "callback": "NEStartMeetingCallback" } ``` ### Response #### Success Response (200) - **callback** (NEStartMeetingCallback) - Invoked with meeting start status. #### Response Example (Callback function is invoked, not a direct response body) ``` -------------------------------- ### Meeting Start Options and Parameters Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/api-reference/android/dokka/V4.19.0/zh/index-all.html Defines options and parameters required for starting a meeting. ```APIDOC ## NEStartMeetingOptions ### Description Provides necessary configuration information and option toggles for creating a meeting, such as audio and video toggles. Used in `NEMeetingService.startMeeting`. ### Method N/A (Class) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## NEStartMeetingOptions() ### Description Default constructor for NEStartMeetingOptions. ### Method Constructor ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## NEStartMeetingParams ### Description Provides necessary additional parameters for creating a meeting, such as meeting ID and user nickname. Used in `NEMeetingService.startMeeting`. ### Method N/A (Class) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## NEStartMeetingParams() ### Description Default constructor for NEStartMeetingParams. ### Method Constructor ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` -------------------------------- ### Theme Configuration Example Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/api-reference/web/typedoc/V4.19.0/zh/types/NEMeetingItem.html This snippet demonstrates how to set the theme for the application by reading from local storage or defaulting to 'os'. It also shows a placeholder for preparing a search index, which is currently unavailable. ```javascript document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os" // Preparing search index... // The search index is not available ``` -------------------------------- ### Get Current Meeting Info (Android) Source: https://context7.com/kirito0206/nemeeting_doc_source/llms.txt This Android example shows how to retrieve detailed information about the current ongoing meeting using the NEMeeting SDK. It fetches the meeting number, subject, host ID, start time, and a list of attendees, logging them to the console. ```java // Android 获取当前会议信息示例 NEMeetingKit.getInstance().getMeetingService().getCurrentMeetingInfo(new NECallback() { @Override public void onResult(int resultCode, String resultMsg, NEMeetingInfo meetingInfo) { if (resultCode == NEMeetingError.ERROR_CODE_SUCCESS && meetingInfo != null) { String meetingNum = meetingInfo.getMeetingNum(); String subject = meetingInfo.getSubject(); String hostUserId = meetingInfo.getHostUserId(); long startTime = meetingInfo.getStartTime(); Log.i("MeetingInfo", "会议号: " + meetingNum); Log.i("MeetingInfo", "主题: " + subject); Log.i("MeetingInfo", "主持人ID: " + hostUserId); // 获取参会者列表 List userList = meetingInfo.getUserList(); for (NEInMeetingUserInfo user : userList) { Log.i("MeetingInfo", "参会者: " + user.getUserName()); } } } }); ``` -------------------------------- ### Pre-Meeting Service Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/api-reference/windows/doxygen/v4.19.0/zh/functions_func_d.html Manages operations related to meeting recordings and setup before a meeting starts. ```APIDOC ## deleteRecordItem() ### Description Deletes a specific recorded item. ### Method [Method to be determined, likely POST or DELETE] ### Endpoint [Endpoint to be determined] ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ```json { "message": "No request body needed" } ``` ### Response #### Success Response (200) - **NEPreMeetingService** (object) - Service object containing pre-meeting operations. #### Response Example ```json { "service": "NEPreMeetingService" } ``` ``` -------------------------------- ### NEMeetingKit Initialization and Service Access (JavaScript) Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/api-reference/iOS/doxygen/v4.19.0/zh/index.html Demonstrates how to create an instance of NEMeetingKit and initialize it. It also shows how to retrieve various service instances like MeetingService, AccountService, and SettingsService, which are essential for utilizing the meeting functionalities. This code assumes the NEMeetingKit library is loaded. ```javascript /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ var searchBox = new SearchBox("searchBox", "search/",'.html'); /* @license-end */ $(function() { initMenu('',true,false,'search.php','搜索'); $(function() { init_search(); }); }); // Example of getting NEMeetingKit instance and services // Assuming NEMeetingKit is globally available const nimMeetingKit = NEMeetingKit.getInstance(); nimMeetingKit.initialize({ // Initialization options }).then(() => { const meetingService = nimMeetingKit.getMeetingService(); const accountService = nimMeetingKit.getAccountService(); const settingsService = nimMeetingKit.getSettingsService(); // ... use services }).catch(error => { console.error('NEMeetingKit initialization failed:', error); }); ``` -------------------------------- ### Pre-Meeting Service Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/api-reference/web/typedoc/V4.19.0/zh/interfaces/NEMeetingKit.html Retrieves the NEPreMeetingService. This service likely manages functionalities before a meeting starts, such as scheduling or setup. ```APIDOC ## GET /meeting/pre/service ### Description Retrieves the NEPreMeetingService for managing functionalities related to the pre-meeting phase. ### Method GET ### Endpoint /meeting/pre/service ### Parameters None ### Request Example None ### Response #### Success Response (200) - **service** (NEPreMeetingService) - The pre-meeting service object. #### Response Example ```json { "service": "NEPreMeetingService" } ``` ``` -------------------------------- ### NEMeetingSDK::initialized#config Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/guides/Windows/更新日志.md Initializes the NEMeeting SDK and sets the global default App Key. ```APIDOC ## POST /sdk/initialize ### Description Initializes the NEMeeting SDK and sets the global default App Key. This should be called once at the application's startup. ### Method POST ### Endpoint /sdk/initialize ### Parameters #### Request Body - **appKey** (string) - Required - The application key provided by Nemeeting for your project. ### Response #### Success Response (200) - **initialized** (boolean) - Indicates if the SDK initialization was successful. #### Response Example ```json { "initialized": true } ``` ``` -------------------------------- ### Get List of Installed Web Apps Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/api-reference/web/typedoc/V4.19.0/zh/electron/interfaces/NEMeetingWebAppService.html Retrieves a list of all installed web apps (plugins) currently active in the meeting. It returns a Promise that resolves with a NEResult containing an array of NEMeetingWebAppItem objects. ```javascript async getWebAppList(): Promise> ``` -------------------------------- ### Get Installed Web App List Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/api-reference/linux/doxygen/v4.19.0/zh/class_n_e_meeting_web_app_service.html Retrieves a list of web applications (plugins) currently installed in the meeting. This function is asynchronous and returns a list of NEMeetingWebAppItem objects via a callback. ```cpp virtual void getWebAppList(const NEGetMeetingWebAppListCallback &callback) = 0; ``` -------------------------------- ### Build Sample Code with Shell Script Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/guides/macOS/快速开始/快速跑通 Sample Code.md These commands navigate to the sample code directory and execute the build script. This process compiles the Qt application and generates the executable. ```bash cd meeting_sdk_example_qt sh build_mac.sh ``` -------------------------------- ### NEMeetingRealtimeRecorderService - startRealtimeRecorder Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/api-reference/web/typedoc/V4.19.0/zh/interfaces/NEMeetingRealtimeRecorderService.html Starts the real-time recording service. Requires prior SDK login and authentication. ```APIDOC ## POST /startRealtimeRecorder ### Description Initiates the real-time recording service. This action is only permitted after the SDK has been successfully logged in and authenticated. ### Method POST ### Endpoint /startRealtimeRecorder ### Parameters #### Request Body - **param** (NEMeetingRealtimeRecorderParams) - Required - An object containing the parameters to start recording. Cannot be null. - **opts** (NEMeetingRealtimeRecorderOptions) - Optional - An object specifying options for starting the recording. Defaults will be used if not provided. ### Response #### Success Response (200) - **result** (NEResult) - An object indicating the result of the operation, with no specific data payload on success. #### Response Example ```json { "result": { "code": 0, "msg": "Success" } } ``` ``` -------------------------------- ### NEMeetingKit Initialization and Configuration Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/api-reference/macOS/doxygen/v4.19.0/zh/class_n_e_meeting_kit-members.html Demonstrates how to initialize the NEMeetingKit with configuration and a callback. It also shows how to check if the kit has been initialized. ```cpp virtual void initialize(const NEMeetingKitConfig &config, const NEInitializeCallback &callback)=0 virtual bool isInitialized()=0 ``` -------------------------------- ### NEMeetingKit Initialization and Configuration Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/api-reference/macOS/doxygen/v4.19.0/zh/kit__meeting__sdk_8h_source.html This section covers the initialization of the NEMeetingKit SDK, including setting up configuration, handling initialization callbacks, and managing exception handlers. ```APIDOC ## POST /initialize ### Description Initializes the NEMeetingKit SDK with the provided configuration and a callback for initialization status. ### Method POST ### Endpoint /initialize ### Parameters #### Request Body - **config** (NEMeetingKitConfig) - Required - The configuration object for the SDK. - **callback** (NEInitializeCallback) - Required - The callback function to handle initialization results. ### Request Example ```json { "config": { "appKey": "YOUR_APP_KEY", "accountInfo": { "accountID": "YOUR_ACCOUNT_ID", "accountToken": "YOUR_ACCOUNT_TOKEN" } }, "callback": "function(result, error) { ... }" } ``` ### Response #### Success Response (200) Indicates successful initialization. #### Response Example ```json { "message": "Initialization successful" } ``` ## POST /setExceptionHandler ### Description Sets a global exception handler for the NEMeetingKit SDK. ### Method POST ### Endpoint /setExceptionHandler ### Parameters #### Request Body - **handler** (NEExceptionHandler) - Required - The callback function to handle exceptions. ### Request Example ```json { "handler": "function(exception) { ... }" } ``` ### Response #### Success Response (200) Indicates the exception handler has been set. #### Response Example ```json { "message": "Exception handler set successfully" } ``` ## POST /switchLanguage ### Description Switches the language of the NEMeetingKit SDK. ### Method POST ### Endpoint /switchLanguage ### Parameters #### Request Body - **language** (NEMeetingLanguage) - Required - The desired language to switch to. - **callback** (NEEmptyCallback) - Required - The callback function to handle the language switch result. ### Request Example ```json { "language": "en", "callback": "function(result) { ... }" } ``` ### Response #### Success Response (200) Indicates the language has been switched successfully. #### Response Example ```json { "message": "Language switched successfully" } ``` ``` -------------------------------- ### Get Pre-Meeting Service Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/api-reference/iOS/doxygen/v4.19.0/zh/interface_n_e_meeting_kit.html Retrieves an instance of the NEPreMeetingService, which handles functionalities related to meetings before they start. Returns nil if not initialized. ```Objective-C - (NEPreMeetingService *) getPreMeetingService; ``` -------------------------------- ### Get Meeting Activity Class - Java Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/api-reference/android/dokka/V4.19.0/zh/com/netease/yunxin/kit/meeting/sdk/NEMeetingService.html Returns the Class object for the meeting Activity. This can be used for starting the meeting UI. ```java Class getMeetingActivityClass(); ``` -------------------------------- ### NEMeetingWebAppService - Get Web App List Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/api-reference/linux/doxygen/v4.19.0/zh/class_n_e_meeting_web_app_service.html Retrieves a list of installed web applications (plugins) within the current meeting. ```APIDOC ## GET /webapps/list ### Description Retrieves a list of installed web applications (plugins) within the current meeting. ### Method GET ### Endpoint /webapps/list ### Parameters #### Query Parameters - **callback** (NEGetMeetingWebAppListCallback) - Required - The callback function to handle the response, which will contain a list of NEMeetingWebAppItem. ### Request Example (No request body for GET request) ### Response #### Success Response (200) - **plugins** (list[NEMeetingWebAppItem]) - A list of NEMeetingWebAppItem objects, each representing an installed web application. #### Response Example ```json { "plugins": [ { "id": "plugin1", "name": "Example Plugin", "version": "1.0.0" }, { "id": "plugin2", "name": "Another Plugin", "version": "2.1.0" } ] } ``` ``` -------------------------------- ### SDK Configuration and Initialization Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/guides/Android/更新日志.md APIs for configuring the NEMeeting SDK, including settings for foreground service, private deployment, and application name. ```APIDOC ## NEMeetingSDKConfig.useAssetServerConfig ### Description Configures the SDK to use asset server configurations, typically for private deployment scenarios. ### Method [Not applicable, part of config object] ### Endpoint [Not applicable] ### Parameters #### Request Body - **useAssetServerConfig** (boolean) - Required - Set to true to enable asset server configuration. ### Request Example ```json { "useAssetServerConfig": true } ``` ### Response #### Success Response (200) - **Success** (boolean) - Indicates if the configuration was applied successfully. #### Response Example ```json { "success": true } ``` ## NEMeetingSDKConfig.NEForegroundServiceConfig ### Description Provides configuration options for the foreground service that runs during a meeting. ### Method [Not applicable, part of config object] ### Endpoint [Not applicable] ### Parameters [Parameters not specified] ### Request Example ```json { "example": "No request body specified" } ``` ### Response #### Success Response (200) - **Success** (boolean) - Indicates if the configuration was applied successfully. #### Response Example ```json { "success": true } ``` ## NEMeetingSDKConfig.appName ### Description Configures the name of the application that will be displayed during meeting-related notifications or processes. ### Method [Not applicable, part of config object] ### Endpoint [Not applicable] ### Parameters #### Request Body - **appName** (String) - Required - The name of the application. ### Request Example ```json { "appName": "MyMeetingApp" } ``` ### Response #### Success Response (200) - **Success** (boolean) - Indicates if the application name was set successfully. #### Response Example ```json { "success": true } ``` ``` -------------------------------- ### Get Scheduled Meeting List Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/api-reference/macOS/doxygen/v4.19.0/zh/class_n_e_pre_meeting_service.html Retrieves a list of scheduled meetings, optionally filtered by status. Defaults to 'INIT' and 'STARTED'. ```APIDOC ## POST /api/meetings/scheduled/list ### Description Retrieves a list of scheduled meetings. If no status is specified, it defaults to 'INIT' and 'STARTED'. Does not return 'CANCELLED' or 'RECYCLED' meetings. Only returns meetings the user scheduled or was invited to. ### Method POST ### Endpoint /api/meetings/scheduled/list ### Parameters #### Request Body - **status** (array of strings) - Optional - A list of meeting statuses to filter by (e.g., ["INIT", "STARTED"]). If omitted, defaults to ["INIT", "STARTED"]. ### Response #### Success Response (200) - **meetings** (array) - A list of scheduled meeting items. - **meetingId** (int64) - The unique identifier for the meeting. - **subject** (string) - The subject or title of the meeting. - **startTime** (int64) - The start time of the meeting in Unix timestamp format. - **endTime** (int64) - The end time of the meeting in Unix timestamp format. - **meetingNum** (string) - The meeting number. - **hostId** (string) - The ID of the meeting host. - **status** (string) - The current status of the meeting. #### Response Example ```json { "meetings": [ { "meetingId": 1122334455, "subject": "Project Planning", "startTime": 1679000000, "endTime": 1679003600, "meetingNum": "987-654-3210", "hostId": "host456", "status": "STARTED" } ] } ``` ``` -------------------------------- ### Configuration and Uninitialization Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/api-reference/windows/doxygen/v4.19.0/zh/class_n_e_meeting_kit.html Methods for switching language, theme, and uninitializing the NEMeetingKit. ```APIDOC ## Configuration and Uninitialization Methods to modify the kit's language and theme, and to properly shut it down. ### switchLanguage() - **Description**: Switches the language of the NEMeetingKit. - **Method**: POST (conceptual) - **Endpoint**: Not applicable (C++ method call) - **Parameters**: - **Path Parameters**: None - **Query Parameters**: None - **Request Body**: None (parameters passed directly) - `language` (NEMeetingLanguage) - Required - The target language. If empty, the system's current language is used. - `callback` (NEEmptyCallback&) - Required - Callback for the result of the language switch. - **Return Value**: `int` (0 for success, non-zero for failure) ### switchTheme() - **Description**: Switches the theme of the NEMeetingKit. - **Method**: POST (conceptual) - **Endpoint**: Not applicable (C++ method call) - **Parameters**: - **Path Parameters**: None - **Query Parameters**: None - **Request Body**: None (parameters passed directly) - `theme` (NEMeetingThemeType) - Required - The target theme. - `callback` (NEEmptyCallback&) - Required - Callback for the result of the theme switch. - **Return Type**: `void` ### unInitialize() - **Description**: Uninitializes the NEMeetingKit, releasing all resources. - **Method**: POST (conceptual) - **Endpoint**: Not applicable (C++ method call) - **Parameters**: - **Path Parameters**: None - **Query Parameters**: None - **Request Body**: None (parameter passed directly) - `callback` (NEUnInitializeCallback&) - Required - Callback for the uninitialization result. - **Return Type**: `void` ``` -------------------------------- ### Get Meeting List Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/api-reference/linux/doxygen/v4.19.0/zh/class_n_e_pre_meeting_service.html Queries a list of meetings based on their status. Supports 'INIT', 'STARTED', and 'ENDED' statuses. Future support for 'CANCEL' and 'RECYCLED' is planned. ```APIDOC ## GET /meeting/list ### Description Queries a list of meetings based on their status. Supports 'INIT', 'STARTED', and 'ENDED' statuses. Future support for 'CANCEL' and 'RECYCLED' is planned. ### Method GET ### Endpoint /meeting/list ### Parameters #### Query Parameters - **status** (list[NEMeetingItemStatus]) - Required - A list of meeting statuses to query. - **callback** (NEGetMeetingListCallback) - Required - Callback function to handle the result. ### Response #### Success Response (200) - **meetingList** (list[NEMeetingItem]) - A list of meeting items matching the specified statuses. #### Response Example (Callback function execution) ``` -------------------------------- ### Initialize NEMeetingKit with Configuration (JavaScript Module) Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/guides/H5/快速开始/集成并初始化SDK.md This code illustrates how to import and initialize the NEMeetingKit SDK using ES Modules. It shows the configuration object, including `appKey`, `width`, and `height` for the meeting display area. Initialization is an asynchronous operation requiring a success or error callback. ```javascript import NEMeetingKit from './NEMeetingKit_V4.x.x.js' const neMeetingKit = NEMeetingKit.getInstance() const appKey = '' const config = { appKey, /** 用于设置会议显示区域宽度,(设置为 0 则根据容器自适应) */ width: 0, /** 用于设置会议显示区域高度,(设置为 0 则根据容器自适应) */ heith: 0, } neMeetingKit.initialize(config).then(() => { // 初始化成功 }).catch((error) => { // 初始化失败 }) ``` -------------------------------- ### Get Meeting List Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/api-reference/linux/doxygen/v4.19.0/zh/class_n_e_pre_meeting_service.html Retrieves a list of meetings based on their status (e.g., 'init', 'started', 'ended'). Supports querying for upcoming, ongoing, and completed meetings. ```APIDOC ## GET /getMeetingList ### Description Retrieves a list of meetings based on their status. Currently supports querying for 'init' (scheduled), 'started' (ongoing), and 'ended' (completed) meetings. Future support for 'canceled' and 'recycled' is planned. ### Method GET ### Endpoint /getMeetingList ### Parameters #### Query Parameters - **status** (std::list) - Required - A list of statuses to filter meetings by. Example statuses: `init`, `started`, `ended`. - **callback** (NEGetMeetingListCallback) - Required - The callback function to handle the response. ### Request Example (This is a conceptual example as the actual implementation would involve library calls) ```cpp std::list statuses = {NEMeetingItemStatus::started, NEMeetingItemStatus::ended}; preMeetingService->getMeetingList(statuses, myCallback); ``` ### Response #### Success Response (Callback) - The `NEGetMeetingListCallback` will be invoked with a list of `NEMeetingItemStatus` objects representing meetings matching the specified statuses. #### Response Example (Callback signature: `void getMeetingList(const std::list& meetings)`) ```json { "meetings": [ { "meetingId": 1122334455, "subject": "Updated Product Launch Plan", "startTime": 1680003600000, "status": "started" }, { "meetingId": 123456789, "subject": "Team Sync", "startTime": 1678886400000, "endTime": 1678890000000, "status": "ended" } ] } ``` ``` -------------------------------- ### Get Meeting Web App List API Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/api-reference/linux/doxygen/v4.19.0/zh/kit__service__web__app_8h_source.html Retrieves a list of installed web applications for the current meeting. This endpoint is used to fetch the available plugins that can be used in the meeting. ```APIDOC ## GET /api/webapps/list ### Description Retrieves a list of installed web applications for the current meeting. ### Method GET ### Endpoint /api/webapps/list ### Parameters #### Query Parameters - **callback** (NECallback>) - Required - The callback function to handle the response containing the list of web app items. ### Response #### Success Response (200) - **data** (std::list) - A list of NEMeetingWebAppItem objects representing the installed web applications. #### Response Example ```json { "data": [ { "appId": "string", "appName": "string", "appIcon": "string", "appUrl": "string", "appStatus": "enabled" } ] } ``` ``` -------------------------------- ### startRealtimeRecorder Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/api-reference/web/typedoc/V4.19.0/zh/electron/interfaces/NEMeetingRealtimeRecorderService.html Initiates the real-time recording process. This method can only be called after successful user authentication with the SDK. ```APIDOC ## POST /startRealtimeRecorder ### Description Initiates the real-time recording process. This method can only be called after successful user authentication with the SDK. ### Method POST ### Endpoint /startRealtimeRecorder ### Parameters #### Request Body - **param** (NEMeetingRealtimeRecorderParams) - Required - An object containing parameters for starting the recording. - **opts** (NEMeetingRealtimeRecorderOptions) - Optional - An object with options for the recording. Defaults will be used if not provided. ### Request Example ```json { "param": { "meetingId": "exampleMeetingId", "recordType": "audio_video" }, "opts": { "savePath": "/path/to/save" } } ``` ### Response #### Success Response (200) - **result** (NEResult) - An object indicating the result of the operation, with a void value on success. #### Response Example ```json { "result": { "code": 0, "msg": "success" } } ``` ``` -------------------------------- ### NEMeetingRealtimeRecorderService - startRealtimeRecorder Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/api-reference/web/typedoc/V4.19.0/zh/h5/interfaces/NEMeetingRealtimeRecorderService.html Initiates the real-time recording. This method requires prior SDK login and authentication and accepts parameters for configuration. ```APIDOC ## POST /NEMeetingRealtimeRecorderService/startRealtimeRecorder ### Description Initiates the real-time recording. This method requires prior SDK login and authentication and accepts parameters for configuration. ### Method POST ### Endpoint /NEMeetingRealtimeRecorderService/startRealtimeRecorder ### Parameters #### Request Body - **param** (NEMeetingRealtimeRecorderParams) - Required - The parameters object for starting the recording. Cannot be null. - **opts** (NEMeetingRealtimeRecorderOptions) - Optional - The options object for starting the recording. Defaults will be used if not specified. ### Request Example ```json { "param": { "meetingId": "exampleMeetingId", "recordName": "exampleRecordName" }, "opts": { "streamTypes": ["audio", "video"] } } ``` ### Response #### Success Response (200) - **result** (NEResult) - An object indicating the result of the operation, with a void type for success. #### Response Example ```json { "result": { "code": 0, "msg": "Success" } } ``` ``` -------------------------------- ### Get Meeting Web App List Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/api-reference/macOS/doxygen/v4.19.0/zh/kit__service__web__app_8h_source.html Retrieves a list of web applications (plugins) that are installed and available for the current meeting. The result is returned via a callback function. ```APIDOC ## GET /api/meeting/webapps ### Description Retrieves a list of web applications (plugins) installed in the meeting. The callback provides a list of `NEMeetingWebAppItem`. ### Method GET ### Endpoint `/api/meeting/webapps` ### Parameters #### Query Parameters None #### Request Body None ### Response #### Success Response (200) - **callback** (NECallback>) - A callback object that will receive the list of web app items. #### Response Example ```json { "callback": "(std::list) => void" } ``` ``` -------------------------------- ### Get Scheduled Meeting List Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/api-reference/linux/doxygen/v4.19.0/zh/class_n_e_pre_meeting_service.html Retrieves a list of scheduled meetings, optionally filtered by status. Defaults to 'init' and 'started' if no status is specified. Does not support 'cancel' or 'recycled' statuses at this time. ```APIDOC ## GET /getScheduledMeetingList ### Description Retrieves a list of scheduled meetings. You can filter by status, or if no status is provided, it defaults to fetching meetings with 'init' and 'started' statuses. This endpoint does not currently support fetching 'canceled' or 'recycled' meetings. It returns meetings that were scheduled by the current user or for which the user has been invited. ### Method GET ### Endpoint /getScheduledMeetingList ### Parameters #### Query Parameters - **status** (std::list) - Optional - A list of statuses to filter scheduled meetings by. Defaults to `init` and `started` if not provided. - **callback** (NEGetMeetingListCallback) - Required - The callback function to handle the response. ### Request Example (This is a conceptual example as the actual implementation would involve library calls) ```cpp // Fetch all scheduled meetings (init and started by default) preMeetingService->getScheduledMeetingList({}, myCallback); // Fetch only started scheduled meetings std::list statuses = {NEMeetingItemStatus::started}; preMeetingService->getScheduledMeetingList(statuses, myCallback); ``` ### Response #### Success Response (Callback) - The `NEGetMeetingListCallback` will be invoked with a list of `NEMeetingItem` objects representing the scheduled meetings matching the criteria. #### Response Example (Callback signature: `void getScheduledMeetingList(const std::list& meetings)`) ```json { "meetings": [ { "meetingId": 1122334455, "subject": "Updated Product Launch Plan", "startTime": 1680003600000, "status": "started" } ] } ``` ``` -------------------------------- ### Get Scheduled Meeting List Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/api-reference/android/dokka/V4.19.0/zh/com/netease/yunxin/kit/meeting/sdk/NEPreMeetingService.html Retrieves a list of scheduled meetings based on their status. If no status is provided, it defaults to 'init' and 'started'. Note that 'cancel' and 'recycled' statuses are not supported. ```APIDOC ## GET /meeting/scheduled/list ### Description Retrieves a list of scheduled meetings based on their status. This endpoint returns meetings that you have scheduled or have been invited to. ### Method GET ### Endpoint /meeting/scheduled/list ### Parameters #### Query Parameters - **status** (List) - Optional - A list of meeting statuses to filter by (e.g., 'init', 'started'). Defaults to 'init' and 'started' if not provided. - **callback** (NECallback>) - Required - Callback to handle the list of scheduled meeting items. ### Request Example ```json { "status": ["init", "started"], "callback": "(meetings) => { ... }" } ``` ### Response #### Success Response (200) - **meetings** (List) - A list of scheduled meeting items. #### Response Example ```json { "meetings": [ { "meetingId": 101, "subject": "Daily Standup", "startTime": 1679059200000 }, { "meetingId": 102, "subject": "Code Review", "startTime": 1679145600000 } ] } ``` ``` -------------------------------- ### Initialize NEMeetingKit Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/api-reference/macOS/doxygen/v4.19.0/zh/index.html This snippet demonstrates how to get an instance of NEMeetingKit and initialize it. It requires the NEMeetingKit library and is available from V4.7.0. ```javascript /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ var searchBox = new SearchBox("searchBox", "search/",'.html'); /* @license-end */ /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ $(function() { initMenu('',true,false,'search.php','搜索'); $(function() { init_search(); }); }); /* @license-end */ ``` -------------------------------- ### Configure AppKey in Android Resource File Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/guides/Android/快速开始/快速跑通 Sample Code.md This snippet demonstrates how to configure your NEMeeting AppKey within the Android application. You need to replace the placeholder `Your AppKey` with your actual AppKey obtained from the Netease Cloud Music console. ```XML Your AppKey ``` -------------------------------- ### NEMeetingRecord Getters (Java) Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/api-reference/android/dokka/V4.19.0/zh/com/netease/yunxin/kit/meeting/sdk/NEMeetingRecord.html Provides methods to retrieve specific details about a meeting record. These include getting the unique record ID, the start and end times of the recording, and a list containing information about all generated recording files. ```java public String getRecordId() // 获取录制id public long getRecordStartTime() // 获取录制开始时间 public long getRecordEndTime() // 获取录制结束时间 public List getInfoList() // 获取单次录制生成的所有录制文件对应信息 ``` -------------------------------- ### POST /startRealtimeRecorder Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/api-reference/android/dokka/V4.19.0/zh/index-all.html Starts real-time recording of a meeting. Requires prior login and authentication with the SDK. ```APIDOC ## POST /startRealtimeRecorder ### Description Initiates real-time recording for a meeting. This feature is only available after the SDK has completed login authentication. ### Method POST ### Endpoint /startRealtimeRecorder ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body * **context** (Context) - Required - The Android context. * **params** (NEMeetingRealtimeRecorderParams) - Required - Parameters for real-time recording. * **options** (NEMeetingRealtimeRecorderOptions) - Required - Options for real-time recording. * **callback** (NECallback) - Required - Callback to handle the result of starting the recording. ### Request Example ```json { "context": "...", "params": { ... }, "options": { ... }, "callback": "..." } ``` ### Response #### Success Response (200) Indicates that real-time recording has been successfully started. #### Response Example ```json { "code": 0, "msg": "Success" } ``` ``` -------------------------------- ### Get Meeting List (C++) Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/api-reference/macOS/doxygen/v4.19.0/zh/class_n_e_pre_meeting_service.html Queries a list of meetings based on their status. It currently supports 'init', 'started', and 'ended' statuses, with future support for 'canceled' and 'recycled'. The results are passed to the NEGetMeetingListCallback. ```cpp virtual void getMeetingList(std::list status, const NEGetMeetingListCallback &callback) = 0; ``` -------------------------------- ### NEMeetingKit Initialization and Login Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/api-reference/iOS/doxygen/v4.19.0/zh/interface_n_e_meeting_kit-members.html Demonstrates how to initialize the NEMeetingKit and log in using different authentication methods. Includes methods for checking initialization status and handling callbacks. ```javascript searchBox.Search.init(searchOptions); $(function() { init_search(); }); ``` ```javascript // Example of initializing NEMeetingKit NEMeetingKit.initialize(config, callback); // Example of logging in with token NEMeetingKit.login(accountId, token, callback); // Example of logging in with password NEMeetingKit.loginWithNEMeeting(account, password, callback); // Check if initialized const isInitialized = NEMeetingKit.isInitialized(); ``` -------------------------------- ### Get Web App List Function Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/api-reference/macOS/doxygen/v4.19.0/zh/kit__service__web__app_8h_source.html This function retrieves the list of web applications installed in the current meeting. It requires a callback function to handle the response, which will contain the list of applications. ```cpp virtual void getWebAppList(const NEGetMeetingWebAppListCallback &callback) = 0; // Description: 获取会议中已安装的插件列表 ``` -------------------------------- ### Configure Yarn Proxy and Registry Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/guides/Electron/常见问题/集成编译打包.md Sets up proxy and registry configurations for Yarn to improve dependency installation speed and reliability. This is helpful when facing network issues or slow downloads with Yarn. ```Shell # Set proxy yarn config set proxy : yarn config set https-proxy : # Set registry yarn config set registry https://registry.npmmirror.com/ yarn config set ELECTRON_MIRROR https://npmmirror.com/mirrors/electron/ ``` -------------------------------- ### Initialize Menu and Search (JavaScript) Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/api-reference/iOS/doxygen/v4.19.0/zh/dir_b6956a87560b6db45d7217c2460fcdd9.html Initializes the documentation menu and the search functionality. This code runs on document ready and sets up the search interface. ```javascript $(function() { initMenu('',true,false,'search.php','搜索'); $(function() { init_search(); }); }); ``` -------------------------------- ### Clone Netease Meeting Electron Sample Code Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/guides/Electron/快速开始/快速跑通 Sample Code.md Clone the Netease Meeting Sample Code from GitHub to your local machine. This is the first step to getting the Electron demo project. ```bash git clone https://github.com/netease-kit/NEMeeting.git ``` -------------------------------- ### 添加 CMake SDK 编译依赖 Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/guides/Linux/快速开始/集成并初始化 SDK.md 配置 CMakeLists.txt 文件,将 NEMeetingKit 的 SDK 头文件和库文件添加到 Qt 工程的编译依赖中。这使得工程能够找到并链接 SDK 提供的功能。 ```cmake include_directories( ${CMAKE_CURRENT_LIST_DIR}/sdk/include ) link_directories(${CMAKE_CURRENT_LIST_DIR}/sdk/lib) ``` -------------------------------- ### Get Meeting Web App List Callback Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/api-reference/macOS/doxygen/v4.19.0/zh/kit__service__web__app_8h_source.html Defines the callback signature for retrieving the list of installed web applications for a meeting. It returns a list of NEMeetingWebAppItem objects upon successful retrieval. ```cpp using NEGetMeetingWebAppListCallback = NECallback>; // Example usage (conceptual): // service->getWebAppList(NEGetMeetingWebAppListCallback{[](const std::list& apps) { // // Process the list of web apps // }}); ``` -------------------------------- ### NEMeetingKitConfig Initialization Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/api-reference/android/dokka/V4.19.0/zh/com/netease/yunxin/kit/meeting/sdk/NEMeetingKitConfig.html This section describes the constructor for initializing the `NEMeetingKitConfig` object, which is used to set up the Nemeeting SDK. ```APIDOC ## NEMeetingKitConfig Constructor ### Description Initializes a new instance of the `NEMeetingKitConfig` class. ### Method ```java public NEMeetingKitConfig() ``` ### Parameters None ### Request Example ```java NEMeetingKitConfig config = new NEMeetingKitConfig(); ``` ### Response #### Success Response (200) An instance of `NEMeetingKitConfig` is created. #### Response Example ```json { "message": "NEMeetingKitConfig object created successfully." } ``` ``` -------------------------------- ### Start Meeting Details (Java) Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/api-reference/android/dokka/V4.19.0/zh/com/netease/yunxin/kit/meeting/sdk/NEMeetingService.html Starts a new meeting, requiring SDK login authentication. The SDK automatically launches the meeting page upon successful initiation. Parameters include context, meeting parameters, optional settings, and a callback for completion. ```java void startMeeting(android.content.Context context, @NonNull com.netease.yunxin.kit.meeting.sdk.NEStartMeetingParams param, @Nullable com.netease.yunxin.kit.meeting.sdk.NEStartMeetingOptions opts, com.netease.yunxin.kit.meeting.sdk.NECallback callback) ``` -------------------------------- ### Add NEMeetingKit Dependency to Podfile Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/guides/iOS/快速开始/快速跑通 Sample Code.md This snippet shows how to add the NEMeetingKit dependency to your project's Podfile to integrate the Netease Meeting Component SDK. Ensure you have CocoaPods installed. ```ruby pod 'NEMeetingKit' ``` -------------------------------- ### Get Current Meeting Info (Web) Source: https://context7.com/kirito0206/nemeeting_doc_source/llms.txt This Web example demonstrates how to fetch current meeting details using the NEMeeting SDK. It retrieves the meeting number, subject, and host ID, then logs this information to the console. ```typescript // Web 获取当前会议信息示例 const meetingService = NEMeetingKit.getInstance().getMeetingService() meetingService.getCurrentMeetingInfo().then((res) => { const { data } = res console.log('会议号:', data.meetingNum) console.log('主题:', data.subject) console.log('主持人:', data.hostUserId) }) ``` -------------------------------- ### Get History Meeting List (C++) Source: https://github.com/kirito0206/nemeeting_doc_source/blob/main/api-reference/windows/doxygen/v4.19.0/zh/class_n_e_pre_meeting_service.html Fetches a list of historical meetings. Supports pagination with an anchor ID and a limit. An anchor ID of 0 or less starts the query from the beginning. Results are returned via a callback. ```cpp virtual void NEPreMeetingService::getHistoryMeetingList( int64_t _anchorId_, uint32_t _limit_, const NEGetHistoryMeetingListCallback & _callback_ ); ```