1.2.7 • Published 5 months ago
@hysc/boom-cpp-plugin v1.2.7
文件说明
以下是一个简单的使用示例,展示如何在 Electron 主进程中集成和使用该插件,使用 CommonJS 的引用方式:
```javascript
const { app, BrowserWindow, ipcMain } = require('electron');
const CppPluginBridge = require('@hysc/boom-cpp-plugin');
let mainWindow;
let mCppPlugin;
app.on('ready', () => {
    mainWindow = new BrowserWindow({
        width: 800,
        height: 600,
        webPreferences: {
            nodeIntegration: true,
            contextIsolation: false,
        },
    });
    mainWindow.loadURL('file://' + __dirname + '/index.html');
    ipcMain.on('start-audio-capture', (event, args) => {
        if (!mCppPlugin) {
            mCppPlugin = new CppPluginBridge();
            mCppPlugin.bindTargetWindow(mainWindow);
            mCppPlugin.init();
            mCppPlugin.setAudioPluginEventCallback((audioData) => {
                console.log('Received audio data:', audioData);
            });
        }
        mCppPlugin.startAudioCapture(args.sourceId || 0, args.captureMode || false);
    });
    ipcMain.on('stop-audio-capture', () => {
        if (mCppPlugin) {
            mCppPlugin.destroy();
            mCppPlugin = null;
        }
    });
    ipcMain.on('start-window-detection', (event, args) => {
        if (!mCppPlugin) {
            mCppPlugin = new CppPluginBridge();
            mCppPlugin.bindTargetWindow(mainWindow);
            mCppPlugin.init();
        }
        mCppPlugin.setWinPluginEventCallBack((eventData) => {
            console.log('Window detection event:', eventData);
        });
        mCppPlugin.startWindowDetector(args.sourceId, args.sourceName);
    });
    ipcMain.on('stop-window-detection', () => {
        if (mCppPlugin) {
            mCppPlugin.destroy();
            mCppPlugin = null;
        }
    });
});
app.on('window-all-closed', () => {
    if (mCppPlugin) {
        mCppPlugin.destroy();
        mCppPlugin = null;
    }
    app.quit();
});在渲染进程中,可以通过 ipcRenderer 发送消息来控制插件:
const { ipcRenderer } = require('electron');
// 开始音频采集
ipcRenderer.send('start-audio-capture', { sourceId: 0, captureMode: false });
// 停止音频采集
ipcRenderer.send('stop-audio-capture');
// 开始窗口检测
ipcRenderer.send('start-window-detection', { sourceId: 'window:12345', sourceName: 'MyWindow' });
// 停止窗口检测
ipcRenderer.send('stop-window-detection');以上代码展示了如何初始化插件、绑定窗口、启动音频采集和窗口检测等功能。
1.0.17
9 months ago
1.0.16
11 months ago
1.2.7
5 months ago
1.2.6
6 months ago
1.2.5
6 months ago
1.2.4
6 months ago
1.2.3
6 months ago
1.2.2
6 months ago
1.2.1
6 months ago
1.0.15
1 year ago
1.0.14
2 years ago
1.0.12
2 years ago
1.0.11
2 years ago
1.0.10
2 years ago
1.0.9
2 years ago
1.0.8
2 years ago
1.0.7
2 years ago
1.0.6
2 years ago
1.0.5
2 years ago
1.0.4
2 years ago
1.0.3
2 years ago
1.0.2
2 years ago
1.0.1
2 years ago
1.0.0
2 years ago