Онлайн радио для Android: пошаговое руководство
Авторизуйтесь
Онлайн радио для Android: пошаговое руководство
Рассказывает Николай Коломийцев, технический директор и Android-разработчик LevelTop.org
Привет, типичные! В этом руководстве расскажу вам о том, как создать свое приложение в Android.
Начну сразу с сути, поэтому определимся с функционалом:
- Проигрывание потокового аудио с помощью ExoPlayer.
- Парсинг HTML страницы.
- Интеграция API Last.fm.
- Подключение сервиса для управления проигрыванием из «шторки».
- Работа с кастомными библиотеками.
С требованиями разобрались, теперь самое сложное интересное — реализация.
Весь код вы можете найти на GitHub, здесь же я уделю внимание только основным моментам.
Sportmaster Lab , Санкт-Петербург, Москва, Новосибирск, можно удалённо , От 100 000 до 400 000 ₽
Думаю, что SDK у вас установлено и новые проекты вы создавать умеете, поэтому создадим пустой (blank) проект и добавим библиотеки в build.gradle:
Теперь коротко пройдемся по классам:
- Player — класс для инициализации и управления нашим ExoPlayer.
- NotificationService — класс для проигрывания аудио в фоне и отображения уведомления в шторке.
- Const — класс для описания ссылок на аудио и прочего.
- CircularSeekBar — класс, который я позаимствовал на GitHub, добавляет нам изогнутый SeekBar.
- GetTrackInfo — здесь мы обращаемся к Last.fm, а также парсим HTML страницу.
- MainActivity — главный класс приложения, выполняющий функции отрисовки экрана и инициализации методов.
Также добавим пару layout-файлов для шторки и главного экрана, drawables можно найти здесь:
И добавим нашему Manifest несколько разрешений и служб:
Теперь давайте получим ключ Last.fm API, он нужен нам для того, чтобы по имени исполнителя найти его фотографию и показать ее на главном экране. Для этого нужно перейти на страницу создания аккаунта и войти или зарегистрироваться, после чего вам потребуется создать приложение. Эта операция займет 30 секунд, и мы наконец доберемся до API KEY, его вам нужно ввести в поле LAST_FM_KEY класса Const.java:
Далее предлагаю перейти к способу получения ссылки на прямую трансляцию, ее я беру отсюда. Для этого нам нужно запустить радио и, нажав правой кнопкой мыши в Chrome, выбрать пункт «посмотреть код», после чего выбрать вкладку Network и найти ссылку с самым длинным timeline. Это и будет наш стрим, он уже добавлен в класс Const — аналогичным способом я получил ссылку на HTML-страницу с именем исполнителя и названием трека. В этом коде много костылей, так как парсить HTML — это само по себе странное занятие, но все же я постараюсь его объяснить:
Здесь вы можете видеть получаемый мною нужный фрагмент HTML-страницы:
А это его парсинг, надеюсь, что комментарии будут информативны:
Этот пример кода, вполне возможно, не является лучшей практикой, но все приложение было написано ночью за несколько часов. Парсинг HTML — занятие сложное, и если есть возможность его не использовать, то нужно этой возможностью пользоваться. Надеюсь, мой опыт обработки HTML-страницы кому-то окажется полезным.
Далее парсинг JSON и получение фото пользователя.
Вот пример отправляемого Last.fm JSON-ответа для певицы Adele:
Все, что нас с вами здесь интересует — это изображение размера «mega», парсить мы его будем таким образом:
Теперь немного об ExoPlayer, и почему я не использовал стандартный MediaPlayer. MediaPlayer абсолютно не оптимизирован для таких нагрузок и частенько останавливал трансляцию. Также на старых (старше пятой) версиях Android перемотка, которую я собирался добавить позже, работает так, как будто плеер подгружает всю аудио дорожку между текущим положением и выбранным пользователем. После недолгих поисков выбор пал на ExoPlayer, сейчас коротко опишу его возможности, код ниже можно использовать как отдельный элемент в своем проекте:
Финальный этап урока — это уведомление в шторке, сервис и то, каким образом это работает.
Из главного Activity при начале проигрывания аудио мы запускаем сервис, и он берет всю работу на себя, освобождая работу в Activity. Выглядит это так:
Сервис управляется с помощью Intent. Когда пользователь нажимает на кнопку «play / pause» в шторке, сервис отправляет Intent сам себе и обрабатывает его, так мы отправляем Intent при нажатии:
Поздравляю! Мы разработали клиент-серверное приложение с использованием дополнительных библиотек, воспроизведением аудио, а также работой с сервисами. В конечном итоге получится нечто подобное тому, что вы видите на скриншотах:
Источник
Своя радиостанция для андроид
Краткое описание:
Радио плеер с расширенными настройками записи и воспроизведения
Описание:
VRadio — это первоклассное радио-приложение, которое позволяет вам слушать тысячи радиостанций онлайн.
Найдите свои любимые радиостанции и откройте для себя множество других со всего мира.
● Широкий выбор радиостанций разных музыкальных жанров и категорий.
● Информация о композиции, когда её поддерживает радиостанция, с возможностью найти её на YouTube.
● Возможность экспортировать и импортировать списки радиостанций.
● Запись любимых ток-шоу и музыки.
● Удаленное воспроизведение на устройствах Chromecast, UPnP/DLNA и VRadio для Windows.
● Поддержка Android Auto для прослушивания радио во время вождения.
● Будильники, в качестве сигнала которых можно назначать ваши любимые станции.
● Расписания — для планирования записи или воспроизведения в нужные дни и время.
● Таймер сна — для отключения воспроизведения через указанный промежуток времени.
● Виджет на главном экране для быстрого доступа.
● Измерение использования WiFi и мобильных данных.
● Возможность добавлять собственные станции.
● Переключение станций двойным и тройным нажатием кнопки воспроизведения на наушниках.
Требуется Android: 4.0 и выше
Русский интерфейс: Нет
)
Версия: 1.8.7 unlocked by derrin (Katafrakt)
Версия: 1.8.6 unlocked by derrin (Katafrakt)
Версия: 1.8.5 Unlocked (Katafrakt)
Версия: 1.8.4 Unlocked (Katafrakt)
Версия: 1.8.3 Unlocked (Katafrakt)
Версия: 1.8.2 Unlocked (Katafrakt)
Версия: 1.8.1 GP (Rekembus)
Версия: 1.8.1 Unlocked (Katafrakt)
Версия: 1.8.0 Unlocked (Katafrakt)
версия: 1.7.7 GP VRadio_1.7.7.apk ( 6.13 МБ )
Сообщение отредактировал iMiKED — 03.12.21, 11:41
Перевод (RU) версии 2.1.0 (Pro by derrin)
VRadio_2.0.4_RU.apk ( 9.12 МБ )
реклама удалена KitKat
Переводы на основе мода от derrin
armeabi-v7a, arm64-v8a, x86, x86_64:VRadio_Online_Radio_Player_and_Recorder_Pro_v2.0.7_RU.apk ( 14.97 МБ )
arm64-v8a: VRadio_Online_Radio_Player_and_Recorder_Pro_v2.0.7_arm64-v8a_RU.apk ( 10.14 МБ )
armeabi-v7a, arm64-v8a, x86, x86_64:VRadio_1.9.1_Pro_RU.apk ( 13.99 МБ )
armeabi-v7a: VRadio_1.9.1_Pro_arm7_RU.apk ( 9.21 МБ )
arm64-v8a: VRadio_1.9.1_Pro_arm8_RU.apk ( 9.3 МБ )
armeabi-v7a, arm64-v8a, x86, x86_64:VRadio_Online_Radio_Player_and_Recorder_Pro_v1.9.0_RU.apk ( 13.95 МБ )
armeabi-v7a: VRadio_Online_Radio_Player_and_Recorder_Pro_v1.9.0_armeabi-v7a_RU.apk ( 9.19 МБ )
arm64-v8a: VRadio_Online_Radio_Player_and_Recorder_Pro_v1.9.0_arm64-v8a_RU.apk ( 9.28 МБ )
armeabi-v7a, arm64-v8a, x86, x86_64: VRadio Online Radio Player and Recorder Pro v1.8.8 RU.apk ( 11.84 МБ )
armeabi-v7a: VRadio_Online_Radio_Player_and_Recorder_Pro_v1.8.8_armeabi-v7a_RU.apk ( 7.07 МБ )
arm64-v8a:VRadio Online Radio Player and Recorder Pro v1.8.8 arm64-v8a RU.apk ( 7.16 МБ )
armeabi-v7a, arm64-v8a, x86, x86_64:VRadio_Pro_v1.8.7_armeabi-v7a_arm64-v8a_x86_x86_64_RU.apk ( 11.78 МБ )
armeabi-v7a: VRadio_Pro_v1.8.7_armeabi-v7a_RU.apk ( 7.01 МБ )
arm64-v8a:VRadio_Pro_v1.8.7_arm64-v8a_RU.apk ( 7.1 МБ )
armeabi-v7a: VRadio_Online_Radio_Player_and_Recorder_Pro_v1.8.6_armeabi-v7a_RU.apk ( 6.94 МБ )
arm64-v8a:VRadio_Online_Radio_Player_and_Recorder_Pro_v1.8.6_arm64-v8a_RU.apk ( 7.03 МБ )
Сообщение отредактировал Otvet42 — 17.10.21, 22:17
Тип: Новая версия
Версия: 1.8.1
Краткое описание: GP
Что нового:
— The start playback and start recording schedules now provide a stop option for easier management
— Lots of accessibility improvements and a much easier navigation for Android TV boxes
— Streams on valid PLS and M3U playlists can now be imported as stations
— Added an Adaptive theme for Android 10 or later
VRadio 1.8.2 RU Lite mod
на основе Unlocked от Katafrakt
— язык RU (полный перевод)
— подчищен мусор
— удален billing сервис
— удалены дубликаты графики
— zipalignVRadio_1.8.2_RU-Lite-mod.apk ( 5.23 МБ )
Сообщение отредактировал skvsar — 06.12.19, 13:29
Источник
ТОП-7 программ для радио на телефоне Android: бесплатные приложения
Многие люди, особенно автомобилисты, не могут представить себе жизнь без радио — это и свежая музыка каждый день, которую не нужно подбирать под свой вкус, и новости, и различные шоу, и интервью, и много чего другого. Правда, слушать радио через смартфон намного практичнее, чем на аналоговом собрате — можно выбирать любые радиостанции, а не только те, что «ловят», включая даже зарубежные, плюс множество категорий, удобное меню, настройки и даже возможность записывать звук в память смартфона. Так что если вы хотите скачать радио на телефон, эта статья как раз для вас. Давайте разбираться в лучших приложениях для прослушивания радио на Android-смартфоне — их на самом деле не очень много.
Сравнительная таблица всех программ из подборки
AccuRadio
К сожалению, приложение на английском языке, но элементарных знаний языка будет достаточно для его пользования. Функций тут не много, но они достаточно интересны — можно блокировать нелюбимые треки и исполнителей; можно ставить оценки играющим композициям, что влияет на рекомендации. Потерять понравившуюся станцию тоже не просто — кроме самостоятельного добавлений станций в «Избранное» доступна вкладка с историей прослушивания.
- блокировка непонравившихся исполнителей и треков;
- рекомендует станции, основываясь на настройках пользователя;
- большой выбор жанров и станций;
- таймер сна присутствует.
- приложение только на английском;
- рекламные баннеры.
Radio Garden
У программы английский интерфейс, но он также интуитивно понятный, так что это не мешает. Приложение необычно способом выбора станций — через земной шар. Его можно крутить, а зеленые точки на поверхности — это города, к станциям которых можно подключиться. Минусом такой особенности будет небольшая дезориентация, так как без границ областей трудно ориентироваться на карте и найти нужный город. Но это не такая уж и большая проблема, так как обычный поисковик тоже тут есть. Функций у приложения почти нет — только добавление в избранное и использование GPS для нахождения ближайшей станции.
- большое количество городов и станций;
- постоянно обновляющийся список рекомендаций;
- предлагает популярное прослушиваемой страны, области и города;
- удобный поиск.
- все на английском языке;
- очень маленький функционал.
XiiaLive
XiiaLive предлагает около 50 000 радиостанций со всего мира. Среди возможностей — песни и станции можно сохранить отдельно друг от друга, то же самое происходит с подкастами и музыкой во вкладке истории, так что вы не потеряете понравившийся трек. Если белая тема режет глаза, то ее можно поменять в настройках, там же можно подключить Facebook и Twitter. Приложение имеет бесплатную и платную версии, так что некоторые функции, например фильтр и сортировка любимых станций, ограничены в бесплатной версии, а запись звука доступна только в платной, которая стоит 139 рублей.
- есть эквалайзер;
- наличие таймера сна и будильника;
- можно менять оформление;
- удобный и простой интерфейс.
- часто не загружаются обложки треков;
- рекламные баннеры и ограниченные функции в бесплатной версии.
Audials Play
Удобное и простое приложение, с неполным переводом на русский язык. На главной страничке — рекомендации и понравившееся, во вкладке «Радио» станции разделены по жанрам и странам, и отдельно предлагаются станций из вашей страны и области. Еще в этой вкладке предлагают послушать хиты и лучших исполнителей. Кроме этого, в приложении есть вкладка с подкастами, можно слушать свой собственный плейлист, записать звук и включить автомобильный режим. Интересной фишкой в Audials Play является список желаний, с помощью которого программа автоматически запишет внесенный трек, как только он начнет играть на прослушиваемом канале.
- есть эквалайзер;
- около 100 000 станций;
- музыка разделена на категории и подкатегории;
- можно включить автомобильный режим;
- приятный и удобный интерфейс.
- задержка во время переключения между вкладками;
- неполный перевод на русский язык;
- может долго грузить списки.
TuneIn Radio
Приложение распространяется на бесплатной основе, но имеет платную подписку, которую и предлагает купить за 430 рублей на месяц во время первого запуска. Купив ее, все заблокированные в бесплатной версии каналы станут доступны и полностью исчезнет реклама. На главной странице находятся популярные станции и подкасты вашего региона, другие местные радио и недавно прослушанные каналы. В приложении большой выбор спортивных каналов, а для изучающих иностранный язык идеально подойдет поиск по региону или языку. Также обязательно нужно выделить автомобильный режим с голосовым поиском.
- голосовой поиск;
- удобное разделение категорий и жанров;
- есть спортивное радио;
- наличие таймера сна и будильника.
- без подписки нельзя слушать часть станций и выскакивают рекламные баннеры.
PCRadio
Создатели PCRadio решили поместить все жанры музыки в одной прокручиваемой строке, что не очень-то и удобно. Наверное, поэтому здесь есть боковое меню, в котором также находится список всех категорий. Такой маленький минус приложение перекрывает большим выбором радиостанций, а если музыку и новости надоело слушать, то можно включить одну из аудиокниг. Других фишек тут немного — только эквалайзер и таймер сна. У приложения также есть подписка за 99 рублей, которая отключит рекламу и позволит выбирать качество аудиопотока.
- много станций и категорий;
- наличие аудиокниг;
- эквалайзер;
- простой интерфейс.
- без подписки присутствуют рекламные баннеры и нельзя улучшать качество звука.
Просто радио онлайн
Интерфейс в приложении не самый новый, зато станций тут хватит с головой. Функций немного, так как программа находится в стадии развития, но их достаточно для комфортного прослушивания каналов. Если вас заинтересовала одна из радиостанций, то внизу экрана находятся ссылки на сайт и приложения радио, если они есть. Как и все предыдущие программы, «Просто радио» может работать в фоновом режиме, но при включенном энергосбережении радио сразу же выключится.
- таймер сна;
- простой и понятный интерфейс;
- без рекламы;
- большой выбор станций.
- прослушивание радио в фоновом режиме невозможно в режиме энергосбережения.
Источник