LINUX.ORG.RU

Подскажите как вывести звук с ubuntu на android

 , , ,


0

1

Есть телефон с андроидом. Есть убунта на ноуте. Подключаю блутуз и ставлю на телефоне галочку «звук с носителя». В результате звук с телефона идет на убунту вполне нормально. Но как сделать наоборот? Что бы можно было использовать телефон как беспроводные наушники для убунты?

Ответ на: комментарий от droserasprout

Попробую. Я пока обнаружил, что airplay пульсаудио видит, но судя по всему она может с ним работать только через tcp, а андроиду надо udp. Модуль pulseudio raop не доделан. сам телефон как «устройство вывода» виден, только не звучит из него нифига. Пробовал rtp, но пока не получилось и не хочется им пользоваться, так как возни много. a2dp от телефона к кому пашет, а как его настраивать я вообще не нашел, но выяснил, что если бы телефон обозначил себя как «звуковое устройство» то все бы работало и так, а он зараза себя как «для отправки файлов» обозначает.

В общем пока не сделал.

i3draven ★★
() автор топика
Ответ на: комментарий от i3draven

И dlna не пашет блин. Не видать на телефоне сервер.

i3draven ★★
() автор топика

Я тоже задавался этим вопросом полгода назад. pulseaudio и bluez значит, могут изкаробки насиловать комп как динамики через A2DP. А наоборот нет.

Погуглив, выяснилось, что поддержка в современных Андроидах (Lollipop и выше) есть, но отключена по умолчанию. И для того, чтобы её включить, нужно пересобирать ведроид. И никакие приложения не смогут заставить Bluedroid использоваться как A2DP sink.

Только патчинг, только хардкор.

nexfwall ★★★★
()
Ответ на: комментарий от nexfwall

Как выяснилось pulseaudio лезет при соединении по протоколу airport на 5000 порт. Строго на него, в модуле параметров задания порта нет, сервис, публикующий себя в mDNS с другим портом посылается далеко и берется порт 5000.

Выяснил я это написал собственный публикатор сервиса mDNS, облазив логи и написав сервер (простейший) для того что бы отловить эту заразу. Поначалу думал она вообще сетью не интересуется, но нет, адреса она берет из описания сервиса, а порты нет. Блин. Попробую заставить работать наверное.

i3draven ★★
() автор топика
Ответ на: комментарий от i3draven

После подключения выяснилось, что работает она по rtsp протоколу. Когда использует модель module-raop-sink

Если же воспользоваться стандартным способом (Avahi+paprefs+Airport), то я вообще не засек пока никаких телодвижений от пульсы в сети. В логах только ресамплинг видится, и адреса приемника (телефона), но связи с телефоном не происходит.

i3draven ★★
() автор топика
Ответ на: комментарий от nexfwall

Сделал я вывод по сети. Работает даже.

В общем:

1. в paprefs делаем rtp server с отдельным устройством для вывода. Это что бы руками его не делать. но можно и руками module-null-sink использовать. 2.

pactl list sources short
Что бы посмотреть номер созданного sink-а 3.
pactl load-module module-simple-protocol-tcp source=номерсинка record=true port=12345
(Можно в конфиг внести) 4. Ставим на телефон это: http://kaytat.com/blog/?page_id=301 К счастью писать полноценный airplay, заточенный под пульсу не понадобилось. 5. Запускаем его на телефоне, вбиваем адрес компа в локалке и порт, который 12345. Играет звук.

Это все сильно так себе устроено, но легко делается и пашет. Почему ничего другого не заработало, судя по всему там либо в одних местах недоделки, либо в других и везде в разных.

Кстати по дороге выяснилось, что если загрузить module-http-protocol-tcp зайти на свой ip в порт 4714 браузером, то увидишь все данные пульсы, торчащие в локалку, да еще и стримы там с твоей звуковухи торчат. Можно и их проигрвать, вообще ничего не настраивая, причем всем, кто в локалке сидит можно слушать, что там у тебя происходит.

i3draven ★★
() автор топика
Последнее исправление: i3draven (всего исправлений: 1)
Ответ на: комментарий от permafrost

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

i3draven ★★
() автор топика

Можно так же с помощью vlc.

Android
в vlс Открыть MRL:

rtp://@:46998

Linux

pactl load-module module-rtp-send source=<имя или id> destination=<android-ip> port=46998

surefire ★★★
()
Ответ на: комментарий от surefire

Можно. Вот бы еще знать точно какой он порт берет если paprefs использовать что бы руками не вбивать ничего. Но я таких параметров не нашел.

i3draven ★★
() автор топика
12 февраля 2018 г.
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.