Ubuntu makinenizi a2dp Bluetooth cihazı olarak kullanmak için önce onu "a2dp sink" bitiş noktası olarak kaydedecek şekilde yapılandırmanız gerekir.
Bluez Ubuntu'daki paket (10,04 ve üzeri) bir yardımcı olarak adlandırılan içeren sdptool Bluetooth cihaz A2DP dağıtma tertibatı olarak yapılandırılmış olup olmadığını kontrol etmek için kullanılabilir. İşte sdptool'un Bluetooth kulaklığımla çalıştığı çıktı (adres gnome-kontrol merkezindeki "Bluetooth ayarları" iletişim kutusundan geliyor):
$ sdptool search --bdaddr 00:18:16:3A:3B:D4 a2snk
Searching for a2snk on 00:18:16:3A:3B:D4 ...
Service RecHandle: 0x10002
Service Class ID List:
"Audio Sink" (0x110b)
Protocol Descriptor List:
"L2CAP" (0x0100)
PSM: 25
"AVDTP" (0x0019)
uint16: 0x102
Profile Descriptor List:
"Advanced Audio" (0x110d)
Version: 0x0102
$
yerel Ubuntu makineme karşı çalıştırdığımda çıktı şöyle:
$ sdptool search --bdaddr local a2snk
Searching for a2snk on FF:FF:FF:00:00:00 ...
$
Bu, Ubuntu makinesinin kendini a2dp havuzu olarak tanıtmadığını gösterir. Ancak, kendisini bir a2dp kaynağı olarak tanıtıyor:
$ sdptool search --bdaddr local a2src
Searching for a2src on FF:FF:FF:00:00:00 ...
Service Name: Audio Source
Service RecHandle: 0x10003
Service Class ID List:
"Audio Source" (0x110a)
Protocol Descriptor List:
"L2CAP" (0x0100)
PSM: 25
"AVDTP" (0x0019)
uint16: 0x102
Profile Descriptor List:
"Advanced Audio" (0x110d)
Version: 0x0102
Bu, Ubuntu makinesinin kulaklıklı mikrofon setini bir ses kaynağı olarak doğru şekilde eşleştirmesini sağlar, ancak Ubuntu makinesinin Bluetooth sesi için çıkış (lavabo) olarak kullanılmasını mümkün kılmaz.
Düzenlemek size olursa /etc/bluetooth/audio.conf
, altında bu satırı ekleyerek A2DP lavabo desteğini etkinleştirebilirsiniz [General]
bölümünde:
Enable=Source
Bu, her ikisi de tersine bir şekilde adlandırılmıştır - buraya eklediğimiz şey, kaynak desteği değil Bluetooth havuzu desteğidir - ve bu dosyadaki, tüm uygulanan hizmetlerin varsayılan olarak etkin olduğunu iddia ettiği yorumuyla çelişkilidir. :(
Bu değişikliği yaptıktan sonra, bluetoothd'u çalıştırarak yeniden başlatmanız gerekir sudo service bluetooth restart
.
Bu işi almaya çalışırken Android cihazınızı ve Ubuntu bilgisayarınızı daha önce eşleştirdiyseniz, Android'in Ubuntu'yu kullanılabilir bir ses cihazı olarak tanımasını sağlamak için eşleştirmeyi silmeniz ve yeniden eşleştirmeniz gerekir.
Bunu yaptıktan sonra, Android cihaz PulseAudio altında bir giriş cihazı olarak görünmelidir. PulseAudio yeni Bluetooth ses kaynağını algılamazsa, Bluetooth modülünü komut satırından takmanız ve yüklemeniz gerekebilir:
sudo apt-get install pulseaudio-module-bluetooth
pactl load-module module-bluetooth-discover
Ardından, PulseAudio'ya bu ses girişini bir geridöngü bağlantı (bir kaynaktan bir lavaboya düz bir hat) kullanarak çıkış / lavaboya (hoparlörleriniz veya Bluetooth kulaklık gibi) yönlendirmesini söylemeniz gerekir.
PulseAudio'nun daha sonraki sürümlerinde modül-bluetooth politikası bulunabilir ve zaten sizin için bir geridöngü aygıtı kurmuş olabilir, ancak bu en yaygın durum olarak görünmüyor.
Geridöngü bağlantısını kurmanın yarı otomatik bir yolu - ayrıca Pavucontrol GUI programınız yüklüyse - basitçe geri döngü modülünü yüklemek ve onu PulseAudio ayarları hatırlayacağından pavucontrol kullanarak yapılandırmaktır. Modülün yüklenmesi pactl komutunu kullanarak komuttan yapılır:
pactl load-module module-loopback
Henüz bir şey duymuyorsanız ya da garip geribildirim efektleri alırsanız korkmayın, yeni oluşturulan cihaza hangi girişi kaynak alacağını ve çıkışı ilk önce hangi lavaboya göndereceğini söylememiz gerekir.
Pavucontrol'ü açın ve Yapılandırma sekmesini açın. Bluetooth cihazınızın burada göründüğünden emin olun (blueman yöneticisi veya başka bir Bluetooth aracı kullanarak eşleştirdikten sonra) ve profilin A2DP olarak ayarlandığından emin olun. Giriş cihazları sekmesine geçin ve cihazınızın burada da göründüğünden ve sessiz olmadığından emin olun. Şimdi Kayıt sekmesine geçin ve yeni oluşturulan geridöngü bağlantısının, sessiz düğmesinin yanındaki seçme kutusuyla cihazınızı kaynak olarak kullanmasını sağlayın. Geri döngü bağlantısının aynı şekilde kullanması gereken lavaboyu seçmek için Oynatma sekmesine geçin. Geridöngü aygıtı sekmelerde görünmüyorsa, tüm akışların her sekmenin altındaki seçim kutusunu kullanarak görüntülendiğinden emin olun.
Şimdi, eğer çalıyorsa, hoparlörlerinizde veya seçtiğiniz çıkış lavabosunda sesi cihazınızdan duymalısınız. Cihazınızın bağlantısı kesildiğinde, geridöngü cihazı, istenmeyebilecek olan mevcut bir lavaboya ve kaynağa geri döner, bu nedenle geridöngü aygıtını, ihtiyacınız olana kadar susturduğunuzdan emin olun. Geri döngü bağlantısı - * - restore modülleri sayesinde aynı Bluetooth cihazının bir sonraki bağlanışında aynı havuz / kaynağı geri yükleyecektir.
Bu işe yaramazsa veya kurulu kontrol paneliniz yoksa, aşağıdaki yöntemi kullanarak geri döngü ayarını yapabilirsiniz:
pactl load-module module-loopback source_dont_move=yes source=$BTSOURCE sink=$SINK
( $BTSOURCE
Örneğin, Bluetooth cihazınızın kaynak adıyla PulseAudio tarafından görüldüğü gibi bluez_source.14_DA_E9_2A_D7_57
değiştirin ve örneğin $SINK
ses akışını göndermek istediğiniz PulseAudio çıkışının adıyla değiştirin , örneğin :.) alsa_output.pci-0000_00_1b.0.analog-stereo
Lavabo argümanını tamamen bırakabilir ve geri dönmesini sağlayabilirsiniz. aktif bir lavaboya yönlendirin ve daha sonra pavucontrol ile değiştirin.)
- Sen bulabilirsiniz
$SINK
ile pactl list sinks
o sonra gösterilen,Name:
- Benzer şekilde
$BTSOURCE
ile görebilirsinizpactl list sources
- Bağımsız
source_dont_move
değişken, Bluetooth cihazı bağlantısı kesildiğinde loopback bağlantısının başka bir ses kaynağına düşmesini önler. Bunun yerine kaldırıldı ve bir dahaki sefere tekrar ayarlamak zorunda kalacaksınız.
İşte bir örnek nasıl görüneceğini şöyle: ( Bluetooth adresindeki :
ile değiştirmeyi unutmayın _
!):
pactl load-module module-loopback source_dont_move=yes source=bluez_source.14_DA_E9_2A_D7_57 sink=alsa_output.pci-0000_00_14.2.analog-stereo
Geri dönüş modülünün yüklenmesi başarısız olursa, source_dont_move=yes
argümanı kaldırmayı deneyin , ilk sürüm 1.0'da kullanıma sunuldu. Daha sonra, bu sesi kesmeden önce bu geridöngü bağlantısını keserken dikkatli olun veya örneğin dizüstü bilgisayar mikrofonunuz açılmamışsa, bazı çok kötü geri bildirim alabilirsiniz. İşiniz bittiğinde bu geridöngü bağlantısını manuel olarak bırakmak için:
pactl unload-module $(pactl list short modules | grep "loopback.*$BTSOURCE" | cut -f1)
Yine, $BTSOURCE
Bluetooth aygıtınıza başvuran PulseAudio kaynağının adıyla değiştirin . Ayrıca, load-module komutu tarafından döndürülen kimliği kullanarak modülü de kaldırabilirsiniz:
$ pactl load-module module-loopback source_dont_move=yes source=bluez_source.14_DA_E9_2A_D7_57 sink=alsa_output.pci-0000_00_14.2.analog-stereo
15
$ pactl unload-module 15
Referanslar:
- Blog postası , Ubuntu’da nasıl düzeltildiğiyle ilgili bazı detayları açıklıyor.