直接看代码:
from ctypes import cast, POINTER
from comtypes import CLSCTX_ALL
from pycaw.pycaw import AudioUtilities, IAudioEndpointVolume
# 获取自己的音频设备及其参数
devices = AudioUtilities.GetSpeakers()
interface = devices.Activate(IAudioEndpointVolume._iid_, CLSCTX_ALL, None)
volume = cast(interface, POINTER(IAudioEndpointVolume))
# 获取音量范围,我的电脑经测试是(-65.25, 0.0, 0.03125),第一个代表最小值,第二个代表最大值,第三个是增量。
vol_range = volume.GetVolumeRange()
print(vol_range)
# 获取当前的音量值
vol_now = volume.GetMasterVolumeLevel()
#由于vol_range与0-100这个不是对应的关系,不方便设置实际的声音,故需要进行装换,但是无法得知其转换关系,只能通过字典的形式查询:
def vol_tansfer(x):
dict = {0: -65.25, 1: -56.99, 2: -51.67, 3: -47.74, 4: -44.62, 5: -42.03, 6: -39.82, 7: -37.89, 8: -36.17,
9: -34.63, 10: -33.24,
11: -31.96, 12: -30.78, 13: -29.68, 14: -28.66, 15: -27.7, 16: -26.8, 17: -25.95, 18: -25.15, 19: -24.38,
20: -23.65,
21: -22.96, 22: -22.3, 23: -21.66, 24: -21.05, 25: -20.46, 26: -19.9, 2

本文介绍了一个使用Python实现的音量调节脚本。该脚本利用pycaw库获取和设置系统的音量,并提供了一个用于将音量百分比转换为实际音量级别的函数。此外,还演示了如何检查当前的静音状态。
&spm=1001.2101.3001.5002&articleId=122015776&d=1&t=3&u=91aad8c593d844b798dab32b99724367)
1万+

被折叠的 条评论
为什么被折叠?



