概要
Pythonのアプリを作っていて、アプリからWindowsのマスターボリュームをいじりたくなり、色々調べたらPycawというライブラリでできたのでメモ
- プロセス名を指定すればアプリケーション毎にボリュームの設定が可能
- win32APIのISimpleAudioVolumeインターフェースをPythonで使えるようなイメージ
Pycawのインストール
- pip経由でPycawを落としてくる
pip install pycaw
使い方
- 例:全てのアプリ(全てのSession)をMuteする
""" Per session GetMute() SetMute() using ISimpleAudioVolume. """ from __future__ import print_function from pycaw.pycaw import AudioUtilities, ISimpleAudioVolume def main(): sessions = AudioUtilities.GetAllSessions() for session in sessions: volume = session._ctl.QueryInterface(ISimpleAudioVolume) print("volume.GetMute(): %s" % volume.GetMute()) volume.SetMute(1, None) if __name__ == "__main__": main()
結果
- 全てのアプリをMuteすることができた。