In der Ära der Digitalisierung ist ein Abend am Kamin unter einer handgefertigten Decke mit Ihrem Lieblingsbuch ein Traum. Dank moderner Technologien können wir jedoch mithilfe von Audiobook-Apps selbst inmitten unserer stressigen Termine in die Welt der Literatur eintauchen. Wir können unsere virtuellen Bücherregale direkt auf unseren Smartphones platzieren und unsere Lieblingssprechende Bücher unterwegs zur Arbeit, im Fitnessstudio oder beim Kochen hören.
Natürlich können Sie auch einfach eine Hörbuchdatei (z. B. eine MP3-Datei) herunterladen und sie auf Ihrem Handy oder Ihrem Audioplayer abspielen. Ein einfaches MP3-Player- oder Musikplayer-App kann jedoch keine Buchempfehlungen basierend auf Ihren Präferenzen liefern und keine Lesezeichen speichern. Aus diesem Grund bevorzugen die meisten Menschen, die regelmäßig Hörbücher hören, spezielle Hörbuch-Apps.
Einer der erfolgreichsten Spieler in der Audiobranche – Amazon’s Audible – hat mehr als 100 Millionen Downloads Im Google Play Store. Laut den Audible Blog, Mit dieser Dienstleistung erreicht das Unternehmen nun Millionen von Abonnenten weltweit.
Wir haben uns dazu entschlossen, die Funktionsweise von Audiobook-Apps wie Audible zu analysieren, um herauszufinden, welche Herausforderungen Entwickler bei der Entwicklung einer ähnlichen App vorfinden.
Warum sollten Sie eine App für Hörbücher entwickeln?
Inzwischen sind Hörbücher der am schnellsten wachsenden Sektion der Verlagswirtschaft. Viele Einzelhändler haben bereits erkannt, dass die Entwicklung von Hörbuch-Apps lohnst und Verleger sehen Hörbücher als hervorragende Möglichkeit zur Vermarktung ihrer Kataloge an.
Laut einer Studie von IBISWorld, Die US-Branche der Hörbuchveröffentlichung wird im Jahr 2020 einen Umsatz von $1,2 Milliarden erwirtschaften und zwischen 2015 und 2020 jährlich um rund 15,8 Prozent gewachsen sein. Die Marktfrequenz der Branche wird allein im Jahr 2020 um 5,8 Prozent steigen. Laut dem Pew Research Center hört ein Fünftel der Amerikaner regelmäßig Hörbücher.
Wie das Audible-Angebot von Amazon zum Wachstum des Audiobuch-Marktes beitrug
Der erste Grund dafür, dass die Audiobuchbranche so boomt, ist die Einführung von Audible von Amazon. Die Existenz einer solchen praktischen Anwendung zum Abspielen von Hörbüchern ist einer der Gründe dafür, dass der gesamte Branchendienst eine dramatische Zunahme des Kundeninteresses und folglich des Umsatzes verzeichnet hat.
Vor Audible bedeutete das Hören von Hörbüchern, CDs zu kaufen oder Dateien auf einen Computer herunterzuladen und diese dann auf einen MP3-Player oder ein Handy zu kopieren. Mit Audible können Nutzer Hörbücher direkt auf ihren mobilen Geräten herunterladen, die immer griffbereit sind.
Außerdem hat ein weiteres Amazon-Produkt in dieser Branche einen Boom ausgelöst – das Audiobuch-Erstellung-Exchange (ACX). ACX ist ein Marktplatz, auf dem Autoren, Erzähler, Verleger und Rechteinhaber Hörbücher erstellen und austauschen können. Wir werden ACX etwas später ausführlicher besprechen.
Es ist nicht verwunderlich, dass eine Branche, die so schnell wächst, Entwickler und Investoren anzieht, die ihr Stück vom Kuchen haben wollen.
Welches Geschäftsmodell könnte eine Audiobook-App verfolgen?
Es gibt zwei beliebte Geschäftsmodelle bei Online-Audiobuch-Diensten.
Abonnements basierend auf monatlichen Guthaben
Nach einer anfänglichen 30-tägigen kostenlosen Testphase können Audible-Nutzer einen Abonnementplan auswählen. In der Regel funktionieren Audible-Abonnements über Gutschriften. Ein Gutschein entspricht einem Hörbuch.
Der günstigste Audible-Abonnement kostet $7,95 pro Monat. Er bietet keine Gutschriften, ermöglicht aber den Benutzern, ausgewählte Hörbücher, Audible-Originale, Podcasts und andere Audioinhalte ohne Zeitbegrenzung anzuhören. Ein Plan für $14,95 pro Monat bietet dem Benutzer einen monatlichen Gutschein mit der Möglichkeit, die Anzahl der Gutschriften pro Monat auf zwei zu erhöhen und eine 30-prozentige Ermäßigung für zusätzliche Hörbücher zu erhalten. Benutzer können monatliche oder jährliche Pläne kaufen, um Zugriff auf Titel zu erhalten, die im Service angeboten werden.
Diese Preisstrategie hat sich nicht nur bei Audible, sondern auch bei anderen beliebten Audiobuch-Diensten wie Kobo Audiobooks, Audiobooks.com und Downpour bewährt. Alle diese Dienste nutzen ein ähnliches Abonnementmodell, bei dem die Nutzer monatlich eine Audiobuch-Auswahl bezahlen.
Unbegrenzter Zugriff-Abonnement
Aber nicht alle Audiobuch-Dienste nutzen ein Abonnementmodell auf Basis von monatlichen Guthaben. Zum Beispiel bietet Playster zwei monatliche Pläne mit unbegrenzter Audiobuch-Lesezeit an. Der Plan für $14,95 pro Monat ermöglicht es Nutzern, über 100.000 Audiobücher anzuhören. Der Zugang zu Premium-Audiobüchern kostet $29,95 pro Monat.
Hier liegt der Haken: Oft melden sich Nutzer für das günstigere Paket an und stellen dann fest, dass sie ein Upgrade benötigen, um alle gewünschten Hörbücher abzuspielen. Dies macht Audible für Nutzer kostengünstiger als Playster. Aber es gibt einen noch kostengünstigeren Service für Buchliebhaber.
Scribd bietet ein unbegrenztes Abonnement an, das Zugang zu so vielen Titeln wie gewünscht ermöglicht und kostet $9,99 pro Monat. Zunächst bot Scribd seinen Abonnenten unbegrenzten Zugriff auf seine Bibliothek, später folgte Scribd dem Beispiel von Audible und bot nur einen Hörbuch-Download pro Monat an.
Doch 2018 kehrte Scribd zu seinem unbegrenzten Plan zurück, um seine Hörbuchfans zufrieden zu stellen. Nur die Zeit wird zeigen, ob diese Abonnementlösung langfristig rentabel ist. Im Jahr 2019 teilte das Unternehmensmanagement jedoch mit, dass Scribd profitabel ist., Erzielung von $100 Millionen jährlichen wiederkehrenden Einnahmen.
Wie behandelt Audible Rechteinhaber?
Bei Hörbüchern, die über ACX erstellt und auf Audible verkauft werden, erhalten Rechteinhaber 25 Prozent des gesamten Umsatzes, sofern das Hörbuch nicht exklusiv bei Audible erhältlich ist; bei Titeln, die ausschließlich bei Audible erhältlich sind, erhalten Rechteinhaber einen Zuschlag von 40 Prozent.
Eine wichtige Funktion, die Audible zu einem attraktiven Angebot für unabhängige Verleger macht, ist die Möglichkeit, Hörbücher per E-Mail, SMS oder WhatsApp zu teilen. Benutzer können auch Hörbücher über die Funktion „Familienbibliothek“ teilen.
Audible deckt alle Kosten für die Verteilung von gemeinsam genutzten Titeln selbst. Andererseits zahlt Audible den Rechteinhabern für jede weitere Lese, wenn ein Nutzer ein Hörbuch herunterlädt und es an einen anderen weiterleitet. Diese Maßnahme ermöglicht unabhängigen Verlegern, ein breiteres Publikum mit geringeren Kosten zu erreichen.
Die Audible-, Amazon- und anderen Audiobuch-Dienste verfügen über eine Reihe von Anforderungen Für Hörbücher, die sie vertreiben. Zum Beispiel müssen Sie Ihre Buch-Audiodateien möglicherweise in Kapitel aufteilen, anstatt Ihr Buch als vollständiges Dokument einzureichen; Sie sollten außerdem eine Audio-Probe von etwa einer bis fünf Minuten Länge einbeziehen und so weiter.
Wenn Sie bereit sind, Ihren Anteil an der Audiobuchbranche zu erschließen, indem Sie Ihre eigene App erstellen, dann können wir Ihnen einige Wege vorstellen, wie Sie diese mit Inhalten füllen können.
Lesen Sie auch: So stellen Sie Ihre App offline zur Verfügung
Wo finden Sie Inhalte für Ihre App?
Natürlich können Sie Ihre App mit Audiobüchern füllen, die von Ihrer eigenen Firma erstellt wurden, sofern Sie dazu genügend Ressourcen haben. Doch die Erstellung von Inhalten auf diese Weise erfordert viel Geld, Zeit und Mühe. Stattdessen gibt es realistischere Möglichkeiten, Ihre App mit E-Book-Inhalten zu füllen.
Marktplätze für Audiobuch-Ersteller. Wir haben bereits ACX erwähnt – einen Marktplatz für alle Beteiligten im Bucherstellungsprozess, wie Autoren, Verleger, Sprecher und Rechteinhaber. Rechteinhaber für ein Buch können auf ACX eine Stelle für die Erstellung eines Hörbuchs anbieten, und Studios und Solo-Sprecher können nach Titeln suchen, die sie gerne in die Realität umsetzen möchten. Nachdem die Hörbücher produziert wurden, können Verleger sie direkt über ACX an Audible und sogar an ihre eigenen Websites und Apps vertreiben.
API-Anwendungen. Einige Unternehmen verkaufen Inhalte nicht direkt an die Nutzer. Stattdessen stellen sie APIs bereit, die es Einzelhändlern ermöglichen, auf ihre Titel zuzugreifen und diese an Verbraucher zu verkaufen. Das beste Beispiel für dieses API-Geschäftsmodell ist Findaway. Ihre API wird von Unternehmen wie Scribd, Playster und Downpour eingesetzt.
Verwandtes Material. Sie können eine Audiobook-App entwickeln, die neben der Veröffentlichung von Hörbüchern auch Nachrichten, Artikel, Audio-Reportagen und Podcasts bereitstellt. Im ersten Quartal 2016 hat Audible sein Angebot an Inhalten um Podcasts und Nachrichten erweitert. Inhalte für diese Kategorien stammen von renommierten Quellen wie The Wall Street Journal, The New York Times und dem Washington Post.
So erstellen Sie eine Audio-Streaming-Funktionalität
In diesem Teil des Artikels teilen wir Tipps von unserem Android-Entwickler, der Erfahrung mit der Entwicklung von Audio-Streaming-Funktionalitäten hat.
Playback-Kern
Das erste, was wir tun müssen, um einer Android-App die Möglichkeit zur Audiobuchwiedergabe zu geben, ist die Wahl eines Media-Playback-Engines. Heutzutage ist es üblich, den ExoPlayer Die Bibliothek stammt von Google. ExoPlayer ist ein Open-Source-Projekt, das nicht Teil des Android-Plattform-Frameworks ist und separat vom Android SDK erhältlich ist.
Mit dieser Bibliothek können wir von Dynamic Adaptive Streaming over HTTP (DASH), Smooth Streaming und Common Encryption profitieren, die von MediaPlayer nicht unterstützt werden. ExoPlayer lässt sich einfach mit NotificationManager verbinden, um eine Medienwiedergabe-Benachrichtigung anzuzeigen, wie es auch bei populären Audio-Buch-Playern üblich ist.
ExoPlayer-Übersicht
Es gibt zwei Hauptkomponenten der ExoPlayer-Bibliothek, die zur Wiedergabe von Hörbüchern verwendet werden können: SimpleExoPlayer und MediaSource. SimpleExoPlayer übernimmt die Interaktion zwischen Ereignissen wie „Abspielen“, „Pause“, „Weiterleiten“ usw. MediaSource bestimmt und stellt die Medien bereit, die vom ExoPlayer abgespielt werden sollen.
Es gibt mehrere Arten von Datenquellen, darunter
ProgressiveMediaSource, MaskingMediaSource und LoopingMediaSource. In unserem Beispiel verwenden wir ConcatenatingMediaSource, um die Wiedergabeliste darzustellen, da wir für ein einzelnes Buch mehrere Kapitel haben.
Lesen Sie auch: Erstellung eines Angebotsantrags für Ihren potenziellen Softwarepartner
Implementierung
Um alles klarzustellen, müssen wir die ExoPlayer-Logik in die PlayerManager-Klasse einordnen, in der alle Interaktionen mit dem Player stattfinden. Diese Klasse muss ein Singleton sein, um sicherzustellen, dass dieselbe Instanz an mehreren Stellen injiziert wird. Da wir für die Dependency-Injection Koin verwenden, sollte die Klasse folgendermaßen aussehen:
einzigartig
PlayerManager(
// Abhängigkeiten
)
}
In der Klasse PlayerManager haben wir eine SimpleExoPlayer-Instanz:
Klasse PlayerManager()
{
Val Player: SimpleExoPlayer
}
Für den Spieler können wir außerdem die AudioAttributes festlegen, die beschreiben, was wir hören. Wenn wir Hörbücher hören, stellen wir den Inhaltstyp auf „Sprachnachricht“, wie von Google empfohlen. Dadurch unterbricht das System die Medienwiedergabe, wenn eine eingehende Nachricht oder ein Anruf eingeht, damit der Benutzer keinen Inhalt verpasst. Wenn wir Inhalte zum Abspielen haben, müssen wir nur eine einzige Funktion aufrufen, damit alles funktioniert:
privat Spaß streamUrls(URLs: Liste<String>, Zustand: PlayerState, authToken: String) {
Val userAgent = Util.getUserAgent(context, context.getString(R.string.app_name))
Val Quelle = ConcatenatingMediaSource()
urls.forEach { url ->
Val mediaSource = ProgressiveMediaSource
Factory(DefaultHttpDataSourceFactory(userAgent).apply {
defaultRequestProperties.Set(RetrofitApiProvider.AUTH_HEADER_ACCESS_KEY, authManager.accessToken)
}, DefaultExtractorsFactory())
.createMediaSource(Uri.parse(url))
source.addMediaSource(mediaSource)
}
player.prepare(source)
player.seekTo(state.chapterPosition, state.elapsedTimeMs)
}
Hier bestimmen wir die Wiedergabemedienquelle und geben dem Player an, wo er suchen soll, indem wir ein PlayerState-Objekt abgeben, das Daten darüber enthält, welches Kapitel zuletzt abgespielt wurde und wie viele Millisekunden vergangen sind.
Aus Sicherheitsgründen muss ein Benutzer zur Abspielung von Inhalten autorisiert werden. Deshalb haben wir dem HTTP-Request eine Authentifizierungshauptzeile hinzugefügt, indem wir defaultRequestProperties verwenden. Das ist im Wesentlichen alles, was bei der Wiedergabe von Medien erforderlich ist.
Eine weitere interessante Herausforderung, die wir hatten, war die Organisation der Datenströme, die mit der Liste der Buchkapitel einhergehen. Diese Daten umfassen das Coverbild des Buches, den Namen des aktuell abgespielten Kapitels sowie die aktuelle Wiedergabezeit. Fast jede Android-Player-App benötigt eine Wiedergabe-Benachrichtigung, ein In-App-Player-Widget zur Vereinfachung der Navigation sowie den Player-Bildschirm selbst. Alle diese Komponenten müssen auf eine einzige Quelle der Wahrheit zugreifen können und müssen reaktiv organisiert sein, da die Wiedergabezeit und die Kapitel ständig ändern.
Um diese Konsistenz zu erreichen, können wir die Leistungsfähigkeit von RxJava/RxKotlin nutzen. PublishSubject Class und Kotlin-Dataklassen. PublishSubject Sie können Elemente an die aktuellen Abonnenten senden, und die Datentypen bieten uns eine Kopie Funktion zur Erstellung neuer Objekte der Zustandsdarstellung, ohne dass alte Daten gespeichert werden müssen.
Das obige Bild sieht so aus:
Klasse PlayerDataBus {
privat Val DataPlayersObjekt = BehaviorObjekt.create()
var value: PlayerInfo = PlayerInfo()
privat Set
Spaß processPosition(Position: Int) {
Val chapters = value.chapters.map { it.chapter }
Val kapitel = Kapitel[Position]
Val chapterId = chapter.id
Val title = chapter.title
DataPlayers.onNext(value.copy(
chapterNumber = Position,
chapterTitle = Titel,
chapterId = chapterId
))
}
}
Andere Teile der App können die Spielerdaten auf einfache Weise wie folgt erfassen:
privat Spaß observePlayerData() {
DataPlayersBus.observeInfo()
.applySchedulers()
.subscribeBy(
onError = {
// Zeige deine Fehlermeldung hier an
},
onNext = { info ->
// Hier werden die Playerinformationen verarbeitet
}
).addTo(compositeDisposable)
}
Jetzt haben wir einen Media-Player-Engine, der richtig konfiguriert ist, um die Audiobücherwiedergabe und reaktive Datenströme zu verarbeiten, die den aktuell abgespielten Kapitel und das Buch beschreiben und die in der gesamten App weit verbreitet eingesetzt werden können.
Da der Audiobuch-Markt stark boomt und sich schnell weiterentwickelt, sind wir sicher, dass wir in naher Zukunft noch viele weitere Änderungen und Verbesserungen erleben werden. Noch vor wenigen Jahren boomte die E-Book-Branche, und jetzt durchläuft der Audiobuch-Markt eine Phase des schnellen Wachstums und bietet den Lesern auch Funktionen wie den Fortschritt in Leselisten. Es ist eine großartige Zeit, sich diesen Trends anzuschließen. Wenn Sie nach einem Web- und Mobile-App-Entwicklungshaus suchen, Schreiben Sie uns eine E-Mail. Wir helfen Ihnen dabei, Ihre Idee in eine maßgeschneiderte, nahtlos funktionierende hochwertige App zu verwandeln.
Auf der Suche nach einem Softwarelösungspartner?
Erfahren Sie mehr über uns