Bluetooth A2DP를 사용하여 컴퓨터 스피커를 통해 음악을 재생할 수 있도록 휴대폰의 사운드를 펄스 오디오 입력으로 표시하려고 합니다. 저는 아치 리눅스와 bluez 5.45를 사용하고 있습니다.
웹에는 이에 대한 수많은 가이드가 있지만 모두 오래된 것 같습니다. 특히 bluez 5.45(bluez-utils 5.45 및 bluez-tools 0.2 포함)의 경우 더 이상 파일이 없습니다 /etc/bluetooth/audio.conf
. 더 이상 존재하지 hcitool
않습니다 sdptool
. org.bluez.AudioSource
더 이상 dbus를 통해 hci 장치의 인터페이스를 호출할 수 없습니다 . 일부 웹 페이지에서는 이제 모든 것이 "제대로 작동"해야 한다고 제안하지만 휴대폰(Pixel)을 컴퓨터와 페어링한 후에는 소스나 수신기가 전혀 표시되지 않습니다.
작동 방식: 휴대전화를 페어링 bluetoothctl
하고 핑하는 것으로 시작할 수 있습니다 l2ping
. 내 사용자를 lp
그룹에 넣고 /etc/dbus-1/system.d/bluetooth.conf
가능한 모든 블루투스 권한을 갖도록 편집했습니다. , 및 를 pacmd list-modules
로드했음을 보여줍니다 . 내 휴대폰의 Bluetooth 메뉴에서 내 컴퓨터에 "미디어 오디오"라고 표시됩니다(정확한지 확실하지 않음).module-bluetooth-policy
module-bluetooth-discover
module-bluez5-discover
그러나 pacmd list-sources
Bluetooth에 대한 내용은 나열되어 있지 않으며 아래에는 Bluetooth에 대한 힌트도 없습니다 pavucontrol
.
답변1
글쎄, 나는 이것을 알아 내려고 몇 시간을 보냈지 만 어떤 이유로 내 전화에 연결할 수 없습니다. 그러나 그런 다음 다른 컴퓨터에서 시도해 보았고 셸에 입력하는 것만으로도 연결하고 오디오가 작동하도록 하는 데 충분했습니다 connect xx:xx:xx:xx:xx:xx
. bluetoothctl
그런 다음 첫 번째 컴퓨터로 돌아가서 실행 remove xx:xx:xx:xx:xx:xx
하고 다시 페어링했더니 제대로 작동했습니다.
제가 다르게 한 한 가지는 작동할 때 페어링하고 연결하는 동안 음악을 재생하는 것이었지만, 첫 번째 경우에는 오디오를 보내기 전에 연결을 시도했습니다.
기본적으로 아치에서 블루투스를 사용하려는 다른 사람들을 위해 요약하면 다음 단계입니다.
pacman --needed -S pulseaudio-bluetooth bluez-utils bluez-tools rfkill
systemctl enable bluetooth
systemctl start bluetooth
rfkill unblock bluetooth
gpasswd -a `logname` lp
그런 다음 직접 실행할 때 pulseaudio -k
로그아웃했다가 다시 로그인하여 lp 그룹(블루투스 액세스 제공)에 들어가세요.
이제 휴대폰에 내장된 스피커를 통해 음악을 재생하고 휴대폰을 페어링 모드로 전환하세요.
마지막으로 루트로 다시 실행 bluetoothctl
하고 유틸리티에서 다음 명령을 실행합니다.
power on
scan on
pair xx:xx:xx:xx:xx:xx
[confirm pin]
scan off
connect xx:xx:xx:xx:xx:xx
trust xx:xx:xx:xx:xx:xx
이 시점에서 모든 것이 정상이면 전화기가 스피커를 통한 재생을 중단하고 pavucontrol
앱 아래에 새 입력이 표시됩니다.
휴대폰이 범위 내에 있을 때 자동으로 연결되도록 하려면 휴대폰이 음성에 액세스할 수 있도록 승인하기 trust
위한 사본 없이 이 명령이 필요합니다. 그렇지 않으면 다음 명령을 사용하여 컴퓨터에서 모든 연결을 시작 bt-agent
해야 합니다 .connect
bluetoothctl
dbus-send --system --type=method_call --dest=org.bluez \
/org/bluez/hci0/dev_xx_xx_xx_xx_xx_xx org.bluez.Device1.Connect