【问题标题】:Changing microphone volume using Python, Windows 10使用 Python、Windows 10 更改麦克风音量
【发布时间】:2021-04-12 03:51:24
【问题描述】:

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

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

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

【问题讨论】:

    标签: python windows audio microphone


    【解决方案1】:

    你可以试试:

    Python-sounddevice提供 PortAudio 库的绑定和一些方便的函数来播放和记录包含音频信号的 NumPy 数组。 Here an example 绘制麦克风信号的代码。

    Pyaudio。为跨平台音频 I/O 库 PortAudio 提供 Python 绑定。借助 PyAudio,您可以轻松地使用 Python 在各种平台上播放和录制音频,例如 GNU/Linux、Microsoft Windows 和 Apple Mac OS X/macOS。

    【讨论】:

      【解决方案2】:

      好的,经过长时间的挖掘,我找到了命令提示符的 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 命令完成之前不会退出。

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

      有一个和平的团队会议:)

      【讨论】:

        猜你喜欢
        • 2022-12-11
        • 2013-01-29
        • 2013-03-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-05
        • 2013-09-18
        • 2023-04-02
        相关资源
        最近更新 更多