9个月前,一位先生问了这个问题。它从来没有得到正确的回答,线程被关闭。他被告知这样做:
在Windows上,使用pycaw:
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))
volume.GetMasterVolumeLevelScalar()
有了这个,线程被关闭,但这不是答案,这个标量级别不是系统托盘中PC监视器上显示的主卷的0- 100级别。我已经安装了pycaw和comtypes,目前使用的是python3.11.1。我已经把上面所有的命令都输入到我的python中了。请问我可以知道使用什么命令来获得我的主卷的确切输出。如果我的电脑体积是50,我希望输出为50。使用上述指令,在pc卷级别100处,标量级别输出为1。这对我来说毫无价值。请帮帮我
我试着用命令
volume.GetMasterVolume()
希望能得到大师级的回报。我得到了一个错误:
>>> volume.GetMasterVolume()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'POINTER(IAudioEndpointVolume)' object has no attribute 'GetMasterVolume'. Did you mean: 'GetMasterVolumeLevel'?
所以我尝试了volume.GetMasterVolumeLevel(),在100主音量时,它返回了0.0,再次毫无价值。
为什么volume.GetMasterVolume()不起作用?我该怎么做才能让它起作用?
1条答案
按热度按时间r3i60tvu1#
Woohoo!!当人类失败时,依靠人工智能:)此外,是时候在人工智能毁灭世界之前,我从它那里得到一些东西了。我是在EvenGhost程序论坛上的一个用户给我的使用ChatGTP的想法,只花了两次尝试就得到了我想要的。这是Python 3.11.1的Python脚本,它可以打印出你的PC的真实体积。没有分贝,没有wierd百分比水平,只是真正的音量:
当我手动拖动我的滑块到27%音量并运行脚本时,我得到了26.97%的回报,当我使用脚本将音量设置为50%然后启动此脚本时,我得到了50.00%的回报,当我将滑块设置为最大值并运行此脚本时,我得到了100.00%的回报。我完全按照我的意愿工作,我怀疑正是9个月前的行动所寻找的。我会努力找到他,把他变成这样:)