Есть ли что-то в архитектуре Android или API, которая предотвращает людей создавать MP3-плееры, которые читают встроенные лирики?

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

  •  28-09-2019
  •  | 
  •  

Вопрос

Когда я играю определенные mp3 файлы (например, уроки из Japanesepod101.com.) На моем iPod Touch, лирике или стенограммы, встроенные в файлы MP3, отображаются в Media Player. Я верю, что тексты песен, хранятся как теги ID3 / ID4 в метаданных MP3.

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

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

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

Это было полезно?

Решение

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

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

Здесь это спецификация ID3V2.3, если вы хотели бы посмотреть в него дальше ... (оставить надеюсь, что все выходите сюда)

Другие советы

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

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

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

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

Это легко облегчает Android API? - не совсем

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top