android - Android 架构或 API 中是否存在某些内容阻止人们创建读取嵌入歌词的 MP3 播放器?

标签 android mp3 id3

当我在 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/

相关文章:

python - 没有下载模块可以在 Python 中使用 MP3 处理声音?

php - 从 MP3 PHP 获取专辑封面

c# - 使用ID3算法、Accord.Net框架进行预测

Android Intent 到其他类不工作

android - fitSystemWindows 仅适用于选项卡的一个 fragment

android - 关闭 Android Espresso 测试中的警报对话框

android - 随机切换大小写

c++ - mciSendString 必须有 "wait"才能听到声音吗?

bash - 查找并删除具有相同前缀但不同扩展名的文件(即 *.flac 和 *.mp3)

c - 用 C 提取二进制文件的最后 128 个字节