#!/usr/bin/env python3 import subprocess, sys # ============================================ # 修改下面这个数字即可调整音量,范围 0 ~ 100 # ============================================ VOLUME = 80 # 百分比 SINK = "alsa_output.usb-C-Media_Electronics_Inc._USB_Audio_Device-00.analog-stereo" def run(cmd): subprocess.run(cmd, capture_output=True, text=True) def get_volume(): r = subprocess.run(["pactl", "get-sink-volume", SINK], capture_output=True, text=True) for line in r.stdout.splitlines(): if "front-left:" in line: print(f"当前音量: {line.strip()}") return print(r.stdout.strip()) if len(sys.argv) > 1: try: v = int(sys.argv[1]) if 0 <= v <= 100: VOLUME = v else: print("音量需在 0~100 之间") sys.exit(1) except ValueError: print(f"用法: python3 set_volume.py [0~100]") sys.exit(1) print(f"设置音量为 {VOLUME}% ...") run(["pactl", "set-sink-volume", SINK, f"{VOLUME}%"]) # 有硬件 PCM 则同步设置 r = subprocess.run(["amixer", "-c", "1", "set", "PCM", f"{VOLUME}%", "unmute"], capture_output=True, text=True) if r.returncode == 0: print("已同步硬件 PCM") get_volume()