วิธีการสลับช่องสเตอริโอใน Ubuntu


29

ฉันกำลังใช้งาน Ubuntu 9.04 อยู่ ฉันต้องการสลับช่องสเตอริโอ แต่ฉันไม่พบตัวเลือกนั้นในการตั้งค่าการควบคุมระดับเสียง

มีวิธีทำเช่นนี้โดยไม่ต้องแตะไฟล์กำหนดค่าหรือไม่? (ฉันไม่ได้รับอนุญาตให้เข้าสู่ระบบในฐานะ root ในเครื่องนี้)


1
สลับลำโพงหรือไม่
grawity

4
ฉันต้องสลับลำโพงของฉัน นั่นเป็นเหตุผลที่ฉันต้องการโหลดช่องสเตอริโอใหม่: D
Auron

คำตอบ:


32

วิธี PulseAudio (ทดสอบบน Ubuntu 10.04 ควรทำงานกับ 9.04):

คัดลอก/etc/pulse/default.paไปยัง~/.pulse/default.paและเพิ่มสองบรรทัดต่อไปนี้ที่ส่วนท้าย:

load-module module-remap-sink sink_name=reverse-stereo master=0 channels=2 master_channel_map=front-right,front-left channel_map=front-left,front-right
set-default-sink reverse-stereo

รีสตาร์ท PulseAudio โดยเรียกใช้pactl exitที่บรรทัดคำสั่ง

เว้นบรรทัดที่สองหากคุณไม่ต้องการใช้สเตอริโอที่กลับด้านโดยค่าเริ่มต้น คุณสามารถสลับระหว่างเอาท์พุทสเตอริโอกลับด้านและสเตอริโอปกติในแท็บ "เอาท์พุท" ในการตั้งค่าเสียง หากคุณมีรูทและต้องการให้ระบบนี้กว้างคุณสามารถเพิ่มบรรทัดลงไป/etc/pulse/default.paแทนที่จะทำการตั้งค่าเฉพาะผู้ใช้

การกำหนดค่านี้ทำให้สมมติฐานพื้นฐานบางประการ: การ์ดที่คุณย้อนกลับช่องทางคือการ์ด 0; คุณต้องจัดการกับ 2 ช่องทางเท่านั้น และช่องทางเหล่านี้จะเรียกว่าและfront-leftfront-right

หากคุณมี videocard ที่มี HDMI out เป็นไปได้ว่าอะนาล็อกจากเมนบอร์ดของคุณจะเป็นการ์ด 1 ไม่ใช่ 0; ดังนั้น master = 1 (หูฟังแผงด้านหน้ามีแนวโน้มในช่องสัญญาณอนาล็อกนี้)

สำหรับข้อมูลเพิ่มเติมโปรดดูที่เอกสาร PulseAudio สำหรับโมดูล


ตอนแรกดูเหมือนว่าจะทำเคล็ดลับใน 14.04 แต่หลังจากรีบูตเครื่อง pulseaudio daemon ไม่สามารถเริ่มต้นได้ ต้องลบสายเพื่อแก้ไข
Amir Uval

ทำงานผ่านpacmdเช่นกัน (เช่นไม่จำเป็นต้องคัดลอกการกำหนดค่าและเริ่มต้น pulseaudio)
ulidtko

1
หากคุณมี sinks มากขึ้นคุณสามารถใช้pacmd list-sinksเพื่อแสดงรายการ sink ที่มีอยู่และดัชนี กว่าแทนที่master=0ด้วยmaster=IndexOfTheSinkToSwap
user1182474

1
มันทำงานได้อย่างสมบูรณ์แบบภายใต้ Ubuntu 16.04 เช่นกัน ยังคงผ่านการรีบูตตามที่คาดไว้
Elder Geek

คำตอบที่ดี! ปัญหาเดียวที่ฉันมีคือปริมาณของ sink ที่มีการแมปใหม่นั้นยึดตาม sink พื้นฐาน นั่นหมายความว่าถ้าฉันเปลี่ยนไปที่อ่างฐานและเปลี่ยนระดับเสียงเป็น 50% อ่างล้างมือที่แมปใหม่จะสามารถเพิ่มระดับเสียงได้เพียง 50% (100% จะเป็น 'ของจริง' 50%) มีวิธีไหนบ้าง?
srfrnk

10

เป็นหลักเช่นเดียวกับวิธีการข้างต้นของ Brian แต่ไม่ต้องแตะไฟล์การกำหนดค่าใด ๆ :

pactl load-module module-remap-sink \
    sink_name=reverse-stereo \
    master=0 \
    channels=2 \
    master_channel_map=front-right,front-left \
    channel_map=front-left,front-right

สิ่งนี้จะสร้างในทันทีที่ซิงก์ PA เพิ่มเติมพร้อมช่องทางกลับด้าน (มันจะหายไปหลังจาก pulseaudio รีสตาร์ท) หากต้องการเปลี่ยนเป็น:

pactl set-default-sink reverse-stereo

- หรือคุณสามารถสลับด้วยตนเองผ่านแผงควบคุมเสียง:

หน้าต่างควบคุมระดับเสียงของ pulseaudio

นอกหลักสูตรเป็นไปได้ที่จะสลับไปมาเช่นเมื่อทำการทดลอง


วิธีนี้ดีกว่าถ้าคุณต้องการทดลองใช้อย่างรวดเร็วแทนที่จะบันทึกการตั้งค่าอย่างถาวร


pactl set-default-sink reverse-stereoล้มเหลวด้วยNo valid command specified.บน Ubuntu 12.04
Auron

1
@Auron ทำงานได้ดีในวันที่ 14.04
ulidtko

อืมฉันจะต้องตรวจสอบมัน
Auron

1
@Auron ดูการปรับปรุง; คุณสามารถสลับด้วยตนเองผ่านแผงเสียงได้
ulidtko

6

หากคุณใช้ ALSA ให้เพิ่ม~/.asoundrcไฟล์นี้ในไฟล์ของคุณ :

pcm.swapped {
    type         route
    slave.pcm    "cards.pcm.default"
    ttable.0.1   1
    ttable.1.0   1
}

pcm.default      pcm.swapped

ผ่านALSA คำถามที่พบบ่อย


+1 เอาชนะฉันในไม่ช้า ... หมายเหตุ Ubuntu 9.04 ติดตั้ง PulseAudio ตามค่าเริ่มต้นซึ่งอาจมีวิธีการของตนเอง
ต้มตุ๋น Quixote

@ ~ ต้มตุ๋นไม่ PulseAudio กำหนดเส้นทางเสียงไปยัง ALSA หรือไม่
Sathyajith Bhat

ใช่เพียงแค่ว่าใน PA อาจจะทำการแลกเปลี่ยนด้วยตัวเองบนหลักการมีมากกว่าหนึ่งวิธีที่จะทำ :)
quack quixote

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