it-swarm-id.com

Dapatkah saya menggunakan komputer saya sebagai penerima / speaker Bluetooth A2DP?

Pertama, masalahnya: Saya menggunakan Cowon MP3 player sebagai pemutar musik utama dengan penyumbat telinga dasar.

Ia menawarkan A2DP & Saya ingin netbook saya (menjalankan UNE 10,04) bertindak sebagai penerima.

Beberapa sumber daya di web tentang a2dp, tetapi sebagian besar sudah kedaluwarsa:

39

Untuk menggunakan mesin Ubuntu Anda sebagai perangkat Bluetooth a2dp, Anda harus mengkonfigurasinya terlebih dahulu untuk mendaftar sebagai titik akhir "a2dp sink".

Paket bluez di Ubuntu (10.04 dan lebih tinggi) termasuk utilitas bernama sdptool yang dapat digunakan untuk memeriksa apakah perangkat Bluetooth dikonfigurasikan sebagai wastafel a2dp atau tidak. Ini adalah output dari sdptool yang dijalankan terhadap headset Bluetooth saya (alamatnya diambil dari dialog "Pengaturan Bluetooth" di gnome-control-center):

$ 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

$

dan inilah output ketika dijalankan terhadap mesin Ubuntu lokal saya:

$ sdptool search --bdaddr local a2snk
Searching for a2snk on FF:FF:FF:00:00:00 ...
$

Ini menunjukkan bahwa mesin Ubuntu tidak mengiklankan dirinya sebagai wastafel a2dp. Namun, iklan itu sendiri sebagai sumber a2dp:

$ 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

Ini memungkinkan mesin Ubuntu untuk memasangkan dengan benar dengan headset sebagai sumber audio, tetapi tidak memungkinkan menggunakan mesin Ubuntu sebagai output (sink) untuk audio Bluetooth.

Jika Anda mengedit /etc/bluetooth/audio.conf, Anda dapat mengaktifkan dukungan wastafel a2dp dengan menambahkan baris ini di bawah bagian [General]:

  Enable=Source

Ini disebut secara berlawanan - karena apa yang kami tambahkan di sini adalah dukungan Bluetooth sink, bukan dukungan sumber - dan bertentangan dengan komentar dalam file ini yang mengklaim semua layanan yang diimplementasikan diaktifkan secara default. :(

Setelah melakukan perubahan ini, Anda harus memulai ulang bluetoothd dengan menjalankan Sudo service bluetooth restart.

Jika sebelumnya Anda telah memasangkan perangkat Android Anda dan komputer Ubuntu saat mencoba melakukan pekerjaan ini, Anda harus menghapus pemasangan di kedua sisi dan memasangkannya kembali untuk mendapatkan Android untuk mengenali Ubuntu sebagai perangkat audio yang tersedia.

Setelah Anda selesai melakukannya, perangkat Android akan muncul sebagai perangkat input di bawah PulseAudio. Jika PulseAudio tidak mendeteksi sumber audio Bluetooth baru, Anda mungkin perlu menginstal dan memuat modul Bluetooth, dari baris perintah:

 Sudo apt-get install pulseaudio-module-bluetooth
 pactl load-module module-bluetooth-discover

Maka Anda perlu memberi tahu PulseAudio untuk merutekan input audio ini ke output/wastafel Anda (seperti speaker Anda, atau headset Bluetooth) menggunakan koneksi loopback (garis lurus dari sumber ke wastafel).

Versi PulseAudio nanti mungkin memiliki kebijakan-bluetooth-kebijakan yang disertakan dan mungkin sudah menyiapkan perangkat loopback untuk Anda, tetapi ini tampaknya bukan kasus yang paling umum.

Cara semi-otomatis untuk mengatur koneksi loopback - jika Anda juga menginstal program GUI pavucontrol - adalah dengan hanya memuat modul loopback dan mengkonfigurasinya menggunakan pavucontrol, karena PulseAudio akan mengingat pengaturan. Memuat modul dilakukan dari perintah menggunakan pactl:

 pactl load-module module-loopback

Jangan takut jika Anda belum mendengar apa-apa, atau jika Anda mendapatkan efek umpan balik aneh, kami perlu memberi tahu perangkat yang baru dibuat dari mana sumber untuk mendapatkan input dari dan yang tenggelam untuk mengirim output ke pertama.

Buka pavucontrol dan buka tab Konfigurasi. Pastikan perangkat Bluetooth Anda muncul di sini (setelah dipasangkan menggunakan blueman-manager atau alat Bluetooth lain) dan profil diatur ke A2DP. Beralih ke tab Perangkat input dan pastikan perangkat Anda juga muncul di sini dan tidak dibisukan. Sekarang beralihlah ke tab Recording dan buat koneksi loopback yang baru dibuat menggunakan perangkat Anda sebagai sumber dengan kotak pilih di sebelah tombol mute. Beralih ke tab Playback untuk memilih wastafel yang harus digunakan koneksi loopback dengan cara yang sama. Jika perangkat loopback tidak muncul di tab, pastikan semua aliran ditampilkan menggunakan kotak pilih di bagian bawah setiap tab.

Anda sekarang harus mendengar audio dari perangkat Anda, jika diputar, di speaker Anda, atau keluaran apa pun yang Anda pilih. Ketika perangkat Anda terputus, perangkat loopback akan mundur ke sumber dan sumber yang tersedia, yang mungkin tidak diinginkan, jadi pastikan Anda membisukan perangkat loopback sampai Anda membutuhkannya. Sambungan loopback akan mengembalikan sumber/wastafel yang sama pada saat berikutnya perangkat Bluetooth yang sama terhubung berkat modul - * - modul pengembalian.

Jika itu tidak berhasil , atau Anda tidak menginstal pavucontrol, Anda dapat mengatur loopback menggunakan metode berikut:

 pactl load-module module-loopback source_dont_move=yes source=$BTSOURCE sink=$SINK

(Ganti $BTSOURCE dengan nama sumber untuk perangkat Bluetooth Anda seperti yang terlihat oleh PulseAudio, misalnya bluez_source.14_DA_E9_2A_D7_57; dan ganti $SINK dengan nama output PulseAudio yang ingin Anda kirimi stream audio, misalnya: alsa_output.pci-0000_00_1b.0.analog-stereo. Anda dapat meninggalkan argumen sink sepenuhnya. dan memilikinya mundur ke wastafel aktif, dan mengubahnya nanti melalui pavucontrol.)

  • Anda dapat menemukan $SINK dengan pactl list sinks, ini ditampilkan setelah Name:
  • Demikian pula Anda dapat melihat $BTSOURCE dengan pactl list sources
  • Argumen source_dont_move mencegah koneksi loopback dari jatuh kembali ke sumber audio lain ketika perangkat Bluetooth terputus. Alih-alih dihapus dan Anda harus mengaturnya lagi lain kali.

Berikut ini contohnya (Ingat untuk mengganti : dengan _ di alamat Bluetooth!):

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

Jika memuat modul fallback gagal, coba hapus argumen source_dont_move=yes, itu tersedia terlebih dahulu di versi 1.0. Namun hati-hati untuk menghapus koneksi loopback ini sebelum Anda menjatuhkan audio ini, atau jika misalnya mikrofon laptop Anda dibunyikan, Anda mungkin mendapatkan umpan balik yang sangat buruk. Untuk menjatuhkan koneksi loopback ini secara manual setelah selesai, jalankan:

pactl unload-module $(pactl list short modules | grep "loopback.*$BTSOURCE" | cut -f1)

Sekali lagi, ganti $BTSOURCE dengan nama untuk sumber PulseAudio yang merujuk ke perangkat Bluetooth Anda. Anda juga dapat membongkar modul menggunakan id yang dikembalikan oleh perintah modul memuat:

$ 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

Referensi:

  • Posting blog menjabarkan beberapa detail tentang bagaimana hal ini diperbaiki di Ubuntu.
46
slangasek

Saya menggunakan blueman, diinstal dari pusat perangkat lunak Ubuntu. Mengklik kanan pada ikon blueman * -> "layanan lokal" -> audio-> Periksa "penerimaan audio lanjutan" berujung. Tapi saya menggunakannya untuk mendengarkan di laptop Ubuntu 11.10 saya apa yang saya mainkan di telepon Android saya.

* Ikon blueman ditampilkan di sudut kanan bawah di gnome Shell + ubuntu 11.10, itu adalah kasus saya. Saya harap ini bermanfaat bagi Anda.

13
user47059

Ini sangat sederhana sekarang di Ubuntu 12.04

Hubungkan perangkat bluetooth Anda

Cari perangkat bluetooth Anda dan catat nomor sumbernya:

pactl list sources 

Buat pengulangan untuk perangkat bluetooth:

pactl load-module module-loopback source=$SOURCE_NUMBER  

Di mana $ SOURCE_NUMBER adalah nomor yang sebelumnya Anda catat.

Misalnya, saya memasukkan yang berikut ini agar pemutaran audio berfungsi:

$ pactl load-module module-loopback source=3  

Itu dia! Saya menemukan solusi di jawaban atas agak rumit, jadi saya menyederhanakannya dengan cara ini (apalagi mengetik dan menyalin/menempel). Meskipun solusi saya mungkin akan rusak jika Anda menghapus perangkat audio yang terdaftar sebelum perangkat bluetooth oleh pactl list sources.

Juga, jangan lupa untuk menghapus modul loopback sebelum melepaskan perangkat bluetooth:

Perhatikan nomor modul perangkat loopback yang Anda buat:

pactl list short modules

Hapus perangkat loopback:

pactl unload-module $MODULE_NUMBER

Jawaban sebelumnya ditulis sebelum rilis 12,04, jadi saya yakin ada beberapa perubahan. Misalnya, saya tidak perlu mengaktifkan secara manual menggunakan perangkat bluetooth sebagai sumber audio (diaktifkan secara default). Namun, kadang-kadang saya harus mengaktifkan profil "Media Audio" di pengaturan bluetooth saya di ponsel saya (Samsung Captivate menjalankan CyanogenMod 9.1.0).

Mungkin ada cara untuk memanfaatkan monitor-dbus dengan menggunakan skrip Shell untuk menonton koneksi perangkat A2DP bluetooth dan secara otomatis memuat modul loopback untuk itu, tapi itu sedikit di atas kepala saya.

Semoga kita tidak perlu melakukan ini secara manual lagi di Ubuntu 12.10.

7
Toasty

Untuk 13,04, pasangkan perangkat sumber Anda dengan laptop ubuntu dan hanya berfungsi! Sangat keren untuk menemukan bahwa itu mudah sekarang.

3
user184485

Di Ubuntu 16.04 ini bekerja di luar kotak.

2
mniess

Solusi yang bahkan lebih mudah daripada jawabannya.

Anda cukup pergi

Sudo apt-get install pulseaudio*

Kemudian reboot. Setelah reboot, sambungkan ke Bluetooth Anda dan cukup putar musik di ponsel Anda. Semuanya akan dikirim ke komputer Anda dan dimainkan di speaker komputer.

Dan ya! sama-sama.