Score:0

ตัวแปลงสัญญาณชุดหูฟัง Bluetooth ใน Ubuntu 18.04 เทียบกับ 20.04

ธง cn

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

แต่ฉันใช้ระบบ Ubuntu สองระบบ (18.04 และ 20.04) และตัวแปลงสัญญาณที่มีให้นั้นแตกต่างกันสำหรับหูฟังตัวเดียวกันในทั้งสองระบบ แม้ว่าฉันจะตรวจสอบการกำหนดค่าทั้งหมด แพ็คเกจที่ติดตั้ง บันทึก ฯลฯ ทุกอย่างดูเหมือนเดิมทุกประการ

เมื่อวันที่ 20.04 ฉันมี อคส ตัวแปลงสัญญาณ โดยค่าเริ่มต้น และ เอ็มเอสบีซี เมื่อใช้ ไมโครโฟน ซึ่งเป็นสิ่งที่ดี แต่เมื่อวันที่ 18.04 ฉันมี เอสบีซี ตัวแปลงสัญญาณ โดยค่าเริ่มต้น และ ซีวีเอสดี เมื่อใช้ ไมโครโฟน ซึ่งแย่กว่านั้น

โปรไฟล์ที่มีอยู่ทั้งหมดใน 18.04:

  • เฮดยูนิต (HSP/HPF, codec CVSD)
  • การเล่นภาพที่มีความเที่ยงตรงสูง (A2DP Sink)
  • การเล่นภาพที่มีความเที่ยงตรงสูง (A2DP Sink, codec SBC)

โปรไฟล์ที่มีอยู่ทั้งหมดใน 20.04:

  • เฮดยูนิต (HSP/HPF, codec mSBC)
  • การเล่นภาพที่มีความเที่ยงตรงสูง (A2DP Sink)
  • การเล่นภาพที่มีความเที่ยงตรงสูง (A2DP Sink, codec SBC-XQ)
  • การเล่นภาพที่มีความเที่ยงตรงสูง (A2DP Sink, codec SBC)
  • การเล่นภาพที่มีความเที่ยงตรงสูง (A2DP Sink, codec AAC)

จะนำตัวแปลงสัญญาณเดียวกันเป็น 18.04 เพื่อทำให้คุณภาพดีขึ้นได้อย่างไร

/etc/pipewire/media-session.d/bluez-monitor.conf (เหมือนกันทั้ง 2 ระบบ ค่อนข้างจะเป็นค่าเริ่มต้น แต่ bluez5.autoswitch-โปรไฟล์ ตั้งค่าเป็นจริง):

# ไฟล์กำหนดค่ามอนิเตอร์ Bluez สำหรับ PipeWire เวอร์ชัน 0.4.1 #
#
# คัดลอกและแก้ไขไฟล์นี้ใน /etc/pipewire/media-session.d/
# สำหรับการเปลี่ยนแปลงทั้งระบบหรือใน
# ~/.config/pipewire/media-session.d/ สำหรับการเปลี่ยนแปลงในเครื่อง

คุณสมบัติ = {
    # คุณลักษณะเหล่านี้ใช้ไม่ได้กับชุดหูฟังทั้งหมด ดังนั้นจึงเปิดใช้งานไว้
    # โดยค่าเริ่มต้นตามฐานข้อมูลฮาร์ดแวร์ นอกจากนี้ยังสามารถเป็น
    # บังคับเปิด/ปิดสำหรับอุปกรณ์ทั้งหมดโดยตัวเลือกต่อไปนี้:

    #bluez5.enable-sbc-xq = จริง
    #bluez5.enable-msbc = จริง
    #bluez5.enable-hw-volume = จริง
    #bluez5.enable-faststream = จริง

    # ดู bluez-hardware.conf สำหรับฐานข้อมูลฮาร์ดแวร์

    # บทบาทของชุดหูฟังที่เปิดใช้งาน (ค่าเริ่มต้น: [ hsp_hs hfp_ag ]) สิ่งนี้
    # คุณสมบัติใช้กับแบ็กเอนด์เนทีฟเท่านั้นปัจจุบันชุดหูฟังบางรุ่น
    # (Sony WH-1000XM3) ไม่ทำงานกับทั้ง hsp_ag และ hfp_ag
    เปิดใช้งาน # ปิดใช้งาน hsp_ag หรือ hfp_ag เพื่อแก้ไข
    #
    # บทบาทของชุดหูฟังที่รองรับ: hsp_hs (ชุดหูฟัง HSP),
    # hsp_ag (เกตเวย์เสียง HSP)
    # hfp_hf (HFP แฮนด์ฟรี),
    # hfp_ag (เกตเวย์เสียง HFP)
    #bluez5.headset-roles = [ hsp_hs hsp_ag hfp_hf hfp_ag ]

    # ตัวแปลงสัญญาณ A2DP ที่เปิดใช้งาน (ค่าเริ่มต้น: ทั้งหมด)
    #bluez5.codecs = [ sbc sbc_xq aac ldac aptx aptx_hd aptx_ll aptx_ll_duplex faststream faststream_duplex ]

    # แบ็กเอนด์ HFP/HSP (ค่าเริ่มต้น: เนทีฟ)
    # ค่าที่ใช้ได้: any, none, hsphfpd, ofono, native
    #bluez5.hfphsp-backend = เนทีฟ

    # คุณสมบัติสำหรับการกำหนดค่าตัวแปลงสัญญาณ A2DP
    #bluez5.default.rate = 48000
    #bluez5.default.channels = 2

    # ลงทะเบียนเครื่องเล่น AVRCP จำลอง ซึ่งจำเป็นสำหรับฟังก์ชันระดับเสียง AVRCP
    # ปิดการใช้งานหากคุณใช้งาน mpris-proxy หรือเทียบเท่า
    #bluez5.dummy-avrcp-player = จริง
}

กฎ = [
    # อาร์เรย์ของการจับคู่ / การดำเนินการเพื่อประเมิน
    {
        # กฎสำหรับการจับคู่อุปกรณ์หรือโหนด มันเป็นอาร์เรย์ของ
        คุณสมบัติ # ที่ทุกคนต้องตรงกับ regexp หากข้อใดข้อหนึ่ง
        # จับคู่งาน การดำเนินการจะดำเนินการกับวัตถุ
        การแข่งขัน = [
            {
                #ตรงกับการ์ดทั้งหมด
                device.name = "~bluez_card.*"
            }
        ]
        การกระทำ = {
            # การดำเนินการสามารถอัปเดตคุณสมบัติในวัตถุที่ตรงกัน
            อุปกรณ์ปรับปรุง = {

                # โปรไฟล์อุปกรณ์เชื่อมต่ออัตโนมัติเมื่อเริ่มต้นหรือเมื่อบางส่วนเท่านั้น
                # โปรไฟล์เชื่อมต่อแล้ว ปิดใช้งานโดยค่าเริ่มต้นหากคุณสมบัติ
                #ไม่ได้ระบุ.
                #bluez5.เชื่อมต่ออัตโนมัติ = [
                #hfp_hf
                #hsp_hs
                #a2dp_sink
                #hfp_ag
                #hsp_ag
                #a2dp_source
                #]
                bluez5.auto-connect = [ hfp_hf hsp_hs a2dp_sink ]

                # การควบคุมระดับเสียงของฮาร์ดแวร์ (ค่าเริ่มต้น: ทั้งหมด)
                #bluez5.hw-ปริมาณ = [
                #hfp_hf
                #hsp_hs
                #a2dp_sink
                #hfp_ag
                #hsp_ag
                #a2dp_source
                #]

                # คุณภาพการเข้ารหัส LDAC
                # ค่าที่ใช้ได้: อัตโนมัติ (Adaptive Bitrate, ค่าเริ่มต้น)
                # hq (คุณภาพสูง 990/909kbps)
                # sq (คุณภาพมาตรฐาน 660/606kbps)
                # mq (คุณภาพการใช้งานมือถือ 330/303kbps)
                #bluez5.a2dp.ldac.quality = อัตโนมัติ

                # โหมดบิตเรตตัวแปร AAC
                # ค่าที่ใช้ได้: 0 (cbr, ค่าเริ่มต้น), 1-5 (ระดับคุณภาพ)
                #bluez5.a2dp.aac.bitratemode = 0

                # เชื่อมต่อโปรไฟล์ก่อน
                # ค่าที่ใช้ได้: a2dp-sink (ค่าเริ่มต้น), เฮดยูนิตเฮดยูนิต
                #bluez5.profile = a2dp-sink

                # A2DP <-> การสลับโปรไฟล์ HFP อัตโนมัติ (เมื่ออุปกรณ์เป็นเอาต์พุตเริ่มต้น)
                # ค่าที่ใช้ได้: เท็จ บทบาท (ค่าเริ่มต้น) จริง
                # 'บทบาท' จะเปลี่ยนโปรไฟล์หากแอปพลิเคชันบันทึก
                # ระบุการสื่อสาร (หรือ "โทรศัพท์" ใน PA) เป็นบทบาทสตรีม
                bluez5.autoswitch-profile = จริง
            }
        }
    }
    {
        การแข่งขัน = [
            {
                #จับคู่แหล่งที่มาทั้งหมด
                node.name = "~bluez_input.*"
            }
            {
                #จับคู่อ่างล้างจานทั้งหมด
                node.name = "~bluez_output.*"
            }
        ]
        การกระทำ = {
            อุปกรณ์ปรับปรุง = {
                #node.nick = "โหนดของฉัน"
                #node.nick = null
                #priority.driver = 100
                #priority.session = 100
                node.pause-on-idle = เท็จ
                #resample.quality = 4
                #channelmix.normalize = เท็จ
                #channelmix.mix-lfe = เท็จ
                #session.suspend-timeout-seconds = 5 # 0 ปิดใช้งานการระงับ
                #monitor.channel-volumes = เท็จ

                # บทบาทต้นทาง A2DP "อินพุต" หรือ "การเล่น"
                # ค่าเริ่มต้นคือ "เล่น" เล่นสตรีมไปยังลำโพง
                # ตั้งค่าเป็น "อินพุต" เพื่อใช้เป็นอินพุตสำหรับแอพ
                #bluez5.a2dp-แหล่งที่มาของบทบาท = อินพุต
            }
        }
    }
]

ปรับปรุง ดูเหมือนว่าเหตุผลคือเวอร์ชัน bluez Ubuntu 20.04 มี bluez5.53 ในขณะที่ Ubuntu 18.04 เวอร์ชันล่าสุดคือ bluez5.48 ฉันพยายามค้นหา PPA พบเพียงหนึ่งรายการ (ppa:bluetooth/bluez) ซึ่งมีเวอร์ชัน 5.50 แต่น่าเสียดายที่มันไม่มีอะไรเปลี่ยนแปลง มีวิธีใดที่ดีในการอัปเกรดเวอร์ชัน bluez ใน Ubuntu 18.04 เป็นเวอร์ชันล่าสุด รวบรวมด้วยตนเองเท่านั้น?

โพสต์คำตอบ

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