如何使用 Python 设置 Windows 音频平衡

在我们的上一篇文章中,我们展示了如何使用 pycaw 设置 Windows 音量。

首先,我们使用以下命令安装库

install_pycaw.sh
pip install pycaw

注意:pycaw 适用于 WSL(Windows Subsystem for Linux)!你实际上需要在 Windows 上运行的 Python 环境中安装它。我推荐 Anaconda

为了设置音频平衡,我们可以使用 volume.SetChannelVolumeLevel(...)

set_audio_balance.py
from ctypes import cast, POINTER
from comtypes import CLSCTX_ALL
from pycaw.pycaw import AudioUtilities, IAudioEndpointVolume
import math

# 使用 PyCAW 获取默认音频设备
devices = AudioUtilities.GetSpeakers()
interface = devices.Activate(
    IAudioEndpointVolume._iid_, CLSCTX_ALL, None)
volume = cast(interface, POINTER(IAudioEndpointVolume))

# 获取左声道的当前音量
currentVolumeLeft = volume.GetChannelVolumeLevel(0)
# 将右声道的音量设置为左声道音量的一半
volume.SetChannelVolumeLevel(1, currentVolumeLeft - 6.0, None)
# 注意:-6.0 dB = 一半音量!

注意按照惯例,左声道是通道 0,右声道是通道 1。根据声卡的类型,可能有少至 1 个通道(例如单声道耳机)或多至多通道 USB 音频接口中的许多通道。使用 volume.GetChannelCount() 获取通道数。


Check out similar posts by category: Audio, Python, Windows