使用 Python、Windows 10 更改麦克风音量
Changing microphone volume using Python, Windows 10
由于 Microsoft Teams 会更改我的音频设置,我想编写一段代码,让一切恢复正常。我已经想出如何修复应用程序音量级别,但我被困在麦克风音量级别。
我无法找到任何使用 Python 更改麦克风音量的示例代码。我已经查看了 Microsoft 注册表是否可以尝试通过它进行更改,但运气不佳。
关于如何在 Python 中更改麦克风音量级别有什么建议吗?
你可以尝试一下:
Python-sounddeviceProvides bindings for the PortAudio library and a few convenience functions to play and record NumPy arrays containing audio signals. Here an example 绘制麦克风信号的代码。
或
Pyaudio。为跨平台音频 I/O 库 PortAudio 提供 Python 绑定。使用PyAudio,您可以轻松使用Python在各种平台上播放和录制音频,例如GNU/Linux、微软Windows、苹果MacOS 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 命令完成之前不会退出。
即使您没有团队,此代码也会稳定您的麦克风音量,因此您也可以随意使用它。
有一个和平的团队会议:)
由于 Microsoft Teams 会更改我的音频设置,我想编写一段代码,让一切恢复正常。我已经想出如何修复应用程序音量级别,但我被困在麦克风音量级别。
我无法找到任何使用 Python 更改麦克风音量的示例代码。我已经查看了 Microsoft 注册表是否可以尝试通过它进行更改,但运气不佳。
关于如何在 Python 中更改麦克风音量级别有什么建议吗?
你可以尝试一下:
Python-sounddeviceProvides bindings for the PortAudio library and a few convenience functions to play and record NumPy arrays containing audio signals. Here an example 绘制麦克风信号的代码。
或
Pyaudio。为跨平台音频 I/O 库 PortAudio 提供 Python 绑定。使用PyAudio,您可以轻松使用Python在各种平台上播放和录制音频,例如GNU/Linux、微软Windows、苹果MacOS 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 命令完成之前不会退出。
即使您没有团队,此代码也会稳定您的麦克风音量,因此您也可以随意使用它。
有一个和平的团队会议:)