最近几年 Electron 很火,公司也正好有个项目想做跨平台客户端,大家研究了一下就选择了 Electron,第一次做 js 的项目遇到了不少坑,不过也都一点点解决了. 因为项目中需要对用户录音,HTML5 中的 API 又不支持调整麦克风音量,所以就对 Node js 操作 osx 系统麦克风.扬声器音量了解了一下,一开始在 npm(https://www.npmjs.com/)中找了很多包都是只能操作扬声器音量的,无法操作麦克风的音量,本来已经打算放弃了,缺无意间在网上看到 osx 系统下…
自带的QuickTime + Soundflower 可完美解决,同时录系统的声音和mic声音,也可以只录系统声音. 安装Soundflower 在应用程序 -> 实用工具,里面找到“音频 MIDI 设置” 点左下角“+”,新建一个“聚集设备”,勾选右边的“内建麦克风”和“Soundflower(2ch)”. 再新建一个“多输出设备”,勾选“内建输出”和“Soundflower(2ch)” 系统偏好设置 -> 声音,输出,选“多输出设备”. 输入,选“聚集设备”. 打开QuickTime,文件…
博客中的文章均为meelo原创,请务必以链接形式注明本文地址 sounddevice是一个与Numpy兼容的录音以及播放声音的包. 安装sounddevice包 直接通过pip就能安装. pip install sounddevice 播放音乐 首先,用numpy生成440Hz的正弦波 import numpy as np fs = 44100 # Hz f = 440 # Hz length = 5 #s myarray = np.arange(fs * length) myarray = n…
个人博客地址:xzajyjs.cn 前言 以前一直有录屏的需求,但苦于自带的QuickTime 无法录制内屏声音,一直使用的是第三方的app.近期开腾讯会议需要录屏,但主持人本身没有开启录屏权限,只好通过我本机端进行录制.然后我使用的第三方app虽然能录制系统声音,但无法录制腾讯会议的声音,录了一个半小时竟然是哑剧!一怒之下删掉了原来的那个app,重新探寻QuickTime录屏之路. 网上一番寻找,很多教程都说要安装Soundflower这个音频插件,但在他们的github逛了一圈后发现这个插件…
javaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG.javaCV-openCV) javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG) javaCV开发详解之4:转流器实现(也可作为本地收流器.推流器,新增添加图片及文字水印,视频图像帧保存),实现rtsp/rtmp/本地文件转发到rtmp…
前言 为了进一步提高开发工作效率,最近我们基于 electron 开发了一款媲美 uTools 的开源工具箱 rubick.该工具箱不仅仅开源,最重要的是可以使用 uTools 生态内所有开源插件!这将是巨大的能力,意味着 uTools 生态内所有插件可以无差异化使用到 rubick 中. 设计交互上为了更能提高用户的使用效率,我们又尝试去实现了 uTools 中非常优秀的一些设计,比如:超级面板.该功能可以通过鼠标快速唤起uTools 插件能力,而不用再打开应用.比如上传图片,只要我们安装了图…
我们把自己开发的Electron应用发布之前,需要把app打包成简单的安装包,这样app更容易被获取,以此来发布我们的应用.我们可以参考Wix或其他的安装程序,但是对于Electron应用更好的打包程序是Squirrel.毕竟某些著名的Visual Studio Code 和Slack 的客户端应用就是用这个框架来打包和更新的.现在我来告诉你怎么创建一个基于Electron的windows应用. Electron 和 squirrel 的更新非常快,我们可以到 http://electron.a…
作者:William 本文为原创文章,转载请注明作者及出处 Electron 可以让你使用纯 JavaScript 调用 Chrome 丰富的原生的接口来创造桌面应用.你可以把它看作一个专注于桌面应用的 Node.js 的变体,而不是 Web 服务器.其基于浏览器的应用方式可以极方便的做各种响应式的交互,接下来介绍下关于 Electron 上衍生出的框架 Nightmare. Nightmare 是一个基于 Electron 的框架,针对 Web 自动化测试和爬虫(其实爬虫这个是大家自己给这个框…
背景 经常我们要去看一些页面所发出的请求时,经常会用到 Charles 做为抓包工具来进行接口抓取,但一方面市面是很多抓包工具都是收费或者无法二次开发的.当前我们团队大多数用的也都是 Charles,但是对于一般新手来说,单纯想抓个包或者修改和接口返回数据,直接上手 Charles 不管配置成本和学习成本都相对较高.所以我们有必要自己按照自己最爽的状态来撸一个适合自己的抓包工具. 结果 基于以上诉求,我们自己重新设计并修改了交互,搞了一个符合我们诉求,使用简单的桌面端抓包工具.本身这个插件是可以…
为什么要做 Rubick 其实做 Rubick 1.x 的初衷就是解决自己的问题的:特别需要一款支持自定义插件的桌面端应用来简化使用者安装庞大桌面端应用的臃肿.而且涉及到数据安全的问题,插件只能在公司内网贡献,无法对外公开. 在 Rubick 2.0 的阶段,重新设计了一套基于 npm 的插件管理体系,让开发者更加便利的加入插件的开发.拓展了插件的边界和种类,开发者可以开发 Rubick 系统插件,此时的 Rubick 就成了一个 electron 高级封装,开发者可以高自由的实现系统能力而不局…