Есть ли в архитектуре или API-интерфейсе Android что-то, что мешает людям создавать MP3-плееры, которые читают встроенные тексты песен? - PullRequest
2 голосов
/ 24 ноября 2010

При воспроизведении определенных файлов MP3 (например, уроков из JapanesePod101.com ) на моем iPod Touch тексты песен или транскрипты, встроенные в файлы MP3, отображаются в медиаплеере. По-моему, тексты песен хранятся в виде меток ID3 / ID4 в метаданных MP3.

Я считаю, что это чрезвычайно полезная функция, и я считаю, что я не одинок. Несмотря на это, ни стандартный мультимедийный проигрыватель Android, ни какой-либо другой медиаплеер, который я скачал с Маркета, похоже, не поддерживают это. Я просто не смог найти какой-либо способ получить функцию на моем Nexus One.

Эта функция достаточно важна для меня, поэтому я подумываю изучать разработку под Android просто для того, чтобы написать простой медиаплеер с отображением встроенных текстов песен или заметок. Однако тот факт, что никто другой, кажется, не сделал этого, заставляет задуматься - возможно ли это? Есть ли в архитектуре или API-интерфейсах Android что-то, что затрудняет или делает невозможным чтение или отображение информации о текстах песен из файлов MP3? Мне не хотелось бы углубляться в процесс обучения и выяснять, к чему я стремлюсь ибо не может быть легко сделано. (Я имею в виду, что если все остальное не поможет, я предполагаю, что смогу написать свой собственный MP3-декодер, но это больше проблем, чем я готов сейчас пройти).

Я уже задавал этот вопрос на бета-сайте Android-энтузиастов , но, оглядываясь назад, я решил, что это скорее вопрос программирования, и решил, что его лучше задать здесь.

Ответы [ 3 ]

3 голосов
/ 25 ноября 2010

Да, определенно больше вопроса программирования.Просто из моего краткого опыта чтения спецификации ID3, я думаю, что, вероятно, просто декодирование тегов ID3 ​​- это полная PITA.Я уверен, что это можно сделать, поскольку для Android есть приложения для редактирования тегов MP3 (поддерживает ли текст или нет, я не знаю).

ID3v2.3, по-видимому, поддерживает как синхронизированные, так и несинхронизированные тексты в кадрах SYLT и USLT заголовка.Я полагаю, что это настолько недоиспользуемая функция, что большинству не стоит тратить на это усилия.Купленные MP3-файлы не несут эту информацию (я всегда удивлялся, почему нет?), Поэтому их придется добавлять вручную (или автоматически через API службы лирики, но с этим связано гораздо больше кода).

Здесь - это спецификация ID3v2.3, если вы хотите изучить ее дальше ... (оставьте надежду всем, кто входит сюда)

1 голос
/ 02 июня 2012

Я только что добавил новый запрос на добавление функции Android для чтения USLT в теге ID3. Это позволит родным и сторонним музыкальным проигрывателям отображать тексты песен. Если вы хотите использовать эту функцию, отметьте запрос ниже и оставьте свои комментарии.

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

1 голос
/ 25 ноября 2010

Проблема может заключаться в том, что большинство людей будут использовать встроенные механизмы воспроизведения mp3, и это может не поддерживать лирическое отображение и не очень легко поддерживать синхронизацию с чем-то другим, выполняющим лирическое отображение.

Так что это можетбудь то что-то должно быть написано, которое выполняет свое собственное декодирование mp3.

Скорее всего, это будет сделано в родном коде.С другой стороны, на андроиде вывод звука (и если вы не используете opengl, отображение видео) в значительной степени должен быть сделан из Java.Итак, вы смотрите на значительный объем работы по декодированию данных с помощью собственной библиотеки, а затем отправляете ее для воспроизведения и отображения из Java.

Итак, чтобы ответить на ваш вопрос - возможно ли это?Определенно

Это легко сделать с помощью Android-API?- не совсем

...