Розробка мобільного додатку для аудіокниг

TRUETECH займається розробкою, підтримкою та обслуговуванням мобільних додатків iOS, Android, PWA. Маємо великий досвід та експертизу для публікації мобільних додатків до популярних маркетів Google Play, App Store, Amazon, AppGallery та інші.

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1735 послуг
Розробка мобільного додатку для аудіокниг
Середній
від 2 тижнів до 3 місяців
Часті запитання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    495

Розробка мобільного додатку для аудіокниг

Audiobooks-плеєр — одне з технічно щільних медіа-додатків на мобільному. Тут сходяться: точне управління відтворенням, агресивне кеширування великих файлів, DRM для захисту контенту, навігація по главах, таймер сну та синхронізація позиції між пристроями. Кожен пункт — це конкретна реалізація, а не просто «медіаплеєр».

Формат файлів та потокове відтворення

Аудіокниги найчастіше у форматах: MP3 (найширший), M4B (AAC в контейнері MP4 з chapter markers, стандарт Apple), M4A, OGG/Opus. M4B переважніший для нових каталогів — він нативно містить главы, обложку та метадані без sidecar.

Потокове відтворення (не скачувати повністю перед відтворенням): AVPlayer на iOS відкриває HTTP URL і починає грати без повної загрузки. ExoPlayer (Media3) на Android — аналогічно через DefaultDataSource.Factory. Для довгих файлів (15 годин = ~800 МБ) критично.

Главы з M4B: AVAsset.loadChapterMetadataGroups(bestMatchingPreferredLanguages:) повертає AVTimedMetadataGroup[] з часовими метками та назвами. На Android — MediaMetadataRetriever.extractMetadata + парсинг MP4 box structure для chapter atoms, або використовуємо ExoPlayer з кастомним MetadataRetriever.

Точне зберігання позиції

Користувач слухав книгу в машині, закрив додаток — при наступному відкритті повинен попасти ровно на те місце. З точністю до секунди.

Зберігаємо currentTime (Double, секунди) + bookId + timestamp збереження в UserDefaults/SharedPreferences при кожному фоновому переході, уході в background (applicationDidEnterBackground) та через Timer кожні 5 секунд під час відтворення. Timer кожні 5 секунд — не кожну секунду, це надлишково.

При відновленні: player.seek(to: CMTime(seconds: savedPosition, preferredTimescale: 1000)) з .seconds точністю. Не MSEC — для аудіо достатньо.

Синхронізація між пристроями: CloudKit CKRecord (iOS) або Firebase Firestore з userId/bookId ключем. При відкритті книги на новому пристрої пропонуємо «Продовжити з 1:23:45» — користувач вирішує.

Таймер сну

Популярна функція: відтворення зупиняється через N хвилин. Тривіально — DispatchQueue.main.asyncAfter (iOS) або Handler.postDelayed (Android). Нетривіальний варіант: «зупинити в кінці поточної главы» — отримуємо endTime поточної главы з метаданих та планюємо зупинку на це время.

Плавне затухання перед зупинкою: за 30 секунд до кінця зменшуємо player.volume лінійно до 0 через CADisplayLink / ValueAnimator. Не різка зупинка — це подразнює.

Швидкість відтворення та pitch correction

player.rate = 1.5 (AVPlayer) пришвидшує відтворення, але піднімає pitch — голос стає писклявим. iOS автоматично застосовує pitch correction для AVPlayer при rate ≠ 1.0 з iOS 16. На більш старих — AVAudioUnitTimePitch в AVAudioEngine pipeline.

Android ExoPlayer: playbackParameters = PlaybackParameters(speed = 1.5f) — pitch correction вбудований. Flutter just_audio: player.setSpeed(1.5) з pitchCorrectionMethod за замовчуванням.

Діапазон корисних швидкостей: 0.75x (для складного технічного контенту), 1.0x, 1.25x, 1.5x, 2.0x. Більше 2x — розбірливість падає критично.

Офлайн-скачування та DRM

Скачування для офлайну — URLSessionDownloadTask + URLSessionConfiguration.background (iOS): працює навіть коли додаток не запущений, прогрес зберігається при крашах. Android: WorkManager + DownloadManager або OkHttp з кастомним прогресом.

Для платного контенту потрібен DRM. FairPlay Streaming (iOS) — інтегрується з AVContentKeySession. Widevine L3 (Android) — ExoPlayer з DefaultDrmSessionManager. Ключ шифрування запитується у лицензійного сервера при кожному відтворенні. Без DRM користувач копіює файл з /Library/Application Support та слухає без підписки.

Альтернатива без full DRM: AES-256 шифрування файлу на диску з ключем, привязаним до аккаунту та DeviceID. Дешевше в реалізації, але менше захисту.

Каталог та пошук

Бібліотека користувача: куплені та скачані книги. Каталог магазину: пошук, жанри, новинки, рекомендації. Пагінація через cursor (Alchemy-style next token або offset/limit). Обложки — через SDWebImage/Coil/cached_network_image з агресивним disk cache (обложки змінюються рідко).

Функція MVP Повна версія
Відтворення MP3/M4B так так
Главы та навігація ні так
Офлайн-скачування ні так
Синхронізація позиції ні так
DRM ні так
Таймер сну так так

Строки: MVP-плеєр з каталогом та базовим відтворенням — 3-4 тижні. Повний продукт з DRM, офлайном, синхронізацією та підпискою — 8-12 тижнів.