0.0.4 • Published 2 years ago
alsa-volume v0.0.4
Usage
apt install build-essential git libasound2-dev
npm i alsa-volume
Example:
const alsaVolume = require('alsa-volume');
console.log('before', alsaVolume.getVolume('default', 'Line')); // Some value
alsaVolume.setVolume('default', 'Line', 42);
console.log('after', alsaVolume.getVolume('default', 'Line')); // 42
// Get min/max values for setVolume
const range = alsaVolume.getVolumeRange('default', 'Line');
console.log(range.min);
console.log(range.max);
// Mute
alsaVolume.setMute('default', 'Line', false);
alsaVolume.toggleMute('default', 'Line');
console.log(alsaVolume.getMute('default', 'Line')); // true
Use alsamixer
to identify mixer names. Usually Master
, PCM
, etc.
Usage Dev
apt install build-essential git libasound2-dev
git clone <this repo>
cd <this repo>
npm i
npm run-script build
In a seperate window, run alsamixer
, then:
node test
To-Do list
- Implement
snd_mixer_selem_get_playback_volume_range
instead of trial, error and hardcoding. See 1, 2, 3.
Credits
- alsa-monitor-node
- alsa-volume
- node-native-boilerplate
- NodeJS Advanced — How to create a native add-on using C++, GitHub Project
- elamperti for implementing mute & volumeRange functions