ปิดใช้งานการตรวจจับแจ็คหูฟังใน pulseaudio


19

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

ฉันจะกำหนดค่า pulseaudio ให้ปิดการใช้งานการตรวจจับแจ็ค (หรือบังคับให้ส่งสัญญาณออกผ่านแจ็คนี้ได้อย่างไร)

ฉันคิดว่ามันจะเกี่ยวข้องกับการแก้ไข analog-output-headphones.conf แต่ฉันไม่สามารถหาวิธีการทำได้ (analog-output.conf.common ไม่มีประโยชน์)


2
คุณได้พิจารณา / ลองลบ pulseaudio และเพิ่งใช้ ALSA หรือไม่
goldilocks

ใช่ แต่ฉันชอบการควบคุมพิเศษที่ pulseaudio มอบให้ นอกจากนี้ฉันแน่ใจว่ามีวิธีแก้ปัญหาง่ายๆ - ฉันไม่สามารถหาได้ว่ามันคืออะไร
Ross

การใช้ ALSA จะทำให้การแก้ปัญหาง่ายขึ้น ดังนั้นจะเลือกใช้แจ็คอื่น หลีกเลี่ยงตัวเลือกทั้งสองนี้ฉันจะเลือกซ่อมแจ็คที่ไม่สม่ำเสมอ (ต้องใช้หัวแร้งและประสบการณ์) :)
Elder Geek

คำตอบ:


7

คุณสามารถลองระงับแจ็คหูฟัง วิธีค้นหาดัชนีของแจ็คหูฟัง:

pactl list short sinks

จากนั้นระงับอ่างล้างจานนั้น:

pactl suspend-sink [SINK] 1|0

โดยที่ "SINK" เป็นดัชนีจากคำสั่งแรกและ "1" จะระงับและ "0" จะถูกยกเลิกการระงับ

แก้ไข: ขออภัยเข้าใจผิดสถานการณ์ พบเธรด Archที่มีวิธีการปิดใช้งานการสลับอัตโนมัติ แก้ไข/etc/pulse/default.pa(gdamjan แนะนำทางเลือก~/.config/pulse/default.pa) เพื่อลบบรรทัดต่อไปนี้:

load-module module-switch-on-port-available

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

เกี่ยวกับการปิดการใช้งาน: โมดูลโหลดสวิตช์บนพอร์ตพร้อมใช้งาน - ฉันได้ลองแล้ว แต่ดูเหมือนว่าจะไม่สร้างความแตกต่าง
Ross

1
ลองใช้ aletrantively ~ / .config / pulse / default.pa
gdamjan

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

5

ฉันไม่ทราบว่าวิธีการนี้สามารถทำได้โดยตรงผ่าน PulseAudio เอง แต่ฉันรู้ว่าสามารถทำได้ผ่านตัวควบคุม ALSA ที่ชื่อว่า "โหมดปิดเสียงอัตโนมัติ" ยกเลิกการควบคุมนี้ (ด้วย 'alsamixer' เป็นต้น) ควรป้องกันไม่ให้เอาต์พุตของคุณถูกปิดเสียงโดยอัตโนมัติเมื่อมีบางอย่างเสียบอยู่ที่แจ็คด้านหน้า

การเปลี่ยนวิธีนี้จะใช้ได้แม้ว่าระบบของคุณจะใช้ PulseAudio ตราบใดที่มันใช้ ALSA เป็นแบ็กเอนด์ (แต่ฉันคิดว่านี่เป็นกรณีของ Linux distros ส่วนใหญ่ตามค่าเริ่มต้น)

หากคุณใช้ 'alsamixer' เพื่อเปลี่ยนการตั้งค่านี้คุณจะต้องเลือกอุปกรณ์ฮาร์ดแวร์ที่เหมาะสมก่อน (กด F6) เนื่องจากอุปกรณ์เริ่มต้นน่าจะเป็นอุปกรณ์เสมือน PulseAudio ซึ่งไม่มี "โหมดปิดเสียงอัตโนมัติ" ควบคุม.

ในการทำให้การตั้งค่านี้เป็นแบบถาวร

# alsactl store

ขอบคุณที่ใส่รายละเอียดเกี่ยวกับการเปลี่ยนอุปกรณ์ผ่าน F6 ฉันใช้เวลาครึ่งชั่วโมงใน alsa และไฟล์ config / control อื่น ๆ ที่พยายามค้นหาบางสิ่งที่เกี่ยวข้องกับ "AutoMute" จนกว่าจะอ่านความคิดเห็นของคุณฉันไม่คิดว่าจะเปลี่ยนอุปกรณ์
Daniel

1

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


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

1

pavucontrolวิ่ง ภายใต้เมนู "การกำหนดค่า" เลือกตัวเลือก "ปิด" สำหรับการ์ดเสียงในตัว


1

ในกรณีที่มีประโยชน์สำหรับใครบางคนฉันจะอธิบายว่าฉันแก้ไขปัญหาของฉันกับแจ็คด้านหน้าบน Ubuntu 14.04 ได้อย่างไร

ในกรณีของฉันไมค์ด้านหน้าทำงานไม่ถูกต้องฉันลองเปิดเสียงมันalsamixerและแก้ปัญหาที่อาจเป็นไปได้มากกว่าหนึ่งพันข้อ แต่สุดท้ายแล้วสิ่งที่แก้ไขได้คือการติดตั้งalsa-toolsและใช้hdajackretaskเพื่อตั้งค่าไมโครโฟนด้านหน้าเป็น "ไมโครโฟนภายใน" จากนั้นalsamixerฉันก็แค่ เปิดเสียงไมค์ภายในและช่องเพิ่มไมโครโฟนภายในและปรับค่า (53 ทั้งสองกรณีของฉัน)


1

ฉันมีปัญหาที่การตรวจจับหูฟังปิดใช้งานลำโพงซึ่งดูเหมือนจะติดกับแจ็คหูฟังของฉันในแล็ปท็อป HDA-intel ของ Fujitsu Siemens Amilo 1520 ที่นี่

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

จากนั้นใช้ hdajackretask ที่ฉันเลือก: หูฟังสีเขียว (ด้านหลัง) - เลือกแทนที่ - และตั้งค่าเป็น "ลำโพงภายใน"

จากนั้นคุณสามารถตรวจสอบได้โดยเสียบเข้าและออกหูฟังจริง ๆ ถ้ามันใช้งานได้กับการกำหนดค่าของคุณ

ในกรณีของฉันนี้ใช้งานได้และฉันคลิกปุ่ม "ติดตั้งแทนที่การบูต" รีบูทระบบและทำงานกับเสียง ...

(ฉันอยากจะรู้ว่าสิ่งที่มันได้จัดตั้งขึ้นภายใต้ประทุนจะพบว่าบางครั้งในภายหลัง)


1

ปัญหาของฉันคือ jacksense ที่พอร์ตด้านหน้าเปลี่ยนเป็น "หูฟัง" อย่างต่อเนื่อง (แม้ว่าจะไม่ได้เชื่อมต่อส่วนหัวของแผงด้านหน้า) และเมนบอร์ด MSI ที่มีข้อบกพร่องพวกเขาก็ไม่ยอมเปิด RMA ให้ฉัน แม้ในขณะที่แจ็คถูกปิดใช้งานในการกำหนดค่าโดยการแสดงความคิดเห็นใน default.pa การทำงานที่แย่มาก ๆ ก็คือการใช้แผงด้านหน้าและทำให้เสียงแตกคงที่ ฉันลองใช้วิธีการทำงานทั้งหมดที่ระบุไว้ที่นี่และทุกที่ใน google

ฉันลอง hdajackretask ซึ่งไม่สามารถใช้กับ Debian Stretch ได้ แต่สิ่งที่จำเป็นต้องมีก็คือ / lib / เฟิร์มแวร์ที่จะสร้าง เมื่อเสร็จแล้วสคริปต์การติดตั้งแทนที่การบู๊ตจะสร้างขึ้นภายใต้ / tmp คัดลอกไฟล์. fw ที่นั่นอย่างถูกต้อง

/etc/modprobe.d/hda-jack-retask.conf ประกอบด้วย:

# This file was added by the program 'hda-jack-retask'.
# If you want to revert the changes made by this program, you can simply erase this file and reboot your computer.
options snd-hda-intel patch=hda-jack-retask.fw,hda-jack-retask.fw,hda-jack-retask.fw,hda-jack-retask.fw

(ซึ่งคาดว่าไฟล์ภายใต้ / lib / เฟิร์มแวร์)

ฉันไม่แน่ใจว่าตัวเลือกอื่น ๆ snd-hda-intel จะแทนที่หรือรบกวนดังนั้นให้ลองปิดการใช้งานตัวเลือกเหล่านั้นหากมันล้มเหลว

ไฟล์เฟิร์มแวร์ของฉันหน้าตาแบบนี้ไม่แน่ใจว่าฉันจะใช้ [คำใบ้] บทกวีได้ไหมเพราะฉันมีความสุขที่จะทำสิ่งต่อไปนี้:

/lib/firmware/hda-jack-retask.fw

[codec]
0x10ec0892 0x1458a002 2

[pincfg]
0x11 0x99430130
0x12 0x4037c540
0x14 0x01014010
0x15 0x01011012
0x16 0x01016011
0x17 0x411111f0
0x18 0x01a19050
0x19 0x02a19060
0x1a 0x0181305f
0x1b 0x43f1413f
0x1c 0x411111f0
0x1d 0x4045e601
0x1e 0x01452140
0x1f 0x411111f0

[hints]
jack_detect=no

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


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

0

ต่อไปนี้เป็นวิธีการเขียนทับแบบธรรมดาที่เรียบง่ายการแก้ปัญหาที่เหมาะกับฉัน (Mint Debian Edition กับ Cinnamon):

  1. เปิดการตั้งค่าเสียง (คุณสามารถไปที่นั่นได้จากวิดเจ็ตควบคุมระดับเสียงหรือการตั้งค่าระบบ)
  2. ใต้แท็บเอาท์พุทเริ่มต้นภายใต้อุปกรณ์คลิก "เสียงในตัวเอาต์พุตแบบอะนาล็อก"

แค่นั้นแหละ. คุณทำเสร็จแล้ว

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

ที่สำคัญการทดสอบเสียงใช้งานได้กับหูฟังหรือลำโพงภายนอกเสมอดังนั้นในกรณีของฉันมันเป็นเรื่องของการตรวจจับที่ไม่สม่ำเสมอ ไม่น่าจะเป็นกรณีสากล ผมอธิบายอาการในกรณีของฉันในรายละเอียดมากขึ้นที่อื่น ๆ


0

แก้ไข /etc/pulse/default.pa

ความคิดเห็นต่อไปนี้:

#load-module module-switch-on-port-available
#load-module module-suspend-on-idle

และยกเลิกการคอมเม้นท์สองบรรทัดสุดท้าย:

set-default-sink output
set-default-source input

ตอนนี้ปลั๊กแจ็คของคุณจะใช้งานได้หลังจากบูต

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