New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

process-audio-capture

Package Overview
Dependencies
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

process-audio-capture

Native process-level audio capture for Node.js and Electron applications

latest
Source
npmnpm
Version
1.0.14
Version published
Maintainers
1
Created
Source

process-audio-capture

English | 中文

Node.js and Electron native plugin for capturing audio from specific processes

Quick Start

System Requirements

  • macOS 14.4+
  • Windows 10+
  • Linux not supported

Installation

npm install process-audio-capture

Usage Examples

Basic Electron Application Usage

1. Main Process Setup

import { setupAudioCaptureIpc } from "process-audio-capture/dist/main";
// Setup IPC handlers
setupAudioCaptureIpc();

2. Preload Script

import { exposeAudioCaptureApi } from "process-audio-capture/dist/preload";
// Expose API to renderer process
exposeAudioCaptureApi();

3. Renderer Process Usage

// Use window.processAudioCapture to access all APIs

// Get process list
const processes = await window.processAudioCapture.getProcessList();

// Listen to audio data
window.processAudioCapture.onAudioData((audioData) => {
  console.log("Audio data:", audioData);
});

// Start capturing audio from specified process
const pid = processes[0].pid; // Example: capture from first process
await window.processAudioCapture.startCapture(pid);

Custom Electron Application Implementation

// Import audioCapture object or AudioCapture class in main process
// Implement custom IPC handling logic
import { audioCapture, AudioCapture } from "process-audio-capture";

Node.js Application

const { audioCapture } = require("process-audio-capture");

// Check platform support
if (audioCapture.isPlatformSupported()) {
  // Request permission
  const permission = await audioCapture.requestPermission();

  if (permission.status === "authorized") {
    // Get process list
    const processes = audioCapture.getProcessList();

    // Start capturing audio
    audioCapture.startCapture(processes[0].pid, (audioData) => {
      console.log("Audio data:", audioData);
    });
  }
}

Complete Examples

API Reference

Core Methods

MethodDescriptionReturn Value
isPlatformSupported()Check if current platform is supportedboolean
checkPermission()Check audio capture permissionPermissionStatus
requestPermission()Request audio capture permissionPromise<PermissionStatus>
getProcessList()Get list of processes with audioProcessInfo[]
startCapture(pid, callback)Start capturing audio from processboolean
stopCapture()Stop audio captureboolean

Permission Setup

Windows

No special permission configuration required

macOS

Requires NSAudioCaptureUsageDescription permission

⚠️ Development Notes

  • Only packaged apps will show permission dialog when calling requestPermission()
  • In development, add your IDE or Electron.app to system permissions: System SettingsPrivacy & SecurityScreen & System Audio RecordingSystem Audio Only

Acknowledgments

Thanks to the following projects for inspiration and reference:

License

MIT License

Keywords

electron

FAQs

Package last updated on 06 Jan 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts