首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏流媒体音视频

    WebRTC 屏幕分享深度解析

    先来看一下具体执行类的构造函数,代码如下: DesktopAndCursorComposer::DesktopAndCursorComposer( std::unique_ptr<DesktopCapturer MouseCursorMonitor::Create(options).release()) {} DesktopAndCursorComposer::DesktopAndCursorComposer( DesktopCapturer 然后就是启动桌面采集时和执行桌面采集时的代码逻辑区分,如果设置了mouse_monitor,才进行鼠标的捕捉,代码如下: void DesktopAndCursorComposer::Start(DesktopCapturer

    2.6K20编辑于 2022-11-08
  • 来自专栏码客

    Electron截图实现的思路

    Electron上截图的实现方案 方案1 使用Electron提供的API 新建一个BrowserWindow; 在窗口加载完成,调用desktopCapturer获取缩略图 在窗口绘制两个canvas ,一个用于遮罩,一个用于显示裁剪区域 附一下desktopCapturer的使用: jieping() { let that = this; let display = screen.getPrimaryDisplay display.bounds.width * scaleFactor); logger.log("height:", display.bounds.height * scaleFactor); desktopCapturer

    4.9K10发布于 2021-07-09
  • 来自专栏个人路线

    鸿蒙 PC 使用 Electron 实现截图功能详解

    20251124111357685 实现方案 方案对比 方案 优点 缺点 适用场景 webContents.capturePage() 简单可靠,无需权限,捕获窗口内容 只能捕获当前窗口 窗口截图,推荐使用 desktopCapturer main.js) 在主进程中实现截图功能的核心逻辑: const { app, BrowserWindow, ipcMain, powerMonitor, Notification, dialog, desktopCapturer 2. desktopCapturer API 兼容性 在鸿蒙 PC 平台上,desktopCapturer API 的行为可能与标准 Electron 略有不同: 权限提示:首次使用屏幕截图功能时,系统可能会弹出权限请求对话框 核心要点 窗口截图:使用 webContents.capturePage(),简单可靠,无需权限 屏幕截图:使用 desktopCapturer API,功能强大,支持多显示器 数据格式:使用 PNG 格式和 base64 编码,便于传输和保存 用户体验:实时预览、一键保存、错误提示完善 鸿蒙 PC 适配要点 权限配置:确保配置了必要的屏幕截图权限 API 兼容性:注意 desktopCapturer

    59010编辑于 2025-11-29
  • 来自专栏码客

    Electron音视频相关

    handleError ) Electron获取窗口的流 下面的示例演示如何从标题为 Electron 的桌面窗口捕获视频: // In the renderer process. const { desktopCapturer } = require('electron') desktopCapturer.getSources({ types: ['window', 'screen'] }).then(async sources = electron.desktopCapturer; const {screen} = window.require("electron").remote; jieping1() { let this; let display = screen.getPrimaryDisplay(); let scaleFactor = display.scaleFactor; desktopCapturer $emit("jiangping_image", imageurl); }); }, desktopCapturer.getSources 会导致整个程序挂起,挂起时间与屏幕分辨率、屏幕数量和电脑性能有关

    2.8K30发布于 2021-02-04
  • 来自专栏网络安全技术点滴分享

    BilldDesk:基于Vue3+WebRTC+Electron的跨平台远程桌面控制方案

    发送offer信令 } } }; return { webRtcRemoteDesk };};Electron主进程代码import { app, BrowserWindow, desktopCapturer

    1K10编辑于 2025-09-08
  • 来自专栏码客

    Electron音视频录制

    "支持" : "不支持")); } 获取可用的视频源 desktopCapturer.getSources({ types: ['screen'] }, (error, sources) => {

    4.7K30发布于 2019-10-21
  • 来自专栏码客

    Electron启程

    Renderer Process 模块 desktopCapturer 从桌面上捕获音频和视频的媒体源信息。 ipcRenderer 从渲染器进程到主进程的异步通信。

    6.1K30发布于 2019-10-21
  • 来自专栏liulun

    Electron是什么以及可以做什么

    模块和 session 模块等,少量模块是专门为渲染进程的逻辑服务的,比如 ipcRenderer 模块、webFrame 模块等,只有少量模块是两个进程可以同时使用的,比如:clipboard 模块、desktopCapturer

    4.1K30编辑于 2022-11-18
  • 来自专栏code秘密花园

    用JS开发跨平台桌面应用,从原理到实践

    以纯文本的形式写入剪贴板: clipboard.writeText(text[, type]) 以纯文本的形式获取剪贴板的内容: clipboard.readText([type]) 7.3 截图 desktopCapturer this.determineScreenShotSize() let options = { types: ['screen'], thumbnailSize: thumbSize } desktopCapturer.getSources

    8.3K50发布于 2019-06-15
  • 来自专栏code秘密花园

    Electron / Chromium 屏幕录制 - 那些我踩过的坑

    Electron 提供了一个获取各个“窗口”和“屏幕”视频 MediaSourceId 的通用 API import { desktopCapturer } from 'electron'; // 获取全部窗口或屏幕的mediaSourceId desktopCapturer.getSources({ types: ['screen', 'window'], // 设定需要捕获的是"屏幕"

    5.4K40发布于 2021-09-29
领券