2010-11-24 2 views
2

Wenn ich bestimmte MP3-Dateien (z. B. Lektionen von JapanesePod101.com) auf meinem iPod Touch abspiele, werden Songtexte oder Transkripte, die in die MP3-Dateien eingebettet sind, im Medienplayer angezeigt. Die Texte sind, glaube ich, als ID3/ID4-Tags in den MP3-Metadaten gespeichert.Gibt es etwas in der Android-Architektur oder API, das verhindert, dass Leute MP3-Player erstellen, die eingebettete Texte lesen?

Ich finde dies eine äußerst nützliche Funktion, und ich glaube, ich bin nicht allein. Nichtsdestoweniger scheint weder der Android Media Player noch irgendein anderer Media Player, den ich vom Market heruntergeladen habe, dies zu unterstützen. Ich konnte einfach keine Möglichkeit finden, Features auf meinem Nexus One zu bekommen.

Diese Funktion ist wichtig genug für mich, dass ich in Erwägung ziehe, Android-Entwicklung zu lernen, nur damit ich einen einfachen Media-Player schreiben kann, der eingebettete Texte oder Notizen anzeigt. Aber die Tatsache, dass das anscheinend niemand getan hat, lässt mich fragen, ob es überhaupt möglich ist. Gibt es in der Android-Architektur oder APIs etwas, das das Lesen und Anzeigen von Songtextinformationen aus MP3-Dateien erschwert oder unmöglich macht? Ich würde es hassen, tief in den Lernprozess einzusteigen und herauszufinden, was ich anstrebe, kann nicht einfach gemacht werden. (Ich meine, wenn alles andere fehlschlägt, nehme ich an, ich könnte meinen eigenen MP3-Decoder schreiben, aber das ist mehr Ärger, als ich gerade durchmachen möchte).

Ich habe diese Frage bereits auf der Android Enthusiasts Stack Exchange Beta Site gestellt, aber im Nachhinein entschied ich, dass es mehr eine Programmierfrage war und entschied, dass es besser war, hier zu fragen.

+0

nein, es gibt keine technische Einschränkung. –

Antwort

3

Ja, definitiv mehr von einer Programmierfrage. Nur aus meiner kurzen Erfahrung beim Lesen der ID3-Spezifikation, ich denke, es ist wahrscheinlich nur, dass die Decodierung von ID3-Tags eine vollständige PITA ist. Ich bin mir sicher, dass es getan werden kann, da es Apps für die Bearbeitung von MP3-Tags für Android gibt (ob irgendwelche Supporttexte oder nicht, ich weiß es nicht).

ID3v2.3 scheint sowohl synchronisierte als auch unsynchronisierte Songtexte durch die SYLT- und USLT-Frames des Headers zu unterstützen. Ich kann mir vorstellen, dass es nur ein so wenig genutztes Feature ist, dass es sich für die meisten nicht lohnt. Gekaufte MP3s enthalten diese Informationen nicht (ich habe mich immer gefragt, warum nicht?), Also müssten sie manuell hinzugefügt werden (oder automatisch über eine Lyrik-Service-API, aber es ist viel mehr Code damit verbunden).

Here ist die ID3v2.3 spec, wenn Sie es weiter suchen möchte ... (verlassen Hoffnung all die ihr hier eintretet)

1

Das Problem kann sein, dass die meisten Menschen die sich im internen nutzen würden mp3-Wiedergabemechanismen, und dies kann weder lyrische Anzeige unterstützen, noch ist es sehr einfach, mit etwas anderem, das lyrische Anzeige ausführt, synchronisiert zu bleiben.

So kann es sein, dass etwas geschrieben werden muss, das seine eigene MP3-Decodierung hat.

Wahrscheinlich würde dies in nativem Code erfolgen. Auf der anderen Seite, auf Android, Audio-Ausgabe (und sofern Sie OpenGL, Video-Display verwenden) muss ziemlich viel von Java gemacht werden. Sie suchen also eine Menge Arbeit, um Daten mit einer nativen Bibliothek zu entschlüsseln und sie dann zur Wiedergabe und Anzeige von Java zu versenden.

So, um Ihre Frage zu beantworten - ist es möglich? Definitiv

Wird es durch die Android-APIs leicht gemacht? - nicht wirklich

+0

Ja, das fasst es ziemlich zusammen. :(Verdammt viel Arbeit, aber möglich. – kcoppock

1

Ich habe gerade eine neue Feature-Anfrage hinzugefügt, die Android-Unterstützung für das Lesen von USLT im ID3-Tag geben würde. Dies ermöglicht es den Musikern von nativen und 3rd-Party-Musikern, Liedtexte anzuzeigen. Wenn Sie diese Funktion wünschen, markieren Sie bitte die unten stehende Anfrage und posten Sie Ihre Kommentare.

http://code.google.com/p/android/issues/detail?id=32547

Verwandte Themen