PulseAudio pacmd
tidak mampu mengalihkan bak cuci default saat ada aliran pemutaran yang aktif ke input bak cuci. Namun ada cara untuk tetap mencapai ini.
Mengubah bak cuci standar dari baris perintah
Pertama kita perlu menentukan nomor indeks dari sink yang ingin kita ganti. Ini dapat dilakukan dengan menelepon:
pacmd list-sinks
Bergantung pada sistem kami, ini akan memberi Anda daftar sink dan properti yang kurang lebih panjang yang saat ini dapat diakses:
>>> 2 sink(s) available.
* index: 0
name: <alsa_output.pci-0000_01_00.1.hdmi-stereo-extra1>
driver: <module-alsa-card.c>
:
:
index: 1
name: <alsa_output.pci-0000_00_14.2.analog-stereo>
driver: <module-alsa-card.c>
The index
atau name
diberikan di sini adalah apa yang kita butuhkan untuk adressing wastafel dengan baris perintah. Wastafel default sekarang ditandai dengan asterix (di sini 0
).
Untuk dapat mengalihkan bak cuci default dari baris perintah, kita mungkin perlu menonaktifkan aliran target perangkat dengan mengedit baris yang sesuai di /etc/pulse/default.pa
:
load-module module-stream-restore restore_device=false
Untuk mengubah wastafel keluaran default ke wastafel 1
kami kemudian jalankan
pacmd set-default-sink 1
Sukses dapat divisualisasikan dengan membuka menu Pengaturan Suara .
Memindahkan aliran air ke bak cuci yang lain
Mengubah wastafel default sementara kami memiliki aliran input aktif yang diputar ke wastafel yang diberikan tidak berpengaruh . Ini lebih baik dilakukan dengan memindahkan input ini ke sink lainnya.
pacmd list-sink-inputs
akan memberi tahu kami indeks aliran input
>>> 1 sink input(s) available.
index: 5
driver: <protocol-native.c>
Kita sekarang tahu bahwa kita ingin memindahkan aliran input 5
ke sink 1
dengan menelepon
pacmd move-sink-input 5 1
atau kembali tenggelam 0
jika kita mau. Ini akan segera dilakukan tanpa perlu menghentikan pemutaran.
Mengubah bak cuci bawaan saat bermain
Tentu saja kita dapat menggabungkan kedua perintah itu untuk segera mengganti bak cuci default selama pemutaran misalnya dengan
pacmd set-default-sink 1 & pacmd move-sink-input 5 1
Kelemahan dari metode ini adalah bahwa indeks aliran input berubah setiap kali kita menghentikan dan memulai ulang pemutar musik. Jadi kita selalu harus mencari tahu indeks aliran saat ini sebelum kita bisa beralih menggunakan garis commmand.
pactl list short sinks
>4 bluez_sink.FC_A8_9A_2C_EB_0B module-bluez5-device.c s16le 1ch 8000Hz IDLE
sekarang hanya merujuk namapactl set-default-sink bluez_sink.FC_A8_9A_2C_EB_0B
set-default-sink
tetapi Anda masih membutuhkan nomor indeksmove-sink-input
.0 sink input(s) available.
? Tapi flash player yang menyebalkan itu masih memutar audio?client(s) logged in
bagianpacmd list
Saya telah menulis skrip sederhana untuk memindahkan semua input-sink secara otomatis.
Pemakaian:
./movesinks.sh <sink number>
sumber
Versi perbaikan skrip @Gaco
salinan runtime saya ada di github dan termasuk juga pengalihan otomatis saluran Master untuk
kmix
sumber
Ada skrip ruby (yang awalnya saya forked dan penulisan ulang bagian dari) yang memungkinkan Anda mengubah status default, volume, dan bisu dari baris perintah.
sumber
Saya mengumpulkan beberapa hal dari beberapa tempat berbeda dan membuat skrip ini untuk mengatur JAMBOX bluetooth setelah dipasangkan. MAC Anda tentu saja akan berbeda. Karena saya mengontrol volume JAMBOX melalui aplikasi Clementine, 130% volume berfungsi paling baik dalam kasus saya. Anda mungkin ingin mengubah ini, bersama dengan rhythmbox.png (itu adalah satu-satunya gambar speaker yang dapat saya temukan di komputer saya). Pemeriksaan kesalahan belum sempurna, tetapi berfungsi dengan cukup andal. Saya meletakkan ini di peluncur desktop untuk kenyamanan di netbook ASUS.
sumber
pactl list short
. Anda dapat menyederhanakan baris berikut dengan melakukan cut langsung setelah:pactl list short sink-inputs | cut -f1 | while read streamId
berfungsi untuk saya.SINKS LINGKARAN LINGKARAN.
Script Gaco dengan hanya satu baris lagi untuk lingkaran-beralih melalui sink yang tersedia.
sumber
Dan inilah skrip yang akan beralih di antara sink juga:
http://marginalhacks.com/index.0.html#pulse-switch-out
Berikut skrip di bawah ini:
sumber
Berdasarkan jawaban Gaco, saya menulis ulang sedikit untuk penggunaan pribadi saya. Mungkin seseorang menganggapnya berguna. Ini untuk mengaktifkan Speaker USB dan headset Gaming USB saya.
sumber
Saya pikir ada satu opsi lagi yang perlu disebutkan dan tersedia di halaman resmi untuk FAQ tentang PulseAudio di freedesktop.org . Di bawah Judul berikut:
Mereka menyediakan skrip berikut untuk melakukannya:
sumber
Saya mengadaptasi @mpapis ke "toggle sink0 atau sink1" sederhana ketika dijalankan:
sumber