trtc-electron-sdk
TypeScript icon, indicating that this package has built-in type declarations

12.3.704 • Public • Published

TRTC SDK for Electron

Tencent Real-Time Communication (TRTC) is a set of low-latency, high-quality real-time communication services provided by Tencent Cloud, which is committed to providing stable, reliable and low-cost audio and video transmission capabilities for Tencent Cloud customers.

✨ Features

💻 Environment Support

  • 🍎 Support macOS x64 and arm64(Electron 11+
  • ⚙️ Support Windows ia32 and x64
  • 🌈 Electron: 8.5.0 ~ 24.8.8
macOS Windows Electron
x64 | arm64 ia32 | x64 8.5.0 ~ 24.8.8

⏬ Install

By default, it will install the SDK compatible with your device Operation System platform and node.js CPU architecture. If you want to install SDK for specific Operating System or CPU architecture. You can configure the platform and arch you want in package.json or .npmrc file as following code. If you configure both, the configuration in package.json will work and override that in .npmrc.

// package.json
{
    ...
    "trtc_electron" : {
        "platform" : "win32",
        "arch" : "ia32"
    }
    ...
}

// .npmrc
trtc_electron_platform=win32
trtc_electron_arch=ia32        // only support windows

Properties detail:

  • platform: darwin or win32
  • arch: if not set, it will be process.arch of your installation node.js. Only windows Supported.
npm install trtc-electron-sdk

⚠️ Notice

You can build Electron application for Windows and macOS on macOS.

On Windows you can only build Electron application for Windows.Can't build Electron application for macOS, for detail:https://www.electron.build/multi-platform-build.

👋 Usage

import TRTCCloud from 'trtc-electron-sdk';

const rtcCloud = TRTCCloud.getTRTCShareInstance();
// Obtain the SDK version
const version = rtcCloud.getSDKVersion();

📦 Build

Taking webpack and electron-builder as example.

// webpack config
module.exports = {
    ...
    
    module: {
      rules: [
        {
          test: /\.node$/,
          loader: "native-ext-loader",
          options: {
            emit: true,
            rewritePath:
              process.env.NODE_ENV === "production"
                ? process.platform === "win32"
                  ? ".\\"
                  : "../"
                : "node_modules/trtc-electron-sdk/build/Release",
          },
        },
        ...
      ],
    },
    
    ...
}

// electron-builder config
{
  ... 
    
  "build": {
    "win": {
      "extraFiles": [
        {
          "from": "node_modules/trtc-electron-sdk/build/Release/",
          "to": "./"
        },
        ...
      ]
    },
    "mac": {
      "extraFiles": [
        {
          "from": "node_modules/trtc-electron-sdk/build/Release/${arch}/trtc_electron_sdk.node",
          "to": "./"
        },
        {
          "from": "node_modules/trtc-electron-sdk/build/mac-framework/${arch}/",
          "to": "./Frameworks"
        },
        ...
      ]
    }
  }
  
  ...
}

🔗 Links

Package Sidebar

Install

npm i trtc-electron-sdk

Weekly Downloads

168

Version

12.3.704

License

ISC

Unpacked Size

1.16 MB

Total Files

80

Last publish

Collaborators

  • anderlu
  • raingxm
  • trtc_electron_sdk
  • zackshi