当我在 iPod Touch 上播放某些 MP3 文件(例如 JapanesePod101.com 中的类(class))时,嵌入在 MP3 文件中的歌词或文字记录会显示在媒体播放器中。我相信歌词作为 ID3/ID4 标签存储在 MP3 元数据中。
我发现这是一个非常有用的功能,而且我相信我并不孤单。尽管如此,我从市场下载的 Android 媒体播放器和其他媒体播放器似乎都不支持这一点。我只是无法找到任何方法来获取 Nexus One 上的功能。
这个功能对我来说非常重要,我正在考虑学习 Android 开发,这样我就可以编写一个简单的媒体播放器来显示嵌入的歌词或注释。然而,似乎没有其他人这样做过,这一事实让我想知道——这可能吗? Android 架构或 API 中是否存在某些内容导致难以或无法读取和显示 MP3 文件中的歌词信息?我不想深入学习过程并找出我正在做什么目标不容易实现。 (我的意思是,如果一切都失败了,我假设我可以编写自己的 MP3 解码器,但这比我现在愿意经历的麻烦更多)。
我已经在 Android Enthusiasts Stack Exchange Beta Site 上问过这个问题,但回想起来,我认为这更多是一个编程问题,并认为最好在这里问。
最佳答案
是的,绝对更多的是一个编程问题。仅从我阅读 ID3 规范的简要经验来看,我认为解码 ID3 标签可能就是一个完整的 PITA。我确信这是可以做到的,因为有适用于 Android 的 MP3 标签编辑应用程序(是否支持歌词,我不知道)。
ID3v2.3 似乎通过 header 的 SYLT 和 USLT 帧支持同步和非同步歌词。我想这是一个未得到充分利用的功能,以至于大多数人不值得为此付出努力。购买的 MP3 不携带此信息(我一直想知道为什么不携带此信息?),因此必须手动添加它们(或通过歌词服务 API 自动添加,但其中涉及更多编码)。
Here是 ID3v2.3 规范,如果您想进一步研究它...(放弃所有进入此处的希望)
关于android - Android 架构或 API 中是否存在某些内容阻止人们创建读取嵌入歌词的 MP3 播放器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4271099/