Настройка bluetooth стерео-наушников в Ubuntu Linux (8.04 & 7.10)

    Привет!
    Решил написать небольшую инструкцию, чтобы помочь нуждающимся в настройке bluetooth-наушников под Linux. Описанный способ гарантированно работает в Ubuntu 7.10 и 8.04. В других системах не должно возникнуть особых проблем, если имеются все необходимые компоненты (bluez, alsa, python).


    В прошлом году я купил себе bluetooth стерео-наушники (+гарнитура) Plantronics 590A. Отличные наушники — хорошее качество звука и полная свобода от проводов. После перехода с Windows XP на Ubuntu возник вопрос использования наушников, как в качестве обычных наушников для вывода звука, так и полноценной гарнитуры для общения в играх и в Skype.

    Хотя стандартный bluetooth-менеджер Ubuntu, вроде как, подразумевает использование Audio Service для соответствующих bt-устройств, но я не смог быстро найти внятную инструкцию, как же организовать вывод звука на наушники.



    Вскоре мне на глаза попалась замечательная программа BlueMan bluetooth manager (screenshots). Эта программа достойна отдельной статьи, так как у неё очень много возможностей и она очень облегчает жизнь любому, кому потребуется работа с различными  устройствами через протокол bluetooth. Программа работает "поверх" стандартного Ubuntu-овского bt-стека bluez и практически не тянет за собой зависимостей (программа написана на python`e).
    Перечислять все возможности программы я не стану, ограничусь только тем, что программа поддерживает bt-устройства с профилем A2DP



    Всё что необходимо сделать в BlueMan — "спарить" ваши bt-наушники с программой. После "спаринга" я дополнительно активировал в параметрах программы использование службы звука.



    В настройках службы звука я активировал использовал служб Headset, Sink, Control для своих наушников. Для обычного вывода звука вполне достаточно службы Headset. Остальные службы присутствуют, я так думаю, для поддержки работы bt-профиля AVRCP. Я не проверял работу профиля ни в одной программе в Ubuntu, так что о его работоспособности сказать ничего не могу.

    Последним шагом необходимо подправить файлик ~/.asoundrc. Я не большой коппенгаген в конфигурационном файле ALSA, все правки были подсмотрены из статей:
    1. http://alfa2linux.blogspot.com/2008/03/my-jabra-finally-working-with-bluez.html
    2. http://wiki.bluez.org/wiki/HOWTO/AudioDevices
    Я не ставил никаких дополнительных пакетов, которые были упомянуты в статьях — bluetooth-alsa, btsco и др.

    В файл .asoundrc я добавил такие строки:

    pcm.bluetooth {
       type bluetooth
    }

    После редактирования файла у вас появляется возможность указывать в необходимых программах новое звуковое устройство — bluetooth. В статье №2, из приведённого мною списка, указано, как настроить многие популярные программы для работы с bt-наушниками.У меня сейчас успешно работают c bt-наушниками SMPlayer и Pidgin. Так же мне успешно удалось использовать свои наушники в качестве гарнитуры для общения через Skype. В аудио-настройках Skype появляется новое аудио-устройство — bluetooth. Настроив Skype на работу с новым устройством я с успехом смог разговаривать через bt-гарнитуру.



    Единственный досадный момент — почему-то, после первого разговора по Skype или при прослушивании музыки из Pidgin, второй раз Skype не позволяет начать разговор, ссылаясь на "проблемы с захватом звука". Решение нашлось половинчатое — выключение-включение наушников (повторное спаривание) снова позволяет пользоваться Skype. Эта проблема замечена только со Skype, возможно в будущем она будет исправлена. Я не уверен, что проблема в самом Skype, скорее всего собака зарыта в недрах bluez и связана с работой микрофона гарнитуры, т.к. вывод звука работает нормально всегда.
    Резюме: хотя первоначальная настройка наушников может показаться долгой, но пройдя её вы получаете полноценную возможность работы с bt-наушниками. Единственная проблема, которая осталась неразрешенной — как заставить ALSA использовать bluetooth-наушники в качестве основного источника для вывода звука в системе, когда наушники спарены с компьютером. В данный момент приходиться держать по два ярлыка к одним и тем же программам, каждый из ярлыков перенастраивает вывод/ввод звука на необходимое устройство. Более красивого решения пока-что мной не найдено.


    P.S. Этой мой первый пост на хабре, чур не пинать, если что-то упустил :)
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 10

      –6
      попробую по теме ;) — есть что получше sony.ru/product/hed-stereo-bluetooth/dr-bt50?
        –6
        А есть ли что-нибудь лучше Виндовс/Линукс/МакОС/другого? Всё зависит от того, что нужно.
        Судя по отзывам, у BT50 хорошее качество звука, большой вес, большое время жизни, но отстойный микрофон.
        Судя по моему опыту, у BT22 хорошее качество звука, малый вес, 10 часов жизни, и хороший микрофон :)
          –6
          bt21g вроде получше 22ых будут и тяжелее раза в два, motorola s805 лучше не смотреть, nokia bh604 тоже, про bh804 инфы пока нет… да просто надо лучше и продолжительнее bt50, пусть 250г даже весят, главное чтобы кабеля не было
            –6
            микрофон пофиг, уши бы нормальные ;)
          +1
          Единственный досадный момент — почему-то, после первого разговора по Skype или при прослушивании музыки из Pidgin, второй раз Skype не позволяет начать разговор, ссылаясь на «проблемы с захватом звука».

          Там у них прописан автодетект режима (в A2DP не работает микрофон), но работает он через раз. Так что лучше пописать раздельные девайсы:

          pcm.a2dp {
          type bluetooth
          device xx: xx: xx: xx: xx: xx
          profile «hifi»
          }

          ctl.a2dp {
          type bluetooth
          device xx: xx: xx: xx: xx: xx
          profile «hifi»
          }

          pcm.headset {
          type bluetooth
          device xx: xx: xx: xx: xx: xx
          profile «voice»
          }

          ctl.headset {
          type bluetooth
          device xx: xx: xx: xx: xx: xx
          profile «voice»
          }

          xx: xx: xx: xx: xx: xx — это MAC адрес BT-гарнитуры. Если настроить таким образом то будет два устройства:
          a2dp — для музыки и headset — для разговоров. Соответсвенно в скайпе указываем headset, а во всех остальных слушательных программах a2dp и все будет нормально. Кстати для того чтобы заработал звук достаточно спарить BT девайсы без подъема звука. bluez умеет автоматом детектить что там у вас за железка.
            0
            спасибо! вечером попробую!
            0
            А ведь такой вопрос недавно мелькал на хабре, и его автор обещала опубликовать статью когда все получится. Но вы — не автор :-)
              0
              я этот вопрос не видел и о планах автора осведомлен не был :)
              Написал свой опыт, так как накануне написания заметки мой совет помог одному из хабраюзеров — Sigura.
              Я подумал, что этот совет ещё кому-нибудь поможет :)
                0
                ещё как :)
              0
              Любопытно… Давно хочу купить стерегарнитуру к ноуту… Спасибо за инструкцию!

              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

              Самое читаемое