C'è qualcosa nell'architettura o nell'API di Android che impedisce alle persone di creare lettori MP3 che leggono testi incorporati?

StackOverflow https://stackoverflow.com/questions/4271099

  •  28-09-2019
  •  | 
  •  

Domanda

Quando riproduco determinati file MP3 (come le lezioni da JapanesePod101.com) sul mio iPod Touch, i testi o le trascrizioni incorporati nei file MP3 vengono visualizzati nel lettore multimediale.I testi sono, credo, memorizzati come tag ID3/ID4 nei metadati MP3.

Trovo che questa sia una funzionalità estremamente utile e credo di non essere il solo.Nonostante ciò, né il lettore multimediale Android di serie né qualsiasi altro lettore multimediale che ho scaricato dal Market sembra supportarlo.Semplicemente non sono riuscito a trovare alcun modo per ottenere funzionalità sul mio Nexus One.

Questa funzionalità è abbastanza importante per me che sto pensando di imparare lo sviluppo di Android solo per poter scrivere un semplice lettore multimediale che visualizzi testi o note incorporati.Tuttavia, il fatto che nessun altro sembri averlo fatto mi fa chiedere: è possibile? C'è qualcosa nell'architettura o nelle API di Android che rende difficile o impossibile leggere e visualizzare le informazioni sui testi dai file MP3? Mi dispiacerebbe approfondire il processo di apprendimento e scoprire che ciò a cui sto mirando non può essere realizzato facilmente.(Voglio dire, se tutto il resto fallisce, presumo che potrei scrivere il mio decoder MP3, ma questo è più un problema di quanto sono disposto ad affrontare in questo momento).

Ho già fatto questa domanda su Sito beta di Stack Exchange per gli appassionati di Android, ma in retrospettiva ho deciso che era più una questione di programmazione e ho deciso che era meglio chiedere qui.

È stato utile?

Soluzione

Sì, decisamente più una questione di programmazione.Solo dalla mia breve esperienza di lettura delle specifiche ID3, penso che probabilmente sia solo che la decodifica dei tag ID3 è una PITA completa.Sono sicuro che si possa fare, dato che sono disponibili app per la modifica dei tag MP3 per Android (se supportano i testi o meno, non lo so).

ID3v2.3 sembra avere supporto sia per i testi sincronizzati che per quelli non sincronizzati attraverso i frame SYLT e USLT dell'intestazione.Immagino che sia una funzionalità così sottoutilizzata che non valga la pena di farlo.Gli MP3 acquistati non contengono queste informazioni (mi sono sempre chiesto perché no?), quindi dovrebbero essere aggiunti manualmente (o automaticamente tramite un'API del servizio di testi, ma c'è molta più codifica coinvolta in questo).

Qui è la specifica ID3v2.3 se desideri approfondirla... (abbandonate le speranze tutti voi che entrate qui)

Altri suggerimenti

Il problema potrebbe essere che la maggior parte delle persone utilizzerebbe il meccanismo di riproduzione mp3 integrato, e questo potrebbe non supportare la visualizzazione dei testi né essere molto facile da mantenere sincronizzato con qualcos'altro che esegue la visualizzazione dei testi.

Quindi può darsi che sia necessario scrivere qualcosa che esegua la propria decodifica mp3.

Molto probabilmente questo vorrebbe essere fatto in codice nativo.D'altra parte, su Android, l'output audio (e, a meno che non si usi opengl, la visualizzazione video) deve essere fatto praticamente da Java.Quindi stai osservando una discreta quantità di lavoro per decodificare i dati con una libreria nativa e quindi inviarli per la riproduzione e la visualizzazione da Java.

Quindi, per rispondere alla tua domanda: è possibile?Decisamente

È reso semplice dalle API Android?- non proprio

Ho appena aggiunto una nuova richiesta di funzionalità che fornirebbe il supporto Android per la lettura di USLT nel tag ID3.Ciò consentirà ai lettori musicali nativi e di terze parti di visualizzare i testi.Se desideri questa funzionalità, contrassegna la richiesta di seguito e pubblica i tuoi commenti.

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top