如果您還沒有聽說過SoundSwitch,它的一個Windows應用程序允許您使用鍵盤快捷鍵切換聲音輸出/輸入設備。我爲Linux做了一個類似的應用程序,但我無法正常工作。大多數應用程序都做完了,如果你想看到完整的代碼,它在這裏:https://github.com/boskobs/sound-Source-Switch-4-Linux 貝婁是部分負責應用的變化:手動更改linux上的聲音輸出設備
os.system("pacmd set-default-sink " + str(nextindex))
output = subprocess.getoutput("pacmd list-sink-inputs")
for item in output.split("\n"):
if "index:" in item:
inputindex = item.strip().replace("index: ","")
os.system("pacmd move-sink-input " + str(inputindex) + " " + str(nextindex))
它改變默認的聲音輸出設備,並轉移該設備的所有當前應用程序。當我退出應用程序並切換輸出設備時會出現問題。下次我啓動該應用程序時,它輸出聲音的設備是在切換之前處於活動狀態的設備。我怎樣才能使新的默認輸出設備真正作爲默認工作?
向defaults.pa添加「load-module module-stream-restore restore_device = false」 修復了我的問題,但它使聲音設置GUI無響應(通過它切換它們不做任何事情)。我試圖找到一個沒有妥協的解決方案。無論如何,謝謝:) –
嗯,這是不幸的。我確實在某處讀過(也許在AU上,現在我忘記了),如果你試圖通過多個GUI應用程序來控制PulseAudio,他們會以奇怪的方式衝突,所以也許類似的事情正在發生......除非你說修改默認值.pa甚至沒有安裝你的應用程序borks的設置GUI? –
我的應用程序只是一個腳本,可以顯示一個gtk窗口給定一個參數,用於配置要在哪個索引之間切換,或者可以直接從gui切換。 所以,是的,我的應用程序與修改defaults.pa後系統gui無法正常工作無關。 將「restore_device = false」添加到具有「load-module module-stream-restore」的行中可以解決我的問題,但不幸的是,它用於管理聲音設備的系統GUI。 @大衛Z –