วิธีสลับระหว่างหูฟังและลำโพงโดยไม่ต้องถอดหูฟัง


23

เมื่อฉันเสียบหูฟังอุปกรณ์เอาต์พุตเสียงจะสลับไปที่หูฟังจากลำโพงของฉัน

แทนที่จะเสียบ / ถอดปลั๊กหูฟังตลอดเวลาซึ่งในที่สุดจะทำให้สาย / แจ็คของฉันเสื่อมสภาพฉันต้องการใช้ซอฟต์แวร์สวิตช์

เมื่อฉันเปิดการตั้งค่าเสียงและเปลี่ยนจาก "หูฟัง -> เสียงในตัว" เป็น "Line Out -> เสียงในตัว" ไม่มีเสียงออกมาจากลำโพงหรือหูฟังของฉัน

ฉันเปิด alsamixer เพื่อดูว่าเกิดอะไรขึ้นเมื่อฉันเสียบ / ถอดปลั๊กหูฟัง

หูฟังใน: หูฟังใน

หูฟังออก: หูฟังออกมา

เมื่อเสียบหูฟังฉันจะเปลี่ยนการตั้งค่าทั้งหมดให้ตรงกับการตั้งค่าเมื่อหูฟังไม่ทำงานและยังไม่ได้รับเสียงใด ๆ ผ่านลำโพง

ในฐานะที่เป็นข้อความด้านการเปลี่ยนอุปกรณ์เสียงออกผ่าน "การตั้งค่าเสียง" ทำให้เกิดการเปลี่ยนแปลงเดียวกันกับ alsamixer


1
เท่าที่ฉันรู้มันเป็นสวิตช์ฮาร์ดแวร์ภายในแจ็คหูฟังที่ไม่อนุญาตให้มีการสลับ เมื่อสวิตช์ทำงานลำโพงจะถูกปิดการใช้งาน คุณคิดว่าจะใช้หูฟังบลูทู ธ หรือเปล่า?
Terrance

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

1
โปรดจำไว้ว่าการ์ดเสียงอาจไม่สามารถใช้งานได้กับอุปกรณ์หลายตัว - การ์ดเสียงบางตัวมีการเข้ารหัสที่ระดับฮาร์ดแวร์เพื่อปิดเอาต์พุตลำโพงเมื่อทำการเชื่อมต่อหูฟังและไม่สามารถแทนที่ ...
Thomas Ward

@Terrance ฉันเริ่มรางวัลบางทีคุณอาจต้องการที่จะขุดเพิ่มเติมลงไปและเขียนคำตอบ?
ของหวาน

@dessert ดูคำตอบของ GoodGuyNick ด้านล่าง - มันอาจไม่ทำงานกับฮาร์ดแวร์ทั้งหมดและจากประสบการณ์ของฉันมันไม่ได้แยกเอาท์พุท (ซึ่งจะช่วยให้คุณส่งโปรแกรมเสียงไปยังลำโพงและโปรแกรม B ของหูฟังในเวลาเดียวกัน) แต่ถ้า เพียงปิดการใช้งานสวิตช์อัตโนมัติที่จำเป็นนั่นเป็นสิ่งแรกที่จะลอง
Quixotic

คำตอบ:


9

เสียบปลั๊กทั้งลำโพงและหูฟังและสลับซอฟต์แวร์ได้ทันที

ด้วยการออกแบบ Pulseaudio จะปิด Line Out โดยอัตโนมัติเมื่อเสียบหูฟังและใช้ตัวเลื่อนหูฟังแทน คุณสามารถสังเกตพฤติกรรมนี้ใน alsamixer สิ่งที่เราต้องการคือการที่สไลเดอร์ Headphone และ Line Out ทำงานแยกกันและในเวลาเดียวกัน สิ่งนี้มีประโยชน์มากหากคุณต้องการทำการแมปแจ็คของ Realtek ให้มีสีเขียวด้านหลังสำหรับหูฟังและสีน้ำเงินสำหรับลำโพง (ด้วยความช่วยเหลือของ hdajackretask จากเครื่องมือ alsa)

เพื่อให้บรรลุเป้าหมายนี้คุณควรแก้ไขการกำหนดค่าเครื่องผสมของ Pulseaudio โดยตรง

1. เราบอก pulseaudio ว่าหูฟังเสียบอยู่เสมอ

แก้ไข:

/usr/share/pulseaudio/alsa-mixer/paths/analog-output-lineout.conf

หา:

[Jack Headphone]
state.plugged = no
state.unplugged = unknown

เปลี่ยนไปnoyes

หากคุณใช้แจ็คที่ด้านหน้าของเคสคอมพิวเตอร์ของคุณจะเปลี่ยน[Jack Front Headphone]แทน

2. โดยค่าเริ่มต้นปริมาตรของ Line Out ควบคุมโดย Master เท่านั้นและไม่ได้มาจากตัวเลื่อน Line Out

เราต้องการผสาน Line Out กับ Master เพิ่มตัวอย่างนี้ในตอนท้ายของไฟล์:

[Element Line Out]
switch = mute
volume = merge

3. เราจำเป็นต้องตัด Line Out ออกเมื่อใช้หูฟัง

แก้ไข:

/usr/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf

เพิ่มตัวอย่างนี้ในตอนท้ายของไฟล์:

[Element Line Out]
switch = off
volume = off

ในบางระบบคุณอาจต้องปิดใช้งาน Front โดยเพิ่มตัวอย่างนี้:

[Element Front]
switch = off
volume = off

4. เช่นเดียวกับ Pulseaudio Alsa เองตัดลำโพงเมื่อเสียบหูฟัง

เปิด alsamixer: alsamixer -c0หรือalsamixer -c1

ใช้โหมด/ เพื่อปิดเสียงอัตโนมัติ -Auto Mute โหมดปิดการใช้งานด้วย ปิด alsamixer Escกับ

บันทึกการเปลี่ยนแปลงของคุณด้วย: alsactl store

5. รีสตาร์ท Pulseaudio

$ pulseaudio -k
$ pulseaudio --start

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


แหล่ง


2
/usr/shareคุณไม่ควรแก้ไขไฟล์โดยตรงใน หาก pulseaudio ได้รับการอัปเดต (ตัวอย่างเช่นเพื่อแก้ไขข้อบกพร่อง) การเปลี่ยนแปลงของคุณจะถูกลบออก มักจะมีกลไกในการให้ไฟล์แทนที่ใน/etcหรือคล้ายกัน แต่ฉันไม่ทราบเกี่ยวกับ pulseaudio โดยเฉพาะ
Robie Basak

@RobieBasak ที่มาของข้อมูลนี้คือเว็บไซต์ Arch Linux น่าเสียดายที่ฉันไม่ใช่ผู้ใช้ Arch Linux ดังนั้นฉันจึงไม่สามารถโพสต์ความคิดเห็นของคุณบนเว็บไซต์ หวังว่าหนึ่งในผู้ใช้ Arch Linux ที่ลอยอยู่ที่นี่จะอ่านความคิดเห็นของคุณและโพสต์ใหม่ที่นั่น
WinEunuuchs2Unix

1
@RobieBasak ก็สามารถเขียนสคริปต์ wrapper ที่ทำสิ่งนี้และเรียกมันหลังจากเข้าสู่ระบบ
Robert Riedl

1
น่าเสียดายที่มันไม่ได้ผลสำหรับฉัน แต่ขอบคุณสำหรับคำตอบของคุณ!
ของหวาน

1
@ ขนมหวานความสุขของฉัน มันเป็นเรื่องที่น่าสนใจในการวิจัยเรื่องนี้ ฉันหวังว่าคุณจะพบสิ่งที่คุณกำลังมองหา
WinEunuuchs2Unix

9

เพื่อให้สามารถสลับระหว่างลำโพงและหูฟังได้ให้ทำตามขั้นตอนเหล่านี้:

  1. alsamixerวิ่ง
  2. F6หากจำเป็นให้เลือกการ์ดเสียงของคุณด้วย
  3. นำทางไปยัง“Auto-Mute” กับลูกศรขวา
  4. ปิดการใช้งานที่มีลูกศรชี้ลง
  5. กดEscเพื่อออก

หรือคุณสามารถทำตามขั้นตอนเหล่านี้ได้ด้วยคำสั่งเดียว:

  1. เปิดเทอร์มินัล
  2. วิ่ง amixer -c 1 set 'Auto-Mute Mode' Disabled

ตอนนี้คุณสามารถเปลี่ยนระหว่างลำโพงและหูฟังใน PulseAudio Volume Control

หลังจากใช้คำแนะนำเหล่านี้คุณสามารถทำให้ชีวิตของคุณง่ายขึ้นโดยใช้Sound Switcher Indicatorเพื่อสลับระหว่างหูฟังและลำโพง


2
ฉันไม่คิดว่าสิ่งนี้จะใช้ได้กับการรวมฮาร์ดแวร์ทั้งหมด - บางระบบ (เช่นของฉัน) ดูเหมือนจะใช้สวิตช์ฮาร์ดแวร์ที่หลากหลายซึ่งไม่เป็นที่รู้จัก ตัวอย่างเช่นหากคุณเสียบหูฟังเข้ากับแอมป์กีต้าร์ลำโพงในแอมป์นั้นมักจะถูกปิด - และไม่มีคอมพิวเตอร์ในอุปกรณ์เหล่านั้น ....
ชาร์ลส์กรีน

สิ่งนี้ใช้ได้กับฉันใน Realtek ALC887-VD
Paul Praet

ขอขอบคุณ. มันใช้งานได้สำหรับฉัน มีวิธีใดที่จะทำให้สำเร็จผ่านสคริปต์ทุบตีหรือไม่
ka3ak

1
@ ka3ak ฉันได้อัปเดตคำตอบสำหรับคุณแล้ว
GoodGuyNick

4

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

ติดตั้งalsa-tools-gui

sudo apt-get update
sudo apt-get install alsa-tools-gui

เรียกใช้hdajackretaskเมื่อต้องการแทนที่แจ็คของคุณ:

  1. เลือกตัวแปลงสัญญาณ
  2. คลิกช่องทำเครื่องหมาย "แทนที่" สำหรับพินนั้นและเลือกฟังก์ชั่นใหม่ที่ต้องการ
  3. คลิก "ใช้ทันที"

    หมายเหตุ: หากช่องเสียบหูฟังมีสวิตช์ฮาร์ดแวร์ในตัวที่ส่งสัญญาณเสียงอีกครั้งคุณจะเป็น SOL (ขอให้โชคดีนะครับ) อย่างไรก็ตามหากระบบปฏิบัติการตรวจพบเมื่อเสียบสายเข้ากับช่องเสียบหูฟังเสียงส่วนใหญ่จะไม่ได้เปลี่ยนโดยอัตโนมัติ

ฉันพบว่าการเอาชนะทั้งหูฟังและลำโพงในเวลาเดียวกันทำงานได้ดีที่สุด


ภาพหน้าจอ hdajackretask เพื่อสลับหูฟังไปยังลำโพง:

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


หลังจากที่คุณคลิก "ใช้ทันที" เชลล์สคริปต์จะถูกสร้างขึ้นเพื่อทำการเปลี่ยนแปลงและแจ้งให้รหัสผ่านผู้ใช้ขั้นสูงในการดำเนินการ สคริปต์จะถูกบันทึก/tmpซึ่งสามารถคัดลอกและดำเนินการในภายหลังด้วยsudoจากบรรทัดคำสั่ง

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

การประมวลผลบรรทัดคำสั่ง

ดังที่ได้กล่าวไว้ก่อนหน้านี้hdajackretaskสร้างสคริปต์script.shใน/tmpคล้ายกับ/tmp/hda-jack-retask-QW1EEZ/ฟังก์ชั่นแจ็คที่คุณต้องการ:

#!/bin/sh
echo "0x12 0x90a60140" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x14 0x90170150" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x17 0x40000000" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x18 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x19 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x1a 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x1b 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x1d 0x40700001" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x1e 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x21 0x40f000f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo 1 | tee /sys/class/sound/hwC0D0/reconfig 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log


คัดลอกสคริปต์นี้ที่อื่นในระบบของคุณ (นอกเหนือจาก / tmp)

cd /tmp/hda-jack-retask-QW1EEZ
cp script.sh ~username/speaker.sh

จากนั้นแก้ไข speaker.sh

cd ~username
nano speaker.sh

เพิ่มบรรทัดkillall pulseaudio &ที่ด้านบนของไฟล์ สิ่งนี้จำเป็นเนื่องจากฟังก์ชั่นแจ็คไม่สามารถเปลี่ยนแปลงได้ในขณะที่pulseaudioกำลังทำงาน โดยค่าเริ่มต้นpulseaudioจะเกิดใหม่ เปลี่ยนเส้นทางเป็นerrors.logไฟล์ไปยัง/tmpหรือที่ใดก็ได้ที่คุณต้องการ:

#!/bin/sh
killall pulseaudio &
echo "0x12 0x90a60140" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x14 0x90170150" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x17 0x40000000" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x18 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x19 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x1a 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x1b 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x1d 0x40700001" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x1e 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x21 0x40f000f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo 1 | tee /sys/class/sound/hwC0D0/reconfig 2>>/tmp/errors.log


วิธีรันสคริปต์:

sudo ./speaker.sh



จากเอกสารalsa-tools-1.1.5 / hdajackretask / README :

เอกสารประกอบสำหรับ hdajackretask

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

Quickstart

เริ่มแอปพลิเคชัน "hdajackretask" จากบรรทัดคำสั่ง เลือกตัวแปลงสัญญาณในแถบด้านบน; บางคนมีเพียงคนเดียว - ถ้าคุณมีมากกว่าหนึ่งคนหนึ่งเป็นคน "หลัก" และคนอื่น ๆ น่าจะเป็นตัวแปลงสัญญาณ HDMI

แจ็คทั้งหมด (และอินพุต / เอาต์พุตอื่น ๆ ) แสดงอยู่ภายใต้ "การกำหนดค่าพิน" หากต้องการแทนที่แจ็คของคุณให้คลิกช่องทำเครื่องหมาย "แทนที่" สำหรับพินนั้นและเลือกฟังก์ชั่นที่ต้องการ หมายเหตุ: หากคุณเลือกแทนที่ "Line out (back)" คุณควรมีการแทนที่ "Line out (front)" การแทนที่ "Line out (Center / LFE)" จะใช้ได้กับการแทนที่สองครั้งก่อนหน้านี้เท่านั้นและอื่น ๆ

คุณสามารถลองใช้การกำหนดค่าใหม่ของคุณได้โดยคลิก "สมัครเลย" หากต้องการทำให้การกำหนดค่าใหม่ของคุณเป็นค่าเริ่มต้นให้คลิก "ติดตั้งการแทนที่การบูต" การดำเนินการใด ๆ เหล่านี้จำเป็นต้องมีสิทธิ์รูทดังนั้นคุณอาจถูกขอรหัสผ่านของคุณ

Quickend

คุณทำผิดพลาด? คลิกปุ่ม "ลบบูตแทนที่" และเมื่อกระบวนการเสร็จสมบูรณ์ปิดคอมพิวเตอร์ของคุณรอสักครู่แล้วเปิดอีกครั้ง ตอนนี้คุณควรจะกลับมาที่จุดเริ่มต้น

มันใช้งานได้หรือ

ถ้าเป็นเช่นนั้นจงมีความสุขแบ่งปันความสุขทำสิ่งที่ดี!

หากไม่เป็นเช่นนั้นต่อไปนี้เป็นสิ่งที่ควรลอง:

  • ไปที่ alsamixer และดูว่ามีการควบคุมระดับเสียงใหม่หรือไม่และดูว่าพวกเขาไม่ได้เปิดเสียงและตั้งค่าที่เหมาะสมหรือไม่

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

  • ดูตัวเลือก "model = auto" ด้านล่าง

หากวิธีนี้ไม่ช่วยให้คุณมีโอกาสสูงที่คุณจะพบกับไดรเวอร์หรือข้อ จำกัด ด้านฮาร์ดแวร์ คุณอาจพบข้อบกพร่องของไดรเวอร์ (อาจไม่มีใครเคยทดสอบสี่หูฟังมาก่อน!) หากคุณรู้สึกฟรีเพื่อรายงานพวกเขาในรายการส่งเมล alsa-devel: อย่างไรก็ตามเนื่องจากขาดกำลังคนโอกาสนี้จะได้รับการจัดการที่ลำดับความสำคัญต่ำมาก (มีเสียงที่ทำงานนอกกรอบสำหรับการกำหนดค่ามาตรฐานคือ สำคัญกว่าการสนับสนุนการกำหนดค่าแปลก ๆ ) อย่างไรก็ตามหากคุณเป็นแฮกเกอร์เคอร์เนลและมี patch ที่ช่วยแก้ปัญหาของคุณโดยไม่พลาดสิ่งอื่นใดโอกาสสูงมากก็จะถูกรวมเข้าด้วยกัน

หากคุณสงสัยว่าปัญหาเกิดขึ้นกับแอปพลิเคชั่น GUI นี้แทนที่จะใช้ไดรเวอร์เคอร์เนลโปรดเขียนอีเมลถึงฉัน (และหากคุณต้องการให้รวมโปรแกรมปะแก้!) ถ้าเป็นเช่นนั้นเขียนถึง diwic@ubuntu.com

ตัวเลือก

  • แสดงพินที่ไม่เชื่อมต่อ BIOS ของคุณมีหน้าที่รับผิดชอบในการตั้งค่าพินบนตัวแปลงสัญญาณที่เชื่อมต่อกับบางสิ่ง บางครั้ง BIOS เป็นบั๊กและจะไม่แสดงแจ็คของคุณทั้งหมด หากคุณมีแจ็ค BIOS ของคุณบอกว่าคุณยังไม่ได้ลองเปิดใช้งานพินสุ่มและดูว่าใช้งานได้หรือไม่

  • ตั้งค่ารุ่น = อัตโนมัติตัวแปลงสัญญาณบางตัวโดยเฉพาะอย่างยิ่งตัวแปลงสัญญาณที่เก่ากว่าและในเมล็ด 3.8 และรุ่นที่ต่ำกว่านั้นจะมีการเข้ารหัสแบบยากที่จะใช้รุ่นที่ระบุและจะไม่สนใจการแทนที่ของคุณ ในหลายกรณีและด้วยเคอร์เนลใหม่ที่สมเหตุสมผลตอนนี้ parser อัตโนมัติทำงานได้ดีสำหรับตัวแปลงสัญญาณเหล่านี้เช่นกัน คุณสามารถบังคับให้ใช้เครื่องมือแยกวิเคราะห์อัตโนมัติได้โดยทำเครื่องหมายที่ช่องนี้ ในบางกรณีแม้ว่ารูปแบบที่ชัดเจนนั้นมีเหตุผลหากเป็นเช่นนั้นคุณติดอยู่

  • การลบล้างขั้นสูงนี้ใช้สำหรับผู้เชี่ยวชาญเท่านั้น มันทำให้คุณเลือกแต่ละฟิลด์การตั้งค่าเป็นรายบุคคลแทนที่จะเป็นเพียงค่าที่กำหนดไว้ล่วงหน้าที่เหมาะสม โปรดทราบว่าชุดค่าผสมส่วนใหญ่ที่นี่ไม่ถูกต้องไม่ทางใดก็ทางหนึ่งดังนั้นคุณไม่ควรยุ่งกับสิ่งนี้หากคุณไม่ได้อ่านและทำความเข้าใจในส่วน "ค่าเริ่มต้นการกำหนดค่า" ของข้อกำหนดเสียง HD (ซึ่งในขณะที่เขียนนี้มีอยู่ที่นี่: http://www.intel.com/content/dam/www/public/us/en/documents/product-specifications/high-definition-audio-specification pdf )

  • Parser hints สิ่งนี้ช่วยให้คุณสามารถส่ง "คำแนะนำ" พิเศษไปยังไดรเวอร์ที่ทำให้การวิเคราะห์คำทำงานแตกต่างกัน ปล่อยไว้ที่การตั้งค่า "เริ่มต้น" เว้นแต่ว่าคุณได้อ่านเอกสารไดรเวอร์ (ซึ่งในขณะที่เขียนนี้มีให้ที่นี่: https://www.kernel.org/doc/Documentation/sound/alsa/HD-Audio.txt - ดูส่วน "คำแนะนำสตริง")


1
น่าเสียดายที่มันไม่ได้ผลสำหรับฉัน แต่ขอบคุณสำหรับคำตอบของคุณ! ในขณะที่คุณเข้าใกล้สิ่งที่ฉันหวังไว้และดูเหมือนจะให้วิธีที่ดีที่สุดในการบรรลุเป้าหมาย (ถ้าเป็นไปได้) คุณจะได้รับเงินรางวัล - ขอแสดงความยินดี! :)
ของหวาน

3

ใน KDE สามารถทำได้:

การตั้งค่าระบบ -> มัลติมีเดีย -> การตั้งค่าเสียงและวิดีโอ -> แท็บการตั้งค่าฮาร์ดแวร์เสียง> เลือกการ์ดเสียงที่เหมาะสม> ภายใต้ตัวเชื่อมต่อคุณจะเห็นตัวเลือกหูฟังและลำโพง

การตั้งค่าระบบ


3
ฉันไม่ได้ใช้ KDE แต่ Unity มี "การตั้งค่าเสียง" ที่คล้ายกัน การเปลี่ยนอุปกรณ์เสียงออกจากหูฟังเป็นลำโพงจะเป็นการปิดเสียงหูฟังเท่านั้น ดูเหมือนว่าจะเป็นสวิตช์ฮาร์ดแวร์เมื่อเสียบหูฟังเข้า
276318

1

Gnome-Shell Extension Audio-Output-Switcher

วิธีที่ง่ายที่สุดคือเพียงติดตั้งส่วนขยายสลับสัญญาณเสียง

หรือคุณสามารถโคลนด้วย git โดยตรง:

git clone https://github.com/adaxi/audio-output-switcher.git ~/.local/share/gnome-shell/extensions/audio-output-switcher@anduchs

ภาพหน้าจอ

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


น่าเสียดายที่มันไม่ได้ผลสำหรับฉัน แต่ขอบคุณสำหรับคำตอบของคุณ!
ของหวาน

0

คุณสามารถใช้Sound Switcher Indicatorถ้าคุณไม่สนใจการเพิ่ม PPA

สิ่งนี้จะทำให้คุณมีตัวบ่งชี้ในซิสเต็มเทรย์ที่คุณสามารถคลิกเพื่อเปลี่ยนอินพุตหรือเอาต์พุตสัญญาณเสียง คุณสามารถอ่านเพิ่มเติมได้ที่http://yktoo.com/en/software/indicator-sound-switcher

วิธีการปลายทาง

ในการติดตั้งให้ใช้เทอร์มินัลป้อนข้อมูลต่อไปนี้

sudo add-apt-repository ppa:yktooo/ppa
sudo apt-get update
sudo apt-get install indicator-sound-switcher

วิธี GUI

ในการติดตั้งใช้ GUI ทำตามขั้นตอนเหล่านี้:

  1. เรียกใช้แอพSoftware & Updatesจาก Unity Dash

  2. คลิกที่แท็บ "ซอฟต์แวร์อื่น ๆ " จากนั้นเพิ่มแหล่งใหม่ต่อไปนี้:

    deb http://ppa.launchpad.net/yktooo/ppa/ubuntu vivid main
    

    (อย่าลืมแทนที่ "สดใส" ด้วยรีลีส Ubuntu ของคุณรีลีสที่สนับสนุนมีการระบุไว้ที่http://ppa.launchpad.net/yktooo/ppa/ubuntu/dists/ )

  3. เปิดศูนย์ซอฟต์แวร์ Ubuntuจาก Unity Dash

  4. ค้นหา "ตัวบ่งชี้ตัวเลือกอินพุต / เอาต์พุตเสียง" และติดตั้ง

หมายเหตุ: วิธีนี้จะไม่ทำงานหากระบบของคุณมีฮาร์ดแวร์สลับอยู่ในแจ็คหูฟังตาม Terrance ที่แนะนำข้างต้น


ฉันติดตั้งแล้ว ในบันทึกย่อของคุณปรากฏว่ามีสวิตช์ฮาร์ดแวร์
276318

0

ฉันได้ทำสคริปต์นี้สำหรับปัญหานี้:

https://github.com/biplobsd/Fixing-front-panel-audio

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

คำสั่งเหล่านั้นคือ:

git clone https://github.com/biplobsd/Fixing-front-panel-audio.git
cd Fixing-front-panel-audio
chmod +x Fixing-front-panel-audio.sh
./Fixing-front-panel-audio.sh
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.