electron调节windows系统音量解决方案

借助NirCmd的能力
官方地址
下载地址
使用NirCmd的相应命令

将音量设为最高值
nircmd.exe setsysvolume 65535
静音
nircmd.exe mutesysvolume 1
取消静音
nircmd.exe mutesysvolume 0

使用node.js的execFile方法,不要使用exec,不然会找不到app.asar中的可执行文件的路径
下面是封装的工具类

const getLogger = require('../logger')
const defaultLogger = getLogger('/volumeUtil.js')
const path = require('path')

/**
 * 设置系统音量
 */
const volumeUtil = module.exports

/**
 * 取消
 */
const nircmdPath = path.join(__dirname, '../../keepAliveHelper', 'nircmd.exe')
volumeUtil.setSysVolume = function (volume) {
     
  try {
     
    defaultLogger.info('设置系统音量:', volume)
    volume = 65535 * volume / 100
    // 取消系统静音
    const execFile = require('child_process').execFile
    execFile(nircmdPath, ['mutesysvolume', 0], function (error, data) {
     
      if (error) {
     
        defaultLogger.info('取消系统静音:', error)
      }
    })
    execFile(nircmdPath, ['setsysvolume', volume], function (error, data) {
     
      if (error) {
     
        defaultLogger.info('设置系统音量失败:', error)
      }
    })
  } catch (error) {
     
    defaultLogger.info('设置系统音量失败:', error)
  }
}

你可能感兴趣的:(electron,系统音量,javascript,node.js)