เล่นเสียงผ่านอุปกรณ์ / เอาต์พุตสองตัวขึ้นไป


79

ฉันคิดว่านี่เป็นแนวคิดที่เรียบง่าย ฉันมีการ์ดเสียงหนึ่งตัวและหูฟังบลูทู ธ หนึ่งคู่ ฉันต้องการเล่นเสียงผ่านการ์ดเสียงและหูฟังบลูทู ธ ของฉัน

ฉันเชื่อว่า Windows มีช่องทำเครื่องหมายอนุญาตให้คุณ "ตรวจสอบ" เอาต์พุตเพื่อเปิด / ปิดการใช้งาน แต่อูบุนตูดูเหมือนจะมีตัวเลือกวิทยุที่เทียบเท่า (คุณสามารถเลือกได้ทีละรายการ)

คำถามโบนัส: ในหมายเหตุที่คล้ายกันฉันมี 5 ช่องสัญญาณออกแบบอะนาล็อกในการ์ดเสียงของฉัน (นอกเหนือจากเสียงดิจิตอลและ HDMI) - ฉันต้องการทราบว่าอะไรมาจากแต่ละพอร์ตเหล่านั้น (เช่น "ด้านหน้า" ลำโพง "ทั้ง 5 หรือ" ด้านหน้า "," กึ่งกลาง "," หลัง "ฯลฯ )

ขอบคุณล่วงหน้า!


ฉันได้อ่านคำตอบทั้งหมดแล้วตรวจสอบวันที่คำตอบด้วย อะไรคือทางออกปัจจุบันสำหรับ Ubuntu 18.04?
LeonidMew

ใช่เวอร์ชั่นของpaprefsUbuntu 18.04 repos นั้นไร้ประโยชน์ (เพราะยังคงคิดว่า GConf อยู่ในรูปแบบจึงไม่สามารถทำงานได้) ทางเลือกที่ดีที่สุดคือโหลดmodule-combine-sinkของ PulseAudio ด้วยตัวคุณเอง (เพราะนั่นคือสิ่งที่paprefsอยู่เบื้องหลัง ใช้คำสั่งpactl load-module module-combine-sinkและตรวจสอบส่วนเสียงของการตั้งค่า Ubuntu
AneesAhmed777

คำตอบ:


88

ด้วยการที่paprefsคุณสามารถเข้าถึงอุปกรณ์เอาท์พุทเสมือนที่เปิดใช้งานเอาต์พุตพร้อมกันกับการ์ดเสียง / อุปกรณ์ต่อพ่วงทั้งหมด:

sudo apt install paprefs 

จากนั้นในการรันเทอร์มินัลpaprefsเลือกแท็บ "เอาต์พุตพร้อมกัน" และตรวจสอบ "เพิ่มเอาต์พุตเสมือนสำหรับเอาต์พุตพร้อมกันบนการ์ดเสียงภายในเครื่องทั้งหมด"

paprefs

อุปกรณ์เสียงออกที่สร้างเพิ่มเติมสำหรับเอาต์พุตพร้อมกันอาจถูกเลือกในแท็บ"เอาท์พุท"จากเมนูการตั้งค่าเสียง pulseaudio:

ป้อนคำอธิบายรูปภาพที่นี่

ในตัวอย่างนี้จะแสดงสำหรับอุปกรณ์ HDMI แต่ทันทีที่อุปกรณ์บลูทู ธ ของคุณได้รับการยอมรับจะสามารถใช้งานได้ในเวลาเดียวกัน

การเปลี่ยนแปลงอาจต้องเริ่มต้นใหม่ของ pulseaudio เพื่อให้มีผลโดยออกจากระบบและกลับเข้าสู่เซสชันของคุณหรือโดยการเรียกใช้pulseaudio -kในเครื่องเทอร์มินัล


1
สิ่งนี้ทำให้งานเสร็จสิ้น ในขณะที่ฉันได้รับการพัฒนาด้านเสียงลึกฉันอยากจะเลือกอุปกรณ์และ / หรือพอร์ตที่เฉพาะเจาะจง
นาธาน JB

1
@ NathanJ.Brauer: คุณอาจสนใจคำตอบนี้ สำหรับการเปลี่ยนพอร์ตดูที่ pulseaudio wiki ฉันเชื่อมโยงกับที่นั่น
Takkat

1
โอ้ไม่เป็นไรsudo apt install paprefsงาน
tatsu

2
อันนี้ใช้ไม่ได้กับฉันใน 18.04 หากคุณรู้ว่าฉันสามารถทำสิ่งนี้กับ ALSA ได้อย่างไรโปรดช่วยฉันที่นี่: askubuntu.com/q/1042485/586277
ICE

2
ไม่ทำงานสำหรับฉันใน Ubuntu 16.04 ฉันไม่เห็นตัวเลือกใด ๆ เช่น "เอาต์พุตพร้อมกัน" ในหน้าต่างเลือกเสียง
node_man

21

อูบุนตู

ฉันเพิ่งยืนยันวิธีนี้ (จาก 4 ปีก่อน) ยังคงใช้ได้กับ Ubuntu 14.04 LTS

ติดตั้ง

เปิดเทอร์มินัลแล้วพิมพ์sudo apt-get install paprefsไปที่แท็บตรงตามภาพด้านบนและเลือกตัวเลือก

เริ่มต้นใช้งาน

แล้ว; เหลืออยู่ในเทอร์มินัลพิมพ์pulseaudio -kเพื่อฆ่าและรีสตาร์ท pulseaudio

จากนั้นไปที่การตั้งค่าเสียงของคุณและคุณจะเห็นตัวเลือกในการส่งออกไปยังอุปกรณ์เสียงหลายเครื่อง

อุปกรณ์ประกอบฉากสำหรับใครก็ตามที่เขียน paprefs มันเป็นซอฟต์แวร์ชิ้นเล็ก ๆ ที่ยอดเยี่ยมจริง ๆ แล้วฉันอยากเห็นใน Ubuntu โดยไม่ต้องติดตั้งเพิ่มเติม

Apple Macs OS X

โซลูชันที่คล้ายกันนั้นมีให้ใช้งานผ่านซอฟต์แวร์ที่รวมอยู่และสิ่งที่ยอดเยี่ยมมากpulseaudioคือเสียงดูเหมือนว่าจะซิงค์อย่างสมบูรณ์แบบจากเอาต์พุตทั้งสองดังนั้นจึงต้องปรับสำหรับความล่าช้าเช่นกันซึ่งเป็นสาเหตุที่ทำให้มันน่าประทับใจ ไม่เช่นนั้นเราจะได้ยินเวอร์ชั่นล่าช้าเล็กน้อยจากเอาต์พุตหนึ่งและอีกอัน


1
ขอบคุณสำหรับการทำงานเพื่อตรวจสอบว่าวิธีการแก้ปัญหายังคงใช้ได้อยู่
เตอร์ karasev

2
สิ่งนี้สามารถใช้งานได้กับ Ubuntu 16.04.1 LTS
aggsol

5

เพื่อเติมเต็มคำตอบที่ยอดเยี่ยมจาก Takkat ฉันพบว่าชื่อเริ่มต้นที่กำหนดให้กับอุปกรณ์ใหม่นั้นยาวเกินไปและบิดเบือนกล่องโต้ตอบการตั้งค่าเสียง เพื่อให้ชื่อสั้นลงฉันต้องดำเนินการคำสั่งต่อไปนี้เพิ่มเติม:

gconftool --set --type string /system/pulseaudio/modules/combine/args0 sink_properties=device.description=Combined

การตั้งค่าเสียงด้วยอุปกรณ์ที่รวมกัน


2
ฉันจะยกเลิกสิ่งนี้ได้อย่างไร!
Iman Mohamadi

4

ฉันไม่สามารถรับข้อเสนอของ Takkat ได้นอกกรอบใน Debian 8.7 แม้ว่าฉันจะรีสตาร์ทระบบ ฉันถือว่าคุณทำตามข้อเสนอของ Takkat ในการติดตั้งpaprefsแล้ว ขยายคำตอบของ Takkat ซึ่งทำงานบนพื้นฐานของ Arch Linux wikiที่เก็บอินพุตแบบอะนาล็อกและ Pulse เรียกว่า "duplex"

# /etc/pulse/default.pa
# http://unix.stackexchange.com/a/180374/16920
load-module module-alsa-sink device=hdmi:0
load-module module-combine-sink sink_name=combined
set-default-sink combined

จากนั้นรีสตาร์ท pulseaudio:

pulseaudio -k

สำหรับฉันอันนี้ทำงานเมื่อฉันมีอุปกรณ์ = "hw: 0,0" ตามaplay -l(ดูforum.linuxmint.com/viewtopic.php?t=264540#p1436479 )
เรนซ์

อย่าลืมใส่ที่ด้านบนของไฟล์! มันใช้งานได้สำหรับฉัน (hw: 0,0) บน Ubuntu 18.04.2 เล่นบนจอภาพ HDMI สองจอหลังจากที่ฉันย้ายบรรทัดไปด้านบน
orangenarwhals

2

ใน Kubuntu 18.04 paprefsไม่จำเป็นต้องใช้Plasma 5.12 เนื่องจากมีการตั้งค่าที่คล้ายกันอยู่แล้ว:

ป้อนคำอธิบายรูปภาพที่นี่

ตัวเลือกเอาต์พุตใหม่ควรจะพร้อมใช้งานหลังจากรีบูตเรียกว่า "เอาต์พุตพร้อมกัน"

ป้อนคำอธิบายรูปภาพที่นี่

หรือในpavucontrol:

ป้อนคำอธิบายรูปภาพที่นี่


ใน 18.10 กับพลาสมา 5.13.5 ที่ตัวเลือก "เอาท์พุทพร้อมกัน" ได้ถูกลบออกดังนั้นจึงaprefsจำเป็น


0

เพราะLeonidMewถูกถามประมาณ 18.04 (ฉันใช้18.04.2) นี่คือรุ่นของฉัน

GUI paprefsพยายามรวม HDMI หนึ่งตัวเข้ากับเอาท์พุทแบบอะนาล็อกแทนที่จะเป็น hdmi ทั้งคู่ ดังนั้นฉันจึงต้องแก้ไขไฟล์ตามที่อธิบายไว้โดยLéo Léopold Hertz 준영

$ gedit /etc/pulse/default.pa
# then after changes 
$ pulseaudio -k

วิธีการทั้งสองนี้ทำงานได้ด้วยตัวเองดังนั้นให้เลือกวิธีหนึ่ง ( อย่าลืมเพิ่มไว้ที่ด้านบนของไฟล์ด้วยฉันวางไว้หลัง.fail! ไม่อย่างนั้นมันใช้ไม่ได้)

วิธีการ

load-module module-alsa-sink device=hw:1,3 sink_name=hdmi
load-module module-alsa-sink device=hw:1,7 sink_name=hdmi2
load-module module-combine-sink sink_name=combined slaves=hdmi,hdmi2
set-default-sink hdmi-combined

วิธีการ B

load-module module-alsa-sink device=hw:0,0
load-module module-combine-sink sink_name=combined

การอ้างอิง

วิธีการ

สำหรับการอ้างอิงนั้นhw:0,0มาจากaplay -l

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC892 Analog [ALC892 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: ALC892 Digital [ALC892 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

วิธีการ B

และ1:3มาจาก

$ pacmd list-sinks | grep -e 'name:' -e 'alsa.device ' -e 'alsa.subdevice '
    name: <alsa_output.pci-0000_00_1b.0.iec958-stereo>
        alsa.subdevice = "0"
        alsa.device = "1"
    name: <alsa_output.pci-0000_01_00.1.hdmi-stereo-extra1>
        alsa.subdevice = "0"
        alsa.device = "7"

ที่ "การตั้งค่าเสียง" ฉันตั้ง HDMI อื่นเป็นเอาท์พุทแล้วได้รับ

$ pacmd list-sinks | grep -e 'name:' -e 'alsa.device ' -e 'alsa.subdevice '
    name: <alsa_output.pci-0000_00_1b.0.iec958-stereo>
        alsa.subdevice = "0"
        alsa.device = "1"
    name: <alsa_output.pci-0000_01_00.1.hdmi-stereo>
        alsa.subdevice = "0"
        alsa.device = "3"

เพื่อตรวจสอบฉันวิ่ง

$ aplay -D plughw:1,3 /usr/share/sounds/alsa/Front_Right.wav
$ aplay -D plughw:1,7 /usr/share/sounds/alsa/Front_Right.wav

ซึ่งฟังบนจอภาพที่เกี่ยวข้อง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.