Могу ли я использовать свой компьютер в качестве приемника A2DP / динамика Bluetooth?

Во-первых, проблема: я использую MP3-плеер Cowon в качестве основного музыкального проигрывателя с базовыми затычками для ушей.

Он предлагает A2DP & amp; Я хотел бы, чтобы мой нетбук (под управлением UNE 10.04) выступал в качестве приемника.

Некоторые ресурсы в Интернете о a2dp, но большинство устарели:

40
задан 18 August 2016 в 00:38

6 ответов

Я использую blueman, установленный из программного центра Ubuntu. Щелкнув правой кнопкой мыши на значке blueman * -> «местные службы» -> аудио-> проверить, что «расширенный прием звука» не за горами. Кстати, я использую его, чтобы слушать на своем ноутбуке Ubuntu 11.10 то, что я играю на своем телефоне Android.

* Значок blueman отображается в правом нижнем углу в gnome shell + ubuntu 11.10, это мой случай. Я надеюсь, что это полезно для вас.

0
ответ дан 18 August 2016 в 00:38

Это действительно просто теперь в Ubuntu 12.04

Подключите свое bluetooth-устройство

Ищите свое bluetooth-устройство и примите во внимание, это - исходное число:

pactl list sources 

Сделайте обратную петлю для bluetooth-устройства:

pactl load-module module-loopback source=$SOURCE_NUMBER  

Где $SOURCE_NUMBER является числом, Вы ранее приняли во внимание.

Например, я ввел следующее, чтобы заставить воспроизведение звука работать:

$ pactl load-module module-loopback source=3  

Именно! Я нашел, что решение в главном ответе было немного сложным, таким образом, я упростил его этот путь (намного меньше ввода и копии/вставки). Хотя мое решение, вероятно, повредится при удалении каких-либо аудиоустройств, перечисленных перед bluetooth-устройством pactl list sources.

Кроме того, не забывайте удалять петлевой модуль прежде, чем разъединить bluetooth-устройство:

Примите во внимание количество модуля устройства закольцовывания, которое Вы создали:

pactl list short modules

Удалите устройство закольцовывания:

pactl unload-module $MODULE_NUMBER

Предыдущие ответы были записаны до 12.04's выпуск, таким образом, я уверен, что были некоторые изменения. Например, я не должен был вручную позволять использовать bluetooth-устройства в качестве источника аудиосигналов (он был включен по умолчанию). Однако я действительно иногда должен переключать "профиль" Аудио Медиа в своих настройках Bluetooth по моему телефону (Samsung Очаровывают рабочий CyanogenMod 9.1.0).

Существует, вероятно, способ усилить dbus-монитор при помощи сценария оболочки, чтобы наблюдать за подключениями устройства Bluetooth A2DP и автоматически загрузить петлевой модуль для него, но это немногим выше моей головы.

Надо надеяться, мы не должны будем делать этого вручную больше в Ubuntu 12.10.

7
ответ дан 18 August 2016 в 00:38

В Ubuntu 16.04 это работает "из коробки".

0
ответ дан 18 August 2016 в 00:38

На 13.04 подключите ваше устройство-источник к ноутбуку с Ubuntu, и оно просто работает! Очень здорово обнаружить, что теперь это было так просто.

0
ответ дан 18 August 2016 в 00:38

Даже более простое решение, чем ответ.

Вы можете просто пойти

sudo apt-get install pulseaudio*

Затем перезагрузите компьютер. После перезагрузки подключитесь к Bluetooth и просто воспроизведите музыку на своем телефоне. Все будет передаваться на ваш компьютер и воспроизводиться через динамики компьютера.

И да! пожалуйста.

0
ответ дан 18 August 2016 в 00:38

Чтобы использовать ваш компьютер Ubuntu в качестве устройства Bluetooth a2dp, вы должны сначала настроить его для регистрации в качестве конечной точки «приемника a2dp».

Пакет bluez в Ubuntu (10.04 и выше) включает в себя утилиту под названием sdptool , которая может использоваться для проверки, настроено ли устройство Bluetooth в качестве приемника a2dp или нет. Вот вывод от sdptool, запущенного на моей гарнитуре Bluetooth (адрес берется из диалогового окна «Настройки Bluetooth» в 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

$

, а вот вывод при запуске на моем локальная машина Ubuntu:

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

Это показывает, что машина Ubuntu не рекламирует себя как приемник a2dp. Однако он рекламирует себя как источник 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

Это позволяет машине Ubuntu правильно связываться с гарнитурой в качестве источника звука, но не позволяет использовать машину Ubuntu в качестве выхода (приемника) для аудио Bluetooth.

Если вы редактируете /etc/bluetooth/audio.conf, вы можете включить поддержку приемника a2dp, добавив эту строку под разделом [General]:

  Enable=Source

Это нелогично, так как мы добавляем здесь это поддержка приемника Bluetooth, а не поддержка источника - и это противоречит комментарию в этом файле, в котором утверждается, что все реализованные сервисы включены по умолчанию. : (

После внесения этого изменения вам нужно будет перезапустить bluetoothd, запустив sudo service bluetooth restart.

Если вы ранее связывали свое устройство Android и компьютер Ubuntu, пытаясь получить эту работу, вы потребуется удалить сопряжение с обеих сторон и повторно сопоставить их, чтобы Android распознал Ubuntu как доступное аудиоустройство.

После того, как вы это сделаете, устройство Android должно появиться как вход устройство под PulseAudio. Если PulseAudio не обнаруживает новый источник звука Bluetooth, вам может потребоваться установить и загрузить модуль Bluetooth из командной строки:

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

Затем необходимо указать PulseAudio для маршрутизации этого аудио. вход в ваш выход / приемник (например, ваши динамики или гарнитуру Bluetooth) с использованием петлевого соединения (прямая линия от источника к приемнику).

В более поздних версиях PulseAudio может быть установлена ​​политика module-bluetooth включенный, и он, возможно, уже настроил петлевое устройство для вас, но это, кажется, не самый распространенный se.

Полуавтоматический способ для установки обратной связи - если у вас также установлена ​​программа с графическим интерфейсом pavucontrol - это просто загрузить модуль обратной связи и настроить его с помощью pavucontrol, так как PulseAudio запомнит настройки. Загрузка модуля выполняется из команды с помощью pactl:

 pactl load-module module-loopback

Не бойтесь, если вы еще ничего не слышите или если вы получаете странные эффекты обратной связи, мы должны сообщить недавно созданному устройству, которое источник для получения ввода и какой приемник для отправки вывода первым.

Откройте pavucontrol и откройте его вкладку «Конфигурация». Убедитесь, что ваше Bluetooth-устройство отображается здесь (после сопряжения с ним с помощью blueman-manager или другого инструмента Bluetooth) и для профиля установлено значение A2DP. Перейдите на вкладку Устройства ввода и убедитесь, что ваше устройство также отображается здесь и не отключено. Теперь переключитесь на вкладку «Запись» и сделайте так, чтобы вновь созданное петлевое соединение использовало ваше устройство в качестве источника с полем выбора рядом с кнопкой отключения звука. Перейдите на вкладку «Воспроизведение», чтобы выбрать приемник, который петлевое соединение должно использовать таким же образом. Если петлевое устройство не отображается на вкладках, убедитесь, что все потоки отображаются с помощью переключателя внизу каждой вкладки.

Теперь вы должны слышать звук с вашего устройства, если оно воспроизводится, в ваших динамиках или в любом выбранном вами выходном приемнике. Когда ваше устройство отключено, устройство обратной связи переключится на доступный приемник и источник, что может быть нежелательным, поэтому убедитесь, что вы отключаете устройство обратной связи, пока оно вам не понадобится. Шлейфовое соединение восстановит тот же приемник / источник при следующем подключении того же устройства Bluetooth благодаря модулям * восстановления модулей.

Если это не сработает , или у вас не установлен pavucontrol, вы можете вместо этого настроить обратную связь, используя следующий метод:

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

( Замените $BTSOURCE на имя источника для вашего устройства Bluetooth, как видно на PulseAudio, например bluez_source.14_DA_E9_2A_D7_57, и замените $SINK на имя выхода PulseAudio, на который вы хотите отправить аудиопоток, например: alsa_output.pci-0000_00_1b.0.analog-stereo. может полностью исключить аргумент приемника и сделать его запасным для активного приемника, а затем изменить его через pavucontrol.)

  • Вы можете найти $SINK с помощью pactl list sinks, это показано после Name:
  • Аналогично вы можете увидеть $BTSOURCE с pactl list sources
  • Аргумент source_dont_move предотвращает возврат петлевого соединения к другому источнику звука, когда устройство Bluetooth отключено. Вместо этого он удаляется, и вам придется настроить его снова в следующий раз.

Вот как будет выглядеть пример (не забудьте заменить : на _ в адресе 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

Если загрузка резервного модуля не удалась, попробуйте убрав аргумент source_dont_move=yes, он стал доступен первым в версии 1.0. Однако будьте осторожны, чтобы удалить это петлевое соединение перед тем, как отключить звук, или, например, если микрофон вашего ноутбука выключен, вы можете получить очень плохую обратную связь. Чтобы разорвать это петлевое соединение вручную, когда закончите, выполните:

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

Снова замените $BTSOURCE именем источника PulseAudio, которое относится к вашему устройству Bluetooth. Вы также можете выгрузить модуль с помощью идентификатора, возвращенного командой load-module:

$ 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

Ссылки:

  • В блоге изложены некоторые детали о том, как это исправлено в Ubuntu.
0
ответ дан 18 August 2016 в 00:38

Другие вопросы по тегам:

Похожие вопросы: