![]() |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
как получить ссылку на радиостанцию, чем ее потом играть и т.д. Там я знаю идет поток потом MP3 или AAC, но как прямую ссылку на поток получить, чтобы сервис вещания не обиделся потом? |
Ну я на сайте di.fm выбрал нужную станцию. Для нее указал нужный мне формат - mp3 и тип плеера winamp. В результате я получил плейлист в котором указаны ссылки на нужный мне канал (например http://pub1.di.fm:80/di_darkdnb). Выбрал любую ссылку и прописал ее в коде. Вот и все. А играю поток стандартным mediaplayer. Если честно, то я не совсем понял суть вашей проблемы.
|
Цитата:
|
Цитата:
и еще клево иметь метаинфу, что играет в данный момент. |
Цитата:
Метаданные добавлю тоже. Уже пытался их получить, но сразу не завелось. Поищу в инете еще решения, но пока забил на это. |
ifynk, вот какое-то решение, но не пробовал работу.
http://anton.logvinenko.name/ru/blog...yu-python.html Код:
#!/usr/bin/env python |
Цитата:
|
Долго искал чем же стримить DI.fm станции. И понял что лучше всех с этим справляется Xiialive pro. Интерфейс хорош, прост в использовании да и процесс добавления станций легок. Тупо вводишь URL и все. Он сам подтягивает название станции, жанр и самое главное во время воспроизведения выводятся автоматом данные о текущем исполнителе. И это без каких-либо шаманств.
|
Цитата:
|
Цитата:
Зы, может замутить отдельную ветку про прослушивание онлайн-радио под Андроидом: кто что чем слушает? Влом как-то лопатить интернет для этого. |
Цитата:
|
Цитата:
|
Цитата:
|
Может я немного не понял, а чего вы добивайтесь? чем управлять? В чем проблема выбрать список избранных станций, ввести в тот-же Xiialive pro. Из под него читается вся инфа о текущей станции. А если хочется управления через тот же рабочий стол с выводом той же инфы. То наверное можно данные с помощью catloga какого-нибудь слизать и реализовать с помощью таскера.
Вот это по подробней можно расшифровать. Цитата:
|
Цитата:
Кстати Xiialive тоже имеет свой API и должна быть возможность управлять им через интенты (это вдруг кому нужно будет). |
Цитата:
|
Добавил в радио функционал по получению мета данных. Оказалось все не сложно. В первый пост выложил ссылку на исходники оболочки, может кому поможет чем-то.
|
ifynk, по поводу регулировки громкости pioneer'ом, у Вас рулевой пульт универсальный (у меня такой же) в него можно прописать коды кнопок громкости от пульта pioneer и не заморачиваться с Wired remote, если конечно Ваша магнитола работает с ик пультом.
Если магнитола не работает с ик пультом, то её наверняка можно доработать, ссылка 1, ссылка 2. |
Цитата:
Картинки внутри папки src это нечто. Ну если Android studio так делает... Это не в упрек, просто диковато выглядит после эклипса. Как раз задумался о добавлении интернет-радио к себе в оболочку, это сильно ускорит процесс, хотя я уже и так все придумал. У меня радио будет универсальным, то бишь в кучу фм и сетевые станции, хочешь такие слушай, хочешь такие. По-моему, это удобно с точки зрения листания станций кнопками туда-сюда. Хоть в сети есть и локальные фм-станции, но в отсуствии тырнета можно будет послушать фм. А вот и МТС у нас подоспел со своими недорогими расценками на интернет для радио и клонированием симок... Сорри за оффтоп. Посмотрел немного код, позволю себе некоторые мелкие советы: 1. Избегайте, плз, "magic numbers", то есть аццких констант в коде типа 1784778242, такие вещи надо выносить. 2. Ну и удобно использовать шаблоны типа фабрика, чтобы не было кода, как здесь if (st == AM_SOURCE_AUDIOPLAYER) { mPowerAmp.stop(); } else { mStreamRadio.stop(); } То есть делаете 2 класса с одинаковым интерфейсом. А потом при инициализации обьекта просто выбираете нужный класс и дергаете методы унифицированно. Это будет офигенно просто потом добавить 3,4,5 источник или еще один плеер (ну мало ли), не надо будет переколбашивать кучу написанного кода и, что самое геморное, регрессно тестить ВЕСЬ предыдущий код. 3. Все строковые константы в Андроиде принято держать в strings.xml, тогда локализация приложения будет заключаться только в добавлении файла с новым языком. |
Спасибо за советы. Вы все правильно говорите, но это код на быструю руку и сейчас стоит цель сделать, чтоб работало.
1. Не совсем понял по замечанию, куда и что выносить? В константы? 2. Сам стараюсь так делать, но пока рановато все выносить в абстрактные классы, так как еще не весь функционал утвержден. Еще на старом проекте iShell под Windows на Delphi так организовывал Music/Video Player. 3. Тоже перенесу все со временем. Кстати структура папок таки проделки Android Studio. |
Цитата:
Цитата:
|
Цитата:
|
Цитата:
ИМХО просто через Teensy и Wired remote как то сложно получается, зачем городить что-то дополнительно если магнитола сама умеет обрабатывать ИК. |
Всем привет. Обращаюсь за помощью к знатокам. Расковырял свой 3G-WiFi модем. В батарее 4 контакта. На каждом разное напряжение. Причем плюсовой только 1, а 3 остальные минусовые. Подал питание на крайние контакты - модуль запустился, WIFI ловит, но к инету не подключается. Возможно сам 3G модуль питается отдельно от WiFi модуля. Эксперементировать дальше не стал, так как не хочется спалить модем. Как поступить в таком случае? Можно ли тупо замкнуть все минусовые контакты между собой?
|
Там термодатчик на каких-то контактах висит. Контроль температуры при зарядке
|
А как выявить на каком контакте висит датчик?
|
Победил я батарею для 3G модема. Здесь на форуме посоветовали раскурочить батарею и использовать родной контроллер. Просто подать питание вместо литиевого элемента не получилось, точнее получилось, но после того, как пропадает питание, контроллер повторно не запускался. Подал питание на крайние контакты, при этом контроллер оставил припаянным ко всем 4 контактам. Также закоротил кнопку включения. Теперь при подачи питания модем запускается и раздает инет по WiFi. То, что мне и было нужно.
|
Цитата:
Но, ИМХО, вариант подключения конечно же неправильный, но если ничего при этом не сдохло - почему бы и нет. |
Цитата:
|
Цитата:
|
Может кто сталкивался? При запуске своего приложения, если включено питание, я программно перевожу планшет в Carmode. При этом пропадают иконки с трея - иконка отладки, приложения, иконка carmode. Если же запускать приложение и не делать переход в carmode, то тогда все нормально работает. Ошибок никаких не выдает.
|
Вложений: 1
Всем привет. Немного переделал свою оболочку. Ушел от использования PowerAmp в пользу библиотеки basslib. На вкладке плеера теперь есть огромный слайдер, в который легко попадать для перемотки трека.
В планах: 1. Перевести Stream Radio на basslib. 2. Более грамотно реализовать базу треков. Сейчас просто берутся файлы из папки. 3. Добавить запоминание текущего трека и позиции. 4. Перевести AudioManager на интерфейсы ) |
Цитата:
А для MP3 не вижу смысла в каких супер мега плеерах. Другое дело, что МТС у нас работает отвратительно и пришлось сделать автоматический реконнект при потере потока более 30 секунд. Цитата:
Плейлисты? Цитата:
Цитата:
|
Радио у меня тоже работает отлично на стандартном mp. Тут для меня скорее смысл в том, чтоб все превести на одну платформу. Плюс практика.
Скорее не плейлисты, а определенной структуры список, который будет один раз формироваться по указанному каталогу, а потом все данные из него будут читаться. Я не храню много музыки постоянно на планшете и там просто одна папка с mp3'шками. Для запоминания трека не обязтаельно плейлист, я думаю. Это будет зависеть от реализации самой библиотеки. Интерфейсы. Ну это же то, что вы мне посоветовали сделать для плеера и радио в плане кода - фабрика классов ) |
Вложений: 5
Доделал таки управление громкостью магнитолы. Сделал самым простым способом - с помощью оптронов. На планшете установил максимальный уровень громкости. Правда пришлось пересобрать framework-res.apk из-за того, что постоянно выскакивало предупреждение о большом уровне громкости и если не нажмешь OK, то дальше громкость не поднималась.
Оболочку переделал немного. |
Часовой пояс GMT +4, время: 23:34. |
Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot