ฉันกำลังพยายามสลับระหว่างเอาต์พุตเสียงของหูฟังและลำโพงอย่างรวดเร็ว ทั้งสองเชื่อมต่อกับเมนบอร์ดของฉันซึ่งมีไฟล์ ไลน์เอาท์
และ ก ออปติคัลออดิโอเอาท์
ไลน์. ฉันต้องการทำสิ่งนี้ผ่านสองคำสั่งเพื่อให้ฉันสามารถเพิ่มเป็นมาโคร / ปุ่มลัด
- ลำโพง -> ออปติคัลออดิโอ
- หูฟัง -> สายออก
ฉันสามารถเปลี่ยนจากลำโพงเป็นหูฟังได้สำเร็จโดยใช้ การตั้งค่า > เสียง > เอาท์พุต
เมนูที่แสดงรายการตัวเลือกเสียง 4 รายการที่ฉันเสียบไว้ได้สำเร็จ อีกสองรายการคือการเชื่อมต่อ DP/HDMI ผ่านกราฟิกการ์ด หากตอนนี้ฉันพยายามเปลี่ยนกลับไปใช้ลำโพงจากหูฟัง จะไม่มีเสียงออกมา ฉันมี 'วิธีแก้ปัญหา' ที่ฉันหยุดเสียงทั้งหมดชั่วคราว สลับไปที่เอาต์พุตกราฟิกการ์ดตัวใดตัวหนึ่ง รอ 5 วินาที เปลี่ยนไปใช้ลำโพง รอ 5 วินาที จากนั้นเล่นเพลง และจนถึงขณะนี้สามารถแก้ไขปัญหาได้อย่างน่าเชื่อถือ
ฉันได้พยายามที่จะใช้ แพ็คเติ้ล
เพื่อเปลี่ยนผลลัพธ์ซึ่งฉันคิดว่าน่าจะเป็น อ่างล้างมือ
แต่ฉันมีอ่างล้างจานเพียงสองอ่างเท่านั้น:
â ~ รายการ pactl สั้นลง
55 alsa_output.pci-0000_2d_00.4.iec958-สเตอริโอ PipeWire s32le 2ch 48000Hz RUNNING
52 alsa_output.pci-0000_2b_00.1.hdmi-stereo-extra1 PipeWire s16le 2ch 48000Hz ระงับ
นี่คือการแสดงขณะฟังเสียงจากลำโพง ด้านล่างคือขณะเปิดเสียงที่หูฟัง
â ~ รายการ pactl สั้นลง
52 alsa_output.pci-0000_2b_00.1.hdmi-stereo-extra1 PipeWire s16le 2ch 48000Hz ระงับ
55 alsa_output.pci-0000_2d_00.4.analog-stereo PipeWire s32le 2ch 48000Hz กำลังทำงาน
ฉันถือว่าสิ่งเหล่านี้ อ่างล้างมือ
สอดคล้องกับการ์ดเสียงของเมนบอร์ดและเอาต์พุต GPU ในกรณีนี้ฉันคาดหวังว่าการเปลี่ยน พอร์ตอุปกรณ์
จะเป็นคำสั่งที่ฉันกำลังมองหา
â ~ pactl set-sink-port alsa_output.pci-0000_2d_00.4.iec958-สเตอริโอ อนาล็อก-สเตอริโอ
ความล้มเหลว: ไม่มีเอนทิตีดังกล่าว
ฉันค่อนข้างสับสนเกี่ยวกับวิธีทำให้สิ่งนี้ใช้งานได้ ความช่วยเหลือใด ๆ ที่ชื่นชมอย่างมาก
ด้านล่างนี้เป็นข้อมูลบางอย่างที่ฉันเชื่อว่าจะมีความสำคัญ
ระบบปฏิบัติการ: อูบุนตู 21.10
ด้านล่างนี้คือผลลัพธ์ของ ข้อมูลข้อตกลง
โดยลบชื่อผู้ใช้ของฉัน:
สตริงเซิร์ฟเวอร์: /run/user/1000/pulse/native
เวอร์ชันโปรโตคอลห้องสมุด: 35
เซิร์ฟเวอร์โปรโตคอลเวอร์ชัน: 35
เป็นคนท้องถิ่น: ใช่
ดัชนีลูกค้า: 68
ขนาดกระเบื้อง: 65472
ชื่อผู้ใช้: {USER}
ชื่อโฮสต์: อูบุนตู
ชื่อเซิร์ฟเวอร์: PulseAudio (บน PipeWire 0.3.38)
เวอร์ชันเซิร์ฟเวอร์: 15.0.0
ข้อกำหนดตัวอย่างเริ่มต้น: float32le 2ch 48000Hz
แผนที่ช่องเริ่มต้น: หน้า-ซ้าย, หน้า-ขวา
ซิงก์เริ่มต้น: alsa_output.pci-0000_2d_00.4.iec958-stereo
แหล่งที่มาเริ่มต้น: alsa_input.usb-Sonix_Technology_Co.__Ltd._USB_2.0_Camera_SN0001-02.analog-stereo
คุกกี้: bf70:5e64
แก้ไข
จากคำตอบและความคิดเห็นของ @kanehekili ดูเหมือนว่าฉันต้องการตั้งค่า อ่างล้างพอร์ต
. วิธีทำก็คือใช้ pactl set-sink-port {SINK_NAME} {PORT_NAME}
อย่างไรก็ตามพอร์ตของฉันไม่มีอยู่ตาม รายการ pactl จม
:
â ~ รายการ pactl จม
อ่างล้างจาน #47
รัฐ: วิ่ง
ชื่อ: alsa_output.pci-0000_2d_00.4.iec958-สเตอริโอ
คำอธิบาย: Starship/Matisse HD Audio Controller Digital Stereo (IEC958)
ไดรเวอร์: PipeWire
ตัวอย่างสเปค: s32le 2ch 48000Hz
แผนที่ช่อง: หน้า-ซ้าย, หน้า-ขวา
โมดูลเจ้าของ: 4294967295
ปิดเสียง: ไม่
ระดับเสียง: ด้านหน้า-ซ้าย: 28524 / 44% / -21.68 dB, ด้านหน้า-ขวา: 28524 / 44% / -21.68 dB
ยอดคงเหลือ 0.00
ปริมาณฐาน: 65536 / 100% / 0.00 dB
แหล่งที่มาของจอภาพ: alsa_output.pci-0000_2d_00.4.iec958-stereo.monitor
เวลาแฝง: 0 usec, กำหนดค่า 0 usec
ค่าสถานะ: HARDWARE HW_MUTE_CTRL DECIBEL_VOLUME LATENCY SET_FORMATS
คุณสมบัติ:
object.path = "alsa:pcm:1:iec958:1:playback"
api.alsa.path = "iec958:1"
api.alsa.pcm.card = "1"
api.alsa.pcm.stream = "เล่น"
audio.channels = "2"
audio.position = "FL,FR"
อุปกรณ์ เส้นทาง = "1"
alsa. resolution_bits = "16"
device.api = "อัลซ่า"
device.class = "เสียง"
alsa.class = "ทั่วไป"
alsa.subclass = "ผสมทั่วไป"
alsa.name = "ALCS1200A ดิจิตอล"
alsa.id = "ALCS1200A ดิจิตอล"
alsa.subdevice = "0"
alsa.subdevice_name = "อุปกรณ์ย่อย #0"
alsa.device = "1"
alsa.card = "1"
alsa.card_name = "HD-เสียงทั่วไป"
alsa.long_card_name = "HD-Audio Generic ที่ 0xfc400000 irq 80"
alsa.driver_name = "snd_hda_intel"
device.profile.name = "iec958-สเตอริโอ"
device.profile.description = "สเตอริโอดิจิตอล (IEC958)"
card.profile.device = "11"
device.id = "41"
ชื่อโรงงาน = "api.alsa.pcm.sink"
ลำดับความสำคัญไดรเวอร์ = "672"
ลำดับความสำคัญ เซสชัน = "672"
media.class = "เสียง/ซิงก์"
node.nick = "HD-Audio ทั่วไป"
node.name = "alsa_output.pci-0000_2d_00.4.iec958-สเตอริโอ"
device.description = "Starship/Matisse HD Audio Controller สเตอริโอดิจิตอล (IEC958)"
device.icon_name = "การ์ดเสียง-iec958"
device.bus = "pci"
device.bus_path = "pci-0000:2d:00.4"
node.pause-on-idle = "เท็จ"
โรงงาน.id = "18"
client.id = "32"
node.driver = "จริง"
factory.mode = "ผสาน"
audio.adapt.follower = ""
library.name = "audioconvert/libspa-audioconvert"
object.id = "47"
node.max-latency = "8192/48000"
พอร์ต:
เอาต์พุตสเตอริโอ iec958: เอาต์พุตดิจิตอล (S/PDIF) (ประเภท: SPDIF, ลำดับความสำคัญ: 0, ไม่ทราบความพร้อมใช้งาน)
พอร์ตที่ใช้งาน: iec958-สเตอริโอเอาต์พุต
รูปแบบ:
พีซีเอ็ม
เมื่อฉันพยายามเปลี่ยนพอร์ต sink ฉันพบกับข้อผิดพลาด
â ~ pactl set-sink-port alsa_output.pci-0000_2d_00.4.iec958-สเตอริโอ อนาล็อก-สเตอริโอ
ความล้มเหลว: ไม่มีเอนทิตีดังกล่าว
เหตุการณ์ข้างต้นเกิดขึ้นแม้ว่าจะใช้ตัวระบุที่เป็นตัวเลขสำหรับซิงก์ก็ตาม ดูเหมือนว่าพอร์ตที่ฉันกำลังมองหาไม่มีอยู่ แต่ฉันสามารถเปลี่ยนพอร์ตได้โดยใช้เมนูการตั้งค่าที่ฉันกล่าวถึงข้างต้น และเรียกใช้พอร์ตเดียวกัน รายการ pactl จม
เปลี่ยนพอร์ตเพื่อให้ my iec958-สเตอริโอ
ไม่มีพอร์ตอีกต่อไป:
â ~ รายการ pactl จม
อ่างล้างจาน #47
รัฐ: วิ่ง
ชื่อ: alsa_output.pci-0000_2d_00.4.analog-stereo
รายละเอียด: Starship/Matisse HD Audio Controller อะนาล็อกสเตอริโอ
ไดรเวอร์: PipeWire
ตัวอย่างสเปค: s32le 2ch 48000Hz
แผนที่ช่อง: หน้า-ซ้าย, หน้า-ขวา
โมดูลเจ้าของ: 4294967295
ปิดเสียง: ไม่
ระดับเสียง: หน้า-ซ้าย: 31249 / 48% / -19.30 dB, หน้า-ขวา: 31249 / 48% / -19.30 dB
ยอดคงเหลือ 0.00
ปริมาณฐาน: 65536 / 100% / 0.00 dB
แหล่งที่มาของจอภาพ: alsa_output.pci-0000_2d_00.4.analog-stereo.monitor
เวลาแฝง: 0 usec, กำหนดค่า 0 usec
ค่าสถานะ: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY
คุณสมบัติ:
object.path = "alsa:pcm:1:front:1:playback"
api.alsa.path = "ด้านหน้า:1"
api.alsa.pcm.card = "1"
api.alsa.pcm.stream = "เล่น"
audio.channels = "2"
audio.position = "FL,FR"
อุปกรณ์ เส้นทาง = "2"
alsa. resolution_bits = "16"
device.api = "อัลซ่า"
device.class = "เสียง"
alsa.class = "ทั่วไป"
alsa.subclass = "ผสมทั่วไป"
alsa.name = "ALCS1200A อนาล็อก"
alsa.id = "ALCS1200A อะนาล็อก"
alsa.subdevice = "0"
alsa.subdevice_name = "อุปกรณ์ย่อย #0"
alsa.device = "0"
alsa.card = "1"
alsa.card_name = "HD-เสียงทั่วไป"
alsa.long_card_name = "HD-Audio Generic ที่ 0xfc400000 irq 80"
alsa.driver_name = "snd_hda_intel"
device.profile.name = "อะนาล็อกสเตอริโอ"
device.profile.description = "สเตอริโออะนาล็อก"
card.profile.device = "5"
device.id = "41"
ชื่อโรงงาน = "api.alsa.pcm.sink"
ลำดับความสำคัญไดรเวอร์ = "689"
ลำดับความสำคัญ เซสชัน = "689"
media.class = "เสียง/ซิงก์"
node.nick = "HD-Audio ทั่วไป"
node.name = "alsa_output.pci-0000_2d_00.4.analog-สเตอริโอ"
device.description = "Starship/Matisse HD Audio Controller อะนาล็อกสเตอริโอ"
device.icon_name = "การ์ดเสียง-อะนาล็อก"
device.bus = "pci"
device.bus_path = "pci-0000:2d:00.4"
node.pause-on-idle = "เท็จ"
โรงงาน.id = "18"
client.id = "32"
node.driver = "จริง"
factory.mode = "ผสาน"
audio.adapt.follower = ""
library.name = "audioconvert/libspa-audioconvert"
object.id = "47"
node.max-latency = "8192/48000"
พอร์ต:
เอาต์พุตอะนาล็อก lineout: Line Out (ประเภท: Line, ลำดับความสำคัญ: 9000, กลุ่มความพร้อมใช้งาน: Legacy 4, พร้อมใช้งาน)
หูฟังเอาต์พุตอะนาล็อก: หูฟัง (ประเภท: หูฟัง, ลำดับความสำคัญ: 9900, กลุ่มความพร้อมใช้งาน: Legacy 5, ไม่มี)
พอร์ตที่ใช้งานอยู่: เอาต์พุตแบบอะนาล็อก
รูปแบบ:
พีซีเอ็ม