PulseAudio pacmd
không có khả năng chuyển đổi các mức chìm mặc định trong khi có một luồng phát tích cực đến đầu vào chìm. Tuy nhiên có một cách để vẫn đạt được điều này.
Thay đổi chìm mặc định từ dòng lệnh
Đầu tiên chúng ta cần xác định số chỉ mục của các bồn mà chúng ta muốn chuyển đổi. Điều này có thể được thực hiện bằng cách gọi:
pacmd list-sinks
Tùy thuộc vào hệ thống của chúng tôi, điều này sẽ cung cấp cho bạn một danh sách dài hơn hoặc ít hơn các bồn rửa và các thuộc tính hiện có thể truy cập được:
>>> 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>
Các index
hoặc name
đưa ra ở đây là những gì chúng ta cần cho adressing bồn rửa bằng dòng lệnh. Các bồn rửa mặc định hiện tại được đánh dấu bằng một dấu sao (ở đây 0
).
Để có thể chuyển các mức chìm mặc định từ dòng lệnh, chúng tôi có thể cần phải tắt khôi phục thiết bị đích luồng bằng cách chỉnh sửa dòng sửa lỗi /etc/pulse/default.pa
thành:
load-module module-stream-restore restore_device=false
Để thay đổi chìm đầu ra mặc định thành chìm, 1
sau đó chúng tôi chạy
pacmd set-default-sink 1
Thành công có thể được hình dung bằng cách mở menu Cài đặt âm thanh .
Di chuyển một luồng đến bồn khác
Thay đổi mức chìm mặc định trong khi chúng ta có một luồng đầu vào hoạt động đang phát sang một mức chìm nhất định không có hiệu lực . Điều này nên được thực hiện bằng cách di chuyển đầu vào này sang bồn rửa khác.
pacmd list-sink-inputs
sẽ cho chúng ta biết chỉ số của luồng đầu vào
>>> 1 sink input(s) available.
index: 5
driver: <protocol-native.c>
Bây giờ chúng tôi biết rằng chúng tôi muốn di chuyển luồng đầu vào 5
bị chìm 1
bằng cách gọi
pacmd move-sink-input 5 1
hoặc quay lại chìm 0
nếu chúng ta thích. Điều này sẽ được thực hiện ngay lập tức mà không cần phải dừng phát lại.
Thay đổi chìm mặc định trong khi chơi
Tất nhiên chúng ta có thể kết hợp hai lệnh đó để chuyển ngay các mức chìm mặc định trong khi phát lại, ví dụ như với
pacmd set-default-sink 1 & pacmd move-sink-input 5 1
Một nhược điểm của phương pháp này là chỉ số luồng đầu vào thay đổi mỗi khi chúng ta dừng và khởi động lại trình phát nhạc. Vì vậy, chúng tôi luôn phải tìm ra chỉ số luồng hiện tại trước khi có thể chuyển đổi bằng cách sử dụng dòng commmand.
pactl list short sinks
>4 bluez_sink.FC_A8_9A_2C_EB_0B module-bluez5-device.c s16le 1ch 8000Hz IDLE
bây giờ chỉ cần tham chiếu tênpactl set-default-sink bluez_sink.FC_A8_9A_2C_EB_0B