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
.
{
...
"trtc_electron" : {
"platform" : "win32",
"arch" : "ia32"
}
...
}
trtc_electron_platform=win32
trtc_electron_arch=ia32
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();
const version = rtcCloud.getSDKVersion();
📦 Build
Taking webpack and electron-builder as example.
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",
},
},
...
],
},
...
}
{
...
"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