PulseAudio pacmd
ไม่สามารถสลับ sinks เริ่มต้นได้ในขณะที่มีสตรีมเล่นไปยังอ่างอินพุต อย่างไรก็ตามมีวิธีที่จะยังคงบรรลุเป้าหมายนี้อยู่
การเปลี่ยน sink เริ่มต้นจากบรรทัดคำสั่ง
ก่อนอื่นเราต้องกำหนดหมายเลขดัชนีของอ่างล้างมือที่เราต้องการเปลี่ยน สิ่งนี้สามารถทำได้โดยการโทร:
pacmd list-sinks
ขึ้นอยู่กับระบบของเราซึ่งจะให้รายการอ่างล้างมือและคุณสมบัติที่มีความยาวมากขึ้นหรือน้อยลงซึ่งคุณสามารถเข้าถึงได้ในปัจจุบัน:
>>> 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>
index
หรือname
ให้ที่นี่เป็นสิ่งที่เราต้องการสำหรับ adressing อ่างล้างจานโดยบรรทัดคำสั่ง sink เริ่มต้นปัจจุบันถูกทำเครื่องหมายด้วยเครื่องหมายดอกจัน (ที่นี่0
)
เพื่อให้สามารถสลับ sinks เริ่มต้นจากบรรทัดคำสั่งเราอาจต้องปิดการสตรีมอุปกรณ์เป้าหมายคืนค่าโดยการแก้ไขบรรทัดที่เกี่ยวข้องใน/etc/pulse/default.pa
การ:
load-module module-stream-restore restore_device=false
ในการเปลี่ยน sink เริ่มต้นให้เป็น Sink 1
เราก็ทำการรัน
pacmd set-default-sink 1
สามารถมองเห็นความสำเร็จได้โดยการเปิดเมนูการตั้งค่าเสียง
การย้ายกระแสไปยังอ่างอื่น
เปลี่ยนอ่างเริ่มต้นในขณะที่เรามีกระแสอินพุทที่ใช้งานการเล่นที่จะจมได้รับไม่มีผล สิ่งนี้ควรทำโดยการย้ายอินพุตนี้ไปยัง sink อื่น
pacmd list-sink-inputs
จะบอกดัชนีของสตรีมอินพุตให้เราทราบ
>>> 1 sink input(s) available.
index: 5
driver: <protocol-native.c>
ตอนนี้เรารู้แล้วว่าเราต้องการย้ายกระแสข้อมูลเข้า5
สู่การจม1
โดยการโทร
pacmd move-sink-input 5 1
หรือกลับไปจม0
ถ้าเราชอบ สิ่งนี้จะเกิดขึ้นทันทีโดยไม่จำเป็นต้องหยุดเล่น
เปลี่ยนอ่างเริ่มต้นในขณะที่เล่น
แน่นอนว่าเราสามารถรวมสองคำสั่งเหล่านั้นเพื่อเปลี่ยน sinks เริ่มต้นทันทีในระหว่างการเล่นเช่นกับ
pacmd set-default-sink 1 & pacmd move-sink-input 5 1
ข้อเสียของวิธีนี้คือดัชนีอินพุทอินพุทเปลี่ยนทุกครั้งที่เราหยุดและรีสตาร์ทเครื่องเล่นเพลง ดังนั้นเราจึงต้องค้นหาดัชนีสตรีมปัจจุบันก่อนที่เราจะสามารถสลับโดยใช้บรรทัด commmand
pactl list short sinks
>4 bluez_sink.FC_A8_9A_2C_EB_0B module-bluez5-device.c s16le 1ch 8000Hz IDLE
ตอนนี้เพียงแค่อ้างอิงชื่อpactl set-default-sink bluez_sink.FC_A8_9A_2C_EB_0B