Как использовать телефон Android Android в качестве удаленного аудиоприемника?

У меня есть неиспользуемый Android-телефон HTC Hero (работает под управлением ОС Android 2.1), я хотел бы подключить его к аудиоусилителю и оставить его подключенным в течение нескольких месяцев, поэтому я мог бы использовать этот телефон для Android в качестве удаленного сервера / приемника пульса.

В Android Market доступно приложение «Удаленное аудио», которое может захватывать поток из / dev / dsp. / dev / dsp по ошибке / по какой-либо причине в ubuntu 10.10 отключен , и даже после того, как я включил его в соответствии с этой нитью - после следующих этих инструкций ] это не помогло, поэтому, когда я нажимаю кнопку «Воспроизвести / Пауза» на моем андроиде, ничего не происходит, и mpg123 song.mp3 по-прежнему использует мои колонки для ноутбуков. последняя | head даже не показывает, что этот новый пользователь регистрируется (я полагаю, он должен появиться здесь?)

Поиск по «pulseaudio» я нашел Airbubble на рынке Android, но он говорит: не работает с RaopX на MacOS X и модулем raop для pulseaudio в Linux ». (c)

Итак, есть ли способ использовать Android-телефон как удаленный аудиоприемник, в идеале не ограничиваясь воспроизведением mp3 / музыки - но подсистема звука вообще?

Конечно Я не единственный человек, который хочет транслировать звук на Android-телефон через Wi-Fi, чтобы прослушать его на соответствующих динамиках?

21
задан 29 November 2011 в 08:37

7 ответов

Я думаю, вы переработали идею, пытаясь сделать свой телефон тем, чего он никогда не собирался делать (подключиться к PulseAudio или что-то еще более низкоуровневое).

Я бы посоветовал пойти с чем-то вроде Icecast (учебник здесь) и использовать одно из 30-тиных приложений для Android, которые могут передавать его.

13
ответ дан 25 May 2018 в 16:24
  • 1
    Спасибо, но на Android-рынке есть как минимум 2 приложения, которые должны решить именно мою проблему: «удаленный звук» и "AirBubble" (совместимый с Apple AirportExpress). – user35834 29 November 2011 в 08:39
  • 2
    @ user35834: после настройки сервера Icecast на стороне Ubuntu вы будете независимы на стороне приемника. Все (!), Которые могут настраиваться на «Интернет-радио», также сможет получать ваш собственный поток. Есть много дополнительных преимуществ от Icecast против RAOP. – Takkat 29 November 2011 в 13:27

Два дня назад я наткнулся на этот вопрос и не мог понять. В конце концов, я прочитал в руководстве AirBubble, что RAOP не поддерживается.

Я, наконец, решил использовать его с возможностями DLNA / UPnP pulseaudio. Он работает так же, как и следовало ожидать. Вы воспроизводите звук с любым приложением с импульсным выходом на вашем ящике и выбираете потоковый вывод, когда хотите переадресовать его на Android-устройство.

Сначала установите Rygel:

$ sudo apt-get install rygel rygel-preferences rygel-gst-launch

Затем измените файл /etc/rygel.conf, так что строка с параметром enable-transcoding выглядит так:

enable-transcoding=false

Затем загрузите DLNA и TCP-модули и запустите rygel:

$ pactl load-module module-http-protocol-tcp
$ pactl load-module module-rygel-media-server 
$ pactl load-module module-null-sink sink_name=upnp format=s16be channels=2 rate=44100 sink_properties="device.description='DLNA/UPnP Streaming' device.bus='network' device.icon_name='network-server'"
$ rygel

На устройстве Android загрузите приложение BubbleUPnP. Ваши устройства вывода pulseaudio будут перечислены под сервером «Sound on% HOSTNAME%». Настройте вывод на вашем компьютере на устройство DLNA с настройками звука. Выберите тот же вывод в BubbleUPnP.

Помните, что BubbleUPnP передает первые 30 минут бесплатно. Полная версия - 3,49 €, но я думаю, это стоит того.

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

$ rygel-preferences

Еще один хедз-ап: это напрямую передает необработанные данные LPCM, которые постоянно ~ 250 кБ / с. Любая ложная активность WLAN вызовет заикание, если вы используете что-либо, кроме сети 802.11 n.

FOLLOW UP: TRANSCODING

Чтобы снизить накладные расходы и заикание сети (что произойдет, если вы не используете «беспроводной маршрутизатор», re в сети 802.11 n), можно перейти к транскодированию аудиопотока в mp3.

Вставить это в ~ / .config / rygel.conf

[GstLaunch]
enabled=true
launch-items=mypulseaudiosink
mypulseaudiosink-title=Sound on @HOSTNAME@
mypulseaudiosink-mime=audio/mpeg
mypulseaudiosink-launch=pulsesrc device=upnp.monitor ! lamemp3enc target=quality quality=6

Использовать DNA]

FOLLOW UP: TRANSCODING

LAME может вызвать до 2 минут (! ) задержки. FLAC с другой стороны довольно быстро, обычно с частотой менее одной секунды. Измените строки в приведенном выше примере на:

mypulseaudiosink-mime=audio/flac
mypulseaudiosink-launch=pulsesrc device=upnp.monitor ! flacenc quality=8

Это уменьшает поток до 100 кБ / с, обеспечивая плавное воспроизведение в большинстве сетей 802.11g с несколькими пользователями. Я тестировал его при загрузке торрента. На полной скорости было какое-то заикание, но когда я ограничил скорость загрузки примерно до 200 кБ / с ниже моей максимальной полосы пропускания, она снова стала гладкой.

Кроме того, вы устранили любую потерю качества.

Пара вопросов выше - проверьте и отредактируйте ~/.config/rygel.conf вместо этого, /etc/.config/rygel.conf если он не загружен по умолчанию (?).

Создание раковины не будет работать в более поздних версиях Ubuntu.

Что работало для меня, однако, это следовать всем инструкциям (без создания раковины). Затем запустите paprefs, а на вкладке «Сетевой сервер» выберите нижнюю опцию «Сделать локальные звуковые устройства доступными как сервер uPnP» (и, возможно, также требуется подчинение).

Запустите rygel и выберите новую опцию «DLNA / UPnP Streaming» в настройках PulseAudio.

В BubbleUPnP выберите «Gst Launch» в качестве библиотеки. В приложении выберите «Библиотека», и теперь должна быть опция вверху, называемая «Звук включен».

19
ответ дан 25 May 2018 в 16:24
  • 1
    К плакату, касающемуся использования rygel: подход кажется звуковым, но module-null-sink не принимает эти аргументы в версии 11.10. Вы должны иметь в виду другой модуль, но я пока не могу его найти. Хорошая идея, пожалуйста, помогите, исправив. – user 17 February 2012 в 03:29
  • 2
    К плакату, касающемуся использования rygel: подход кажется звуковым, но module-null-sink не принимает эти аргументы в версии 11.10. Вы должны иметь в виду другой модуль, но я пока не могу его найти. Хорошая идея, пожалуйста, помогите, исправив. – user 17 February 2012 в 03:29
  • 3
    К плакату, касающемуся использования rygel: подход кажется звуковым, но module-null-sink не принимает эти аргументы в версии 11.10. Вы должны иметь в виду другой модуль, но я пока не могу его найти. Хорошая идея, пожалуйста, помогите, исправив. – user 17 February 2012 в 03:29
  • 4
    К плакату, касающемуся использования rygel: подход кажется звуковым, но module-null-sink не принимает эти аргументы в версии 11.10. Вы должны иметь в виду другой модуль, но я пока не могу его найти. Хорошая идея, пожалуйста, помогите, исправив. – user 17 February 2012 в 03:29
  • 5
    После запуска pactl load-module module-null-sink sink_name=upnp...... я получаю эту ошибку: Failure: Module initalization failed. Есть идеи? – Khurshid Alam 27 January 2013 в 19:54
  • 6
    @KhurshidAlam: попробуйте мой подход, он не имеет редактирования текста и полагается только на установленное рабочее Wine. – Janus Troelsen 4 May 2013 в 01:01
  • 7
    @JanusTroelsen: Несмотря на то, что ваш подход действительно работает, я хотел бы подчеркнуть, что сначала следует попробовать другие методы. Вино - отличный проект, но его следует использовать только в качестве последнего средства. Это ненадежно. – Toasty 11 December 2013 в 11:34

Shairplay не поддерживает TCP и raop_play (я думаю, что pulseaudio-module-raop основан на этом) не поддерживает UDP. Почему raop - это TCP, только странно, UDP кажется более легким и более подходящим для него протоколом.

И если вы источник flac, то icecast через MP3 собирается убить качество, плюс это больше ботов процессора. MPD изначально поддерживает импульсный выход, поэтому вы можете «включать и выключать» разные комнаты дома, например, Android-телефон с приложением mpdroid. Если вы можете использовать док-станции для трансляции в качестве конечных точек, у вас будет фантастическая настройка. Но вы не можете, потому что raop не поддерживает более простые конечные точки UDP!

1
ответ дан 25 May 2018 в 16:24

Возможно, вы захотите посмотреть вне сообщества Pulseaudio.

Я пытаюсь сделать Subsonic для этого. До сих пор он работал хорошо. Я установил его на своей системе Ubuntu, моей гостиной Roku, на моих основных телефонах Android и на моем дополнительном телефоне Android, который только с Wi-Fi. Все эти устройства подключаются через Wi-Fi. Я также планирую установить его на машину Windows, чтобы моя жена могла передавать свою коллекцию iTunes на другие устройства.

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

Пока это получилось хорошо.

1
ответ дан 25 May 2018 в 16:24

Вы можете использовать Foobar2000 на сервере и BubbleUPnP (payware) на клиенте.

get Wine get foobar_v1.2.5.exe $ wine foobar2000_v1.2.5.exe next, next, next ... :) get foo_upnp extract в Папка компонентов foobar2000 (которая, вероятно, находится в ~/.wine/drive_c/Program Files/) запускает foobar2000, перейдите в библиотеку → Конфигурировать → Воспроизведение → Выход → Устройство и выберите «Нулевой вывод», убедитесь, что ufw не блокирует соответствующий трафик в BubbleUPnP: перейдите к «Устройствам» → Библиотеки и выберите сервер foobar2000 в «Библиотеке», выберите «Воспроизведение потока воспроизведения»

. Этот подход имеет то преимущество, что если вы приостановите работу на Android, он будет накапливать буфер (поскольку сервер по-прежнему отправляет) .

Проверено на Ubuntu (версия для вина 1.5.28-0ubuntu1~ppa1, версия foobar2000 версии 1.2.5 и версия foo_upnp 0.99.46) и Windows.

0
ответ дан 25 May 2018 в 16:24

Вы можете использовать Foobar2000 на сервере и BubbleUPnP (payware) на клиенте.

  1. get Wine
  2. get foobar_v1.2.5.exe
  3. $ wine foobar2000_v1.2.5.exe
  4. next, next, next ...:)
  5. get foo_upnp
  6. в папке компонентов foobar2000 (которая, вероятно, находится в ~/.wine/drive_c/Program Files/)
  7. запуск foobar2000
  8. перейти в библиотеку → Конфигурация → Воспроизведение → Выход → Устройство и выберите «Null output»
  9. , убедитесь, что ufw не блокирует соответствующий трафик
  10. в BubbleUPnP: перейдите в «Устройства → Библиотеки» и выберите сервер foobar2000 в «Library», Воспроизведение Stream Capture

Этот подход имеет то преимущество, что если вы приостановите работу на Android, он будет накапливать буфер (поскольку сервер все еще отправляет).

Протестировано на Ubuntu (версия для вина 1.5.28-0ubuntu1~ppa1, версия foobar2000 версии 1.2.5 и версия foo_upnp 0.99.46) и Windows.

0
ответ дан 25 July 2018 в 20:36

Вы можете использовать Foobar2000 на сервере и BubbleUPnP (payware) на клиенте.

  1. get Wine
  2. get foobar_v1.2.5.exe
  3. $ wine foobar2000_v1.2.5.exe
  4. next, next, next ...:)
  5. get foo_upnp
  6. в папке компонентов foobar2000 (которая, вероятно, находится в ~/.wine/drive_c/Program Files/)
  7. запуск foobar2000
  8. перейти в библиотеку → Конфигурация → Воспроизведение → Выход → Устройство и выберите «Null output»
  9. , убедитесь, что ufw не блокирует соответствующий трафик
  10. в BubbleUPnP: перейдите в «Устройства → Библиотеки» и выберите сервер foobar2000 в «Library», Воспроизведение Stream Capture

Этот подход имеет то преимущество, что если вы приостановите работу на Android, он будет накапливать буфер (поскольку сервер все еще отправляет).

Протестировано на Ubuntu (версия для вина 1.5.28-0ubuntu1~ppa1, версия foobar2000 версии 1.2.5 и версия foo_upnp 0.99.46) и Windows.

0
ответ дан 31 July 2018 в 10:35

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

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