воскресенье, 20 октября 2013 г.

Ещё один проигрыватель аудиокниг под Андроид

Так получилось что я люблю аудиокниги и с приобретением смартфона на Андроиде решил использовать его в качестве проигрывателя. Попробовав несколько различных платных и бесплатных приложений пришёл к решению что надо писать свой. Основная претензия к ним: глючно работает сохранение текущей позиции в книге. В Akimbo вообще периодически у текущей книги сбрасывается позиция на начало. У других просто проблемы с воспроизведением в каких-то местах. Например, стоит прервать воспроизведение и потом продолжить его, как может перескочить на неверную позицию. Самым лучшим пока считаю Audiobook 303, но он так же подвержен произвольным скачкам позиции воспроизведения.

Вторая претензия - это попытка захавать все mp3 с SD-карточки и рассортировать в своей базе "коллекции". А я хочу просто указать каталог на файловой системе и не нужно пытаться за меня организовать коллекцию.

И так решил написать свой плеер

Но на пол-пути выяснилось, что проблемы с позицией воспроизведения не в самих приложениях, а в стандартном классе MediaPlayer, который они все используют так же как я. В общем ищу решение (например, стороннюю библиотеку для воспроизведения вместо стандартной), а чтобы хоть какой-то результат от проделанной работы был решил выложить плеер в том виде в каком есть и как сам пользуюсь. Он очень примитивный и скорее всего кишит багами, поэтому распространяется по принципу жопа есть "as is".

Ссылка на Google Play: https://play.google.com/store/apps/details?id=ru.antlabs.yaap&hl=ru
Репозиторий с исходниками: https://bitbucket.org/antlabs_dev/yet-another-audiobook-player-for-android/overview

Открываем аудиокнигу указанием каталога с mp3, программа индексирует файлы, встраивает их по порядку и виртуально склеивает в 1 чтобы все файлы были под одним прогрессбаром. Каждые 5 секунд, а так же при паузах сохраняется позиция для текущей книги. Сами книги различаются по месту их расположения. Для каждой когда-либо воспроизводимой книги позиция сохраняется своя.

Комментариев нет:

Отправить комментарий