PulseAudio ไม่สามารถตั้งค่าโปรไฟล์การ์ดเป็น 'a2dp_sink' ฉันจะดูบันทึกและค้นหาว่ามีอะไรผิดปกติได้อย่างไร


31

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

ฉันได้ลองทำ:

 pacmd set-card-profile <index> a2dp_sink

แต่ข้อผิดพลาดต่อไปนี้จะปรากฏขึ้น:

"Failed to set card profile to 'a2dp_sink'"

ฉันค่อนข้างไม่มีประสบการณ์ใน Linux ดังนั้นฉันไม่ทราบวิธีรับบันทึกหรือสิ่งที่ต้องค้นหาในพวกเขา แต่ฉันได้รับสิ่งนี้จาก pacmd list-cards:

เมื่อมันทำงาน:

name: <bluez_card.50_C9_71_97_A1_86>
driver: <module-bluez5-device.c>
owner module: 27
properties:
    device.description = "Jabra REVO a4.0.0"
    device.string = "50:C9:71:97:A1:86"
    device.api = "bluez"
    device.class = "sound"
    device.bus = "bluetooth"
    device.form_factor = "headset"
    bluez.path = "/org/bluez/hci0/dev_50_C9_71_97_A1_86"
    bluez.class = "0x240404"
    bluez.alias = "Jabra REVO a4.0.0"
    device.icon_name = "audio-headset-bluetooth"
    device.intended_roles = "phone"
profiles:
    headset_head_unit: Headset Head Unit (HSP/HFP) (priority 20, available: unknown)
    a2dp_sink: High Fidelity Playback (A2DP Sink) (priority 10, available: unknown)
    off: Off (priority 0, available: yes)
active profile: <a2dp_sink>
sinks:
    bluez_sink.50_C9_71_97_A1_86/#6: Jabra REVO a4.0.0
sources:
    bluez_sink.50_C9_71_97_A1_86.monitor/#10: Monitor of Jabra REVO a4.0.0
ports:
    headset-output: Headset (priority 0, latency offset 0 usec, available: unknown)
        properties:

    headset-input: Headset (priority 0, latency offset 0 usec, available: unknown)
        properties:

เมื่อไม่มี:

name: <bluez_card.50_C9_71_97_A1_86>
driver: <module-bluez5-device.c>
owner module: 25
properties:
    device.description = "Jabra REVO a4.0.0"
    device.string = "50:C9:71:97:A1:86"
    device.api = "bluez"
    device.class = "sound"
    device.bus = "bluetooth"
    device.form_factor = "headset"
    bluez.path = "/org/bluez/hci0/dev_50_C9_71_97_A1_86"
    bluez.class = "0x240404"
    bluez.alias = "Jabra REVO a4.0.0"
    device.icon_name = "audio-headset-bluetooth"
    device.intended_roles = "phone"
profiles:
    headset_head_unit: Headset Head Unit (HSP/HFP) (priority 20, available: unknown)
    a2dp_sink: High Fidelity Playback (A2DP Sink) (priority 10, available: yes)
    off: Off (priority 0, available: yes)
active profile: <off>
ports:
    headset-output: Headset (priority 0, latency offset 0 usec, available: yes)
        properties:

    headset-input: Headset (priority 0, latency offset 0 usec, available: unknown)
        properties:

และโมดูลที่เป็นเจ้าของคือ:

name: <module-bluez5-device>
argument: <path=/org/bluez/hci0/dev_50_C9_71_97_A1_86>
used: 0
load once: no
properties:
    module.author = "João Paulo Rechi Vita"
    module.description = "BlueZ 5 Bluetooth audio sink and source"
    module.version = "8.0"

ฉันได้ลองแก้ไข /etc/bluetooth/audio.conf และติดตั้ง blueman แล้ว แต่มันไม่ทำงาน ฉันพยายามติดตั้ง bluez และ pulseaudio อีกครั้ง แต่ไม่มีอะไรเปลี่ยนแปลง

มีวิธีใดบ้างที่ฉันจะรู้ว่ามีอะไรผิดปกติและแก้ไขได้หรือไม่


คุณช่วยอธิบายได้ว่าคุณรับข้อมูลนี้จากที่ไหน ดัชนีคืออะไร ขอบคุณ!
Ezequiel Moreno

ตรวจสอบที่นี่askubuntu.com/a/817926/33292
pylover

คำตอบ:


23

ขึ้นอยู่กับบรรทัด "โปรไฟล์ที่ใช้งานอยู่: <off>" โปรไฟล์เสียงไม่เปิดใช้งาน

โปรแกรมหนึ่งที่ใช้งานง่ายในการเปลี่ยนโปรไฟล์คือ pavucontrol sudo apt install pavucontrol -yคุณสามารถติดตั้งได้กับ จากนั้นรัน pavucontrol จากบรรทัดคำสั่งหรือ Alt + F2 หากคุณใช้ Kubuntu และเข้าสู่ pavucontrol

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

คุณยังสามารถลองทำสิ่งต่อไปนี้บนบรรทัดคำสั่งและมันควรจะทำส่วนใหญ่ให้คุณ แทนที่หมายเลข 2 ด้วยหมายเลขดัชนีปัจจุบันสำหรับทั้งสองคำสั่ง pacmd ด้านล่าง

pacmd set-card-profile 2 off
bluetoothctl
disconnect 50:C9:71:97:A1:86
connect 50:C9:71:97:A1:86
pacmd set-card-profile 2 a2dp_sink

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

index=`pacmd list-cards | grep bluez_card -B1 | grep index | awk '{print $2}'`;pacmd set-card-profile $index off; pacmd set-card-profile $index a2dp_sink 

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

pacmd set-card-profile `pacmd list-cards | grep bluez_card -B1 | grep index | awk '{print $2}'` off; sleep 2 ; echo -e "disconnect 50:C9:71:97:A1:86\n quit"|bluetoothctl;sleep 5; echo -e "connect 50:C9:71:97:A1:86\n quit"|bluetoothctl; sleep 5; pacmd set-card-profile `pacmd list-cards | grep bluez_card -B1 | grep index | awk '{print $2}'` a2dp_sink

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

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


>> ฉันจะดูบันทึกและค้นหาว่ามีอะไรผิดพลาดได้ไหม << จะดีมากถ้าคุณสามารถตอบคำถามนี้ได้ด้วย :)
kitingChris

ตั้งเสียงเป็นหูฟังบลูทู ธ ใน pavucontrol gui ได้สำหรับฉัน ทำงานได้ดีขึ้นกว่าเดิมกับเครื่องมือเสียง Gnome
QkiZ

1
2 ปีต่อมาและคำตอบนี้จำเป็นสำหรับฉันกับ Sony WH-H900N ของฉัน
Joakim Wimmerstedt

(1 ปีต่อมา) การใช้ XFCE และ blueman-manager ฉันต้องbluetoothctl disconnect aa:bb:cc:dd:ee:ff && bluetoothctl connect aa:bb:cc:dd:ee:ffคลิกก่อนที่จะคลิกขวาในเมนูอุปกรณ์บ่อยๆจะทำให้ฉันสามารถเปลี่ยนโปรไฟล์เสียงเป็น A2DP ได้ ฉันยังต้องฆ่ากระบวนการ blueman-manager เป็นครั้งคราวเมื่อใช้เวลานานเกินไปในการเปิดเมนูอุปกรณ์
ericP

ขอบคุณที่ให้คำสั่งเหล่านี้ นี่เป็นวิธีแก้ปัญหาเฉพาะที่ทำงานกับ Ubuntu 18.04 และ Sony WH-1000xm2 ของฉัน ฉันได้เขียนสคริปต์เกี่ยวกับเรื่องนี้: gist.github.com/egelev/2e6b57d5a8ba62cf6df6fff2878c3fd4
egelev

19

เพื่อให้ระบบของคุณจะถูกตรวจพบว่าเป็นอ่าง A2DP (เช่นการเล่นเพลงจากโทรศัพท์ของคุณผ่านลำโพงเครื่องคอมพิวเตอร์ของคุณ), เพิ่มEnable=Source,Sink,Media,Socketภายใต้ใน[General]/etc/bluetooth/audio.conf

หลังจากทำเช่นนี้รีสตาร์ทบลูทู ธ ภูต

systemctl restart bluetooth

เชื่อมต่ออุปกรณ์หูฟังของคุณ

bluetoothctl
connect <MAC>

ตรวจสอบการ์ดของคุณและตั้งค่าโปรไฟล์

pacmd list-cards
pacmd set-card-profile <index> <profile>

1
การใช้ ubuntu 16.04 /etc/bluetooth/audio.conf นั้นไม่ดีเลยฉันควรจะเขียนบรรทัดนี้ที่ไหน?
thebeancounter

มันแก้ไขให้ฉันใน Debian Sid ขอบคุณ!
Xerz

@thebeounter เพิ่มไฟล์หากไม่มีอยู่
Jimubao

บางครั้งหากคุณขาดการเชื่อมต่อกับ A2DP sink ให้ลอง "ปิด" ใน bluetoothctl แล้ว "systemctl เริ่มต้น bluetooth ใหม่" และหลังจากนั้นใน bluetoothctl "เปิดเครื่อง" และเชื่อมต่ออุปกรณ์ของคุณอีกครั้ง
Jimubao

1
ทำงานกับ ARch / Manjaro! แต่ไฟล์นี้ตั้งอยู่ที่/etc/bluetooth/main.confรุ่นล่าสุด
MCMZL

13

ฉันมีปัญหานี้บน Ubuntu 16.04.1 LTS และการใช้ GDM แก้ไขที่พบในhttps://wiki.debian.org/BluetoothUser/a2dpแก้ไขมัน

สร้าง / แก้ไข/var/lib/gdm3/.config/pulse/client.confเพื่ออ่านโดยเฉพาะ:

autospawn = no
daemon-binary = /bin/true

แล้วก็

sudo chown gdm:gdm /var/lib/gdm3/.config/pulse/client.conf

ฉันยังเพิ่ม /etc/pulse/default.pa

load-module module-switch-on-connect

แม้ว่าสิ่งนี้อาจไม่จำเป็นอย่างเคร่งครัด

หลังจากรีบูตฉันเชื่อมต่อผ่านบลูทู ธ a2dp_sinkผู้จัดการก็สามารถที่จะประสบความสำเร็จเปลี่ยนรายละเอียดเสียง


ฉันพบปัญหาที่ Bluez-เฟิร์มแวร์ไม่พร้อมใช้งานในระหว่างขั้นตอนแรกของการเชื่อมโยงจากนั้นไม่พบผู้ใช้ gdm นอกจากนี้ยังไม่มีโฟลเดอร์ gdm3 ดังนั้นจึงต้องสร้างเส้นทางทั้งหมดนั้น
Wordsforthewise

ฉันทำวิธีแก้ปัญหาที่สองจากลิงค์จาก Debian ใช้งานได้อย่างมีเสน่ห์!
Amfasis

5

lagerismiโพสต์สคริปต์ที่นี่บน launchpadตามคำตอบของ Jamie S.

  • เปลี่ยนอุปกรณ์ที่อยู่ MAC ในตัวแปรภายในสคริปต์! (สามารถพบได้กับbluetoothctl-> อุปกรณ์)

  • ทำให้สคริปต์ทำงานได้ chmod a-x bluetooth_headphone_reactivation.sh

สำหรับการดำเนินการอัตโนมัติเมื่อเริ่มต้น (ใช้งานได้เฉพาะเมื่อเปิดชุดหูฟังไว้แล้ว):

  • เพิ่มสคริปต์ลงในสคริปต์เริ่ม / ปิดในแผงควบคุมของ KDE

สำหรับการดำเนินการด้วยตนเองอย่างรวดเร็ว:

  • เพิ่มรายการลงใน application-starter (คุณสามารถตั้งค่าทางลัด keyboad เช่น "CTRL + ALT + H" และ / หรือตรึง pin starter นี้ไปที่แถบหน้าต่าง)

บท:

#!/bin/sh
device_mac='<your-devices-mac-address-here>'
pacmd set-card-profile `pacmd list-cards | grep bluez_card -B1 | grep index | awk '{print $2}'` off
sleep 2 
echo "disconnect $device_mac\n quit"|bluetoothctl
sleep 5
echo "connect $device_mac\n quit"|bluetoothctl
sleep 5
pacmd set-card-profile `pacmd list-cards | grep bluez_card -B1 | grep index | awk '{print $2}'` a2dp_sink

คุณควรใช้กับ-e echo
jarno

3

บน Xubuntu 16.04.2
ใช้ blueman-manager:

  1. เชื่อมต่อ -> ตั้งค่าโปรไฟล์ปิด
  2. เชื่อมต่อใหม่ -> ตั้งค่าโปรไฟล์ a2dp
  3. ตอนนี้ชุดหูฟังของคุณโอเค!

สคริปต์ทุบตี JBL ของฉัน

#!/bin/bash
#headset mac
mac="00:1D:DF:67:0A:29"
profile="a2dp"
# Special Bluetooth controller, default is empty
btMac=""
#connect|disconnect wait time
waitTime=5

macId="${mac//:/_}"
deviceId="bluez_card.$macId"

declare -A profiles
profiles['a2dp']='a2dp_sink'
profiles['hsp']='headset_head_unit'
profiles['off']='off'

function btCmd() {
    cmd="$1\nquit"
    [ ! -z "$btMac" ] && cmd="select $btMac\n$cmd"
    echo -e "$cmd" | bluetoothctl
}
function setProfile() {
    cmd="pactl set-card-profile $deviceId ${profiles[$1]}"
    echo $cmd
    $cmd
}
function btWaitConnect() {
    conState=$1
    for ((i=1;i<=$waitTime;++i)); do
        tmp="`btCmd "info $mac"|grep 'Connected: '`"
        [ ! -z "`echo "$tmp"|grep $conState`" ] && echo "$tmp" && return 0
        sleep 1s
    done
    echo "$tmp"
    return 1
}
function btConnect() {
    tmp="`btCmd "trust $mac\nconnect $mac" | grep -v 'NEW\|DEL\| quit'`"
    echo "$tmp"

    tmp="`btWaitConnect yes`"
    echo $tmp
    [ -z "`echo "$tmp" | grep yes`" ] && echo -e "Device $mac:\n\tConnected: fail." && return 1
    sleep 2s
    return 0
}
function btDisConnect() {
    tmp="`btCmd "disconnect $mac" | grep -v 'NEW\|DEL\| quit'`"
    echo "$tmp"

    tmp="`btWaitConnect no`"
    echo $tmp
    [ -z "`echo "$tmp" | grep no`" ] && echo -e "Device $mac:\n\tdisconnected: fail." && return 1
    sleep 1s
    return 0    
}


# controller
echo ""
btCtls="`btCmd list | grep '^Controller' | grep " $btMac"`"
echo -e "controller:\n$btCtls"
[ -z "$btCtls" -o ! -z "`echo "$btCtls" | grep "not available"`" ] && exit 1


# connect -> set off
echo ""
tmp="`btCmd paired-devices | grep '^Device' | grep " $mac"`"
echo -e "paired-devices:\n$tmp"
[ `echo "$tmp" | wc -l` != 1 ] && echo "Please pair the Bluetooth headset first: $mac" && exit 1
btConnect || exit $?
setProfile off

# reconnect -> set profile
btDisConnect || exit $?
btConnect || exit $?
setProfile $profile

คำตอบนี้และ @freespace หนึ่งช่วยให้ฉันกับการตั้งค่าของฉัน i3
หลุยส์ Lobo Borobia

อัปเดตล่าสุดประกอบด้วยการตั้งค่า sink เริ่มต้น แต่ไม่ทราบว่าจำเป็นหรือไม่
jarno

2

ดังนั้นหากคุณใช้ Debian คุณสามารถทำสิ่งต่อไปนี้: ปฏิเสธที่จะเปลี่ยนโปรไฟล์ไปเป็น a2dp_sink: ไม่ได้เชื่อมต่อ

ปัญหา

เชื่อมต่อชุดหูฟังบลูทู ธ แล้ว แต่ ALSA / PulseAudio ไม่สามารถรับอุปกรณ์ที่เชื่อมต่อได้หรือไม่มีอุปกรณ์ให้เลือก สิ่งนี้เกิดขึ้นเนื่องจาก GDM จับภาพชุด A2DP เมื่อเริ่มเซสชันเนื่องจาก GDM ต้องการ pulseaudio ในเซสชัน gdm เพื่อการเข้าถึง ตัวอย่างเช่นโปรแกรมอ่านหน้าจอต้องการมัน

วิธีการแก้

เพื่อป้องกัน GDM จากการจับ A2DP sink ในการเริ่มเซสชันให้แก้ไข/var/lib/gdm3/.config/pulse/client.conf(หรือสร้างหากไม่มีอยู่):

autospawn = no
daemon-binary = /bin/true

หลังจากนั้นคุณต้องให้สิทธิ์การเข้าถึงไฟล์นี้แก่ผู้ใช้ Debian-gdm:

chown Debian-gdm:Debian-gdm /var/lib/gdm3/.config/pulse/client.conf

คุณจะต้องปิดการใช้งานการเริ่มต้น pulseaudio:

rm /var/lib/gdm3/.config/systemd/user/sockets.target.wants/pulseaudio.socket

ในการเชื่อมต่อ a2dp อัตโนมัติสำหรับอุปกรณ์บางตัวให้เพิ่มสิ่งนี้ใน/etc/pulse/default.pa:

load-module module-switch-on-connect

Reboot


ขอบคุณครับท่านที่ไม่ติดตามฝูงชนผู้ขนส่งสินค้าและอธิบายปัญหาจริงๆ! ฉันสามารถยืนยันได้ว่านี่จะช่วยยืดเดเบียนได้จริง
Marcin Owsiany

1

ฉันแน่ใจว่าคำตอบก่อนหน้านี้พยายามที่จะระบุสาเหตุของปัญหา อย่างไรก็ตามฉันไม่สามารถทำงานใด ๆ ได้ ฉันมีปัญหาเดียวกันกับ OP แต่บน Linux Mint 17/18 ฉันเขียนสคริปต์นี้เพื่อเชื่อมต่อบลูทู ธ ที่เชื่อถือได้และใช้ a2dp

คัดลอก / วางเพื่อลูกหลาน แต่ความรุนแรงของเรื่องคือว่ามันทำซ้ำสิ่งที่ OP (และฉัน) จะต้องทำใน UI

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

#!/bin/bash

MAC=$1
CARD=$(echo "${MAC}" | sed -e 's/:/_/g')
CARD="bluez_card.${CARD}"

$(pactl list | grep -qi 'Active Profile: a2dp_sink')
a2dpUsed=$?

# this loops until a2dp is _actually used_ on the given MAC.
while [ ${a2dpUsed} -ne 0 ];
do
    #
    echo "Restarting bluetooth."
    rfkill unblock bluetooth
    sudo service bluetooth restart
    sudo hciconfig hci0 up

    # reconnect
    echo -e "power on\nconnect ${MAC}" | bluetoothctl

    #
    echo "Waiting for headset to be connected..."
    btConnected=1

    while [ ${btConnected} -gt 0 ];
    do

        sleep .1
        $(bluetoothctl <<< "info ${MAC}" | grep -qi "Connected: yes")
        btConnected=$?
    done

    #
    echo "Bluetooth connected, waiting for profiles to register"

    cardFound=1
    while [ ${cardFound} -ne 0 ];
    do
        $(pactl list | grep -qi "${CARD}")
        cardFound=$?
    done

    #
    echo "Setting bluetooth a2dp profile"
    pactl set-card-profile ${CARD} a2dp_sink
    $(pactl list | grep -qi 'Active Profile: a2dp_sink')
    a2dpUsed=$?
done

echo "a2dp is working."

1

ดังที่มีการบันทึกไว้ที่นี่เป็นเพราะ GDM จับภาพชุด A2DP เมื่อเริ่มเซสชันเนื่องจาก GDM ต้องการ pulseaudio ในเซสชัน gdm เพื่อการเข้าถึง
ลองเพิ่มสิ่งนี้ใน "/var/lib/gdm3/.config/pulse/default.pa" หรือสร้างขึ้นใหม่จากนั้นรีบูต:

#!/usr/bin/pulseaudio -nF
#

# load system wide configuration
.include /etc/pulse/default.pa

### unload driver modules for Bluetooth hardware
.ifexists module-bluetooth-policy.so
  unload-module module-bluetooth-policy
.endif

.ifexists module-bluetooth-discover.so
  unload-module module-bluetooth-discover
.endif

0

ฉันพยายามตั้งค่าบลูทู ธ และได้รับข้อผิดพลาดนี้เสมอ

ฉันพบว่าปัญหาคือ Skype หากฉันใช้งาน Skype ฉันไม่สามารถตั้งค่าa2dp_sinkโปรไฟล์ได้

ดังนั้นหากคุณพบปัญหานี้ให้ดูว่าคุณเปิดใช้งาน Skype แล้วหรือไม่


0
systemctl restart bluetooth
  • เปิดการตั้งค่าเสียง (เข้าถึงได้โดยคลิกที่ไอคอนลำโพงในถาด)
  • ลองและเปลี่ยนโปรไฟล์ผลลัพธ์เป็น A2DP Sink
  • หากไม่ได้ผลให้เปลี่ยนอุปกรณ์ของคุณเป็นลำโพงหรืออย่างอื่นแล้วสลับกลับ
  • ฉันมักจะพบว่าฉันสามารถตั้งค่าโปรไฟล์ผลลัพธ์ของฉัน

0

ฉันเลือกที่จะแก้ปัญหาได้ด้วยกฎ udev เป็นผมใช้เพียงหนึ่งเดียวของระบบเพื่อให้$USER, $XAUTHORITYและ$DISPLAYจะรู้จักกันดี

บางทีนี่อาจเป็นประโยชน์สำหรับบางคนที่ต้องการโซลูชันที่กำหนดไว้ในไฟล์เดียวซึ่งทำงานบน Ubuntu 18.04.1 LTS

เบ็ดถูกเรียกผ่านinputระบบย่อยเพราะลำโพงดูเหมือนจะเริ่มต้นอย่างเต็มที่ในขั้นตอนนี้

# file: /etc/udev/rules.d/99-jbl-go2.rules
# fix JBL GO2 with CSR bluetooth: switch to a2dp profile upon connect
# byteborg 20190110
SUBSYSTEMS=="input", ACTION=="add", ATTRS{name}=="70:99:1C:41:C6:EB", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/run/user/1000/gdm/Xauthority", RUN+="/bin/su alpha -c '/usr/bin/pacmd set-card-profile bluez_card.70_99_1C_41_C6_EB a2dp_sink'"

Archlinux Wiki กล่าวถึงอุปกรณ์ Cambridge Silicon Radio ที่ให้ข้อมูลผิดพลาดในการเชื่อมต่อ ( https://wiki.archlinux.org/index.php/Bluetooth_headset#A2DP_sink_profile_is_unavailable ) ฉันสามารถรับรู้พฤติกรรมนี้ได้ด้วยลำโพงบลูทู ธ "JBL GO 2" ทำงานผิดปกติเหมือนที่กล่าวไว้แล้ว ดูเหมือนว่า a2dp จะสามารถใช้งานได้ไม่นานหลังจากเชื่อมต่อ - อาจเป็นปัญหาเกี่ยวกับเวลาหรือไม่


0

ปัญหานี้ได้แก้ไขปัญหาโปรไฟล์การ์ดสำหรับฉัน: https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1181106/comments/15

อ้างถึง:

1) Modify the /etc/bluetooth/audio.conf
================================

[General]
Enable = Source,Sink,Headset,Gateway,Control,Media
Disable = Socket

HFP=false

[A2DP]
SBCSources=1
MPEG12Sources=0

2) Check for pulseaudio module :
==========================

$ pactl list | grep -i module-bluetooth

If you dont have :
     module-bluetooth-policy
     module-bluetooth-discover
     module-bluetooth-device

Just do :
$ sudo apt-get install pulseaudio-module-bluetooth
$ pulseaudio -k
$ pactl load-module module-bluetooth-device
$ pactl load-module module-switch-on-connect

3) Connect the bluetooth headset
===========================

Use blueman to pair, and connect audio sink
Use pavucontrol to change for A2DP (even if blueman said "audio profile off")

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