首页 > 编程知识 正文

electron 桌面开发(electron实例)

时间:2023-05-05 07:44:59 阅读:100516 作者:47

废话不多说,咱直接进入正题!

创建 Electron 项目

前提条件

在使用电子进行开发之前,需要安装Node.js。

要检查Node.js是否正确安装,请在您的终端输入以下命令:

节点v

npm -v

脚手架创建

电子应用程序遵循与其他Node.js项目相同的结构。

首先创建一个文件夹并初始化国家预防机制包。

我的电子应用光盘

国家预防机制初始化然后,将电子包安装到应用的开发依赖中。

国家预防机制安装-保存-开发电子最后,您希望能够执行电子如下所示,在您的package.json配置文件中的剧本字段下增加一条开始命令:

{

脚本' : {

启动' : '电子

}

}开始命令能让您在开发模式下打开您的应用

国家预防机制启动在main.js文件中的创建窗口的函数中加入此代码可以打开控制台

主窗口。网络内容。opendevtools()

开发音视频

前提

引入anyRTC提供的web RTC SDK本地引入:官网下载加拿大引入:

脚本src=' https://ardw。任何RTC。io/SDK/web/ArRTC @ latest。js '/NPM脚本引入:

npm i ar-rtc-sdk -S

构建页面(简易版样式没写)

分部

峰峰值/峰值

输入id='appid '类型=“文本”占位符='输入appid '必填/

/div

差异

pcchannel/P

输入id='频道'类型='文本'占位符='输入频道'必填/

/div

差异

公共工程/项目

输入id='uid '类型=“文本”占位符=“输入uid”必填/

/div

!-用户视频容器-

div id='远程玩家列表' class='行视频组'/div

JS 构建语音通话(引用了JQ)

//ArRTC客户端

定义变量客户端;

//存放音视频

var localTracks={

视频跟踪:为空,

音频跟踪:空,

};

//存放频道用户

var远程用户={ };

//ArRTC客户端选项

定义变量选项={ 0

appid: null,

通道:为空,

uid: null,

};

//查看软件开发工具包(软件开发工具包)版本

console.log(ArRTC .VERSION);

//检测麦克风

const camera=等待arrtc。getcamera();

//检测摄像头

const Mimicals=await arrtc。GetMimicals();

如果(摄像机。长度||麦克风。长度){ 0

options.appid=$('#appid ').val();

options.channel=$('#channel ').val();

options.uid=$('#uid ').val();

//加入频道

join();

}

异步函数联接(){ 0

//创建本地视图

const localplayer=$(

`

div class=' col-6 ' id=' local _ video '

p id=' local-player-name ' class=' player-name '/p

' div class='统计玩家'

div id=' local-player ' class=' player '/div

div id=' local-stats ' class=' stream-stats '/div

/div

/div

`

);

$('#remote-playerlist ').追加(本地玩家);

//创建ArRTC客户端

客户端=等待arrtc。创建客户端({ 0

mode: 'rtc ',

代码c: 'h264 ',

});

//用户发布

client.on('user-published ',handleuser published);

//用户停止发布

client.on('user-unpublished ',handleuser unpublished);

[

options.uid,

localTracks.audioTrack,

localTracks.videoTrack,

]=等待诺言

//加入渠道

client.join(

options.appid,

选项。频道,

null,

options.uid || null

),

//使用麦克风和摄像头创建本地轨道

arrtc。createmicrophoneaudiotrack(),

ArRTC.createCameraVideoTrack(),

]);

//播放本地视频曲目

本地曲目。视频轨道。play('本地玩家');

$("#本地玩家名称").文本(`本地视频($ { options。uid })`);

//发布本地视频

客户端。发布(对象。值(本地跟踪));

}

//远端用户发布

函数handleUserPublished(用户,mediaType){ 0

const id=user.uid

remoteUsers[id]=用户;

订阅(用户,mediaType);

}

//远端用户停止发布

函数handleUserUnpublished(用户){ 0

const id=user.uid

删除远程用户[id];

$(`#player-wrapper-${id} `).移除();

}

//订阅远端用户发布的音视频

异步函数订阅(用户,mediaType){ 0

const uid=user.uid

//订阅远程用户

wait client.subscribe(用户,mediaType);

if(mediaType===' video '){ 0

const player=$(

`

div id=' player-wrapper-$ { uid } ' class=' col-6 '

p class=' player-name '远程用户($ { uid })/p

' div class='统计玩家'

div id=' player-$ { uid } ' class=' player '/div

div class=' track-stats stats '/div

/div

/div

`

);

$('#remote-playerlist ').追加(播放器);

用户。视频轨道。play(` player-$ { uid } `);

}

if(mediaType===' audio '){ 0

用户。音频跟踪。play();

}

}

运行

npm开始

打包

下载电子包装机

国家预防机制安装-保存-开发电子打包程序在package.json文件的剧本加入

packager_all': '电子包装机/anyrtc -全力以赴/dist-overwrite-electron-version=11。1 .1-忽略=node _ modules-icon=./assets/images/favicon.icos '执行

国家预防机制打包程序_全部

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。