微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 Python、Windows 10 更改麦克风音量

如何解决使用 Python、Windows 10 更改麦克风音量

由于 Microsoft Teams 倾向于更改我的音频设置,因此我想编写一个代码,将一切恢复正常。我已经想出了如何修复应用程序音量级别,但我一直停留在麦克风音量级别。

我找不到任何使用 Python 更改麦克风音量的示例代码。如果我可以尝试通过它更改它,我已经查看了 Microsoft 注册表,但不走运。

有关如何在 Python 中更改麦克风音量级别的任何建议?

解决方法

你可以试试:

Python-sounddevice提供用于所述PortAudio库和几个方便的函数来播放和记录包含音频信号NumPy的阵列绑定。 Here an example码来绘制所述麦克风信号。

Pyaudio。提供PortAudio,跨平台音频I / O库Python绑定。随着PyAudio,您可以轻松地使用Python播放和录制音频的各种平台,如GNU / Linux的,微软Windows和苹果Mac OS X / MacOS的。

,

好的,经过长时间的挖掘,我找到了命令提示符的 nircmd.exe 扩展名,它可以处理更改的音频设置。于是,我编写了一段代码,将 Teams 的主音频和麦克风音量设置回我想要的音量。

如果您正在寻找类似的东西,这里是代码:

# STAN = Set Teams Auto-adjustment to Normal

from __future__ import print_function
from pycaw.pycaw import AudioUtilities,ISimpleAudioVolume
import os


def main():
    sessions = AudioUtilities.GetAllSessions()

    for session in sessions:
        volume = session._ctl.QueryInterface(ISimpleAudioVolume)

        if session.Process and session.Process.name() == "Teams.exe":
            print("Teams audio is stabilized...")

            volume.SetMasterVolume(0.18,None)
            # 18% of system master volume
            

    print("Microphone is being stabilized...")
    os.system("nircmdc.exe loop 144000 250 setsysvolume 45875 default_record")
    # nircmdc.exe loop /number of loops/ /time in ms to execute one loop/ setsysvolume /65536 == 100%/ /device/

    print("Stabilization finished")


if __name__ == "__main__":
    main()

我应该补充一点,要使此代码正常工作,您需要将 nircmd.exe 与代码文件位于同一目录中。

此外,为了稳定 Teams 主音量,您需要在每次会议之前运行此代码,因为该代码会进入循环并且在 nircmd 命令完成之前不会退出。

即使您没有团队,此代码也会稳定您的麦克风音量,因此也可以随意使用它。

召开一个和平的团队会议:)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。