Repository navigation
Audio now uses the consuming entry-point filename as its application label by default. Use new Player({ applicationName: 'My app' }) to supply a product name. Existing playback calls remain compatible.
- Windows WASAPI: set the audio-session display name and reapply it after device rerouting.
- Linux PulseAudio / PipeWire compatibility: set both application and playback stream names.
- macOS Core Audio and ALSA: preserve playback and process isolation; these platforms do not offer an equivalent application-label override. Process-based tools may still identify the helper on every platform. See platform behavior.
Names are validated and bounded; each player keeps its identity across helper restarts. Protocol 4 requires JavaScript and native executables to be updated together. The package includes all six supported native targets. No runtime npm dependencies, external players, or install-time compilation. Node.js 22+ remains required.
The release workflow validates 116 tests across Windows, macOS, and Linux, x64 and ARM64, on Node 22/24, plus sanitizers, documentation, installed-package checks, and npm publication dry-run. Windows real-device playback and independent session metadata were checked; Linux CI verifies real PulseAudio metadata. Physical Windows device switching, PipeWire itself, third-party mixer UIs, and macOS/Linux speaker listening remain unverified.
Install with npm install node-playsound@latest.
The attached node-playsound-0.3.0.tgz is byte-for-byte identical to npm's package. GitHub's automatically generated source downloads are separate source-code archives.