我想创建音乐播放器,用textView显示正在播放的MP3歌词 . 歌词应与音乐同步显示 .
我想知道 how to get lyrics 并显示我引用的文本example .
有关如何做到这一点的任何建议?我被困在这里 .
提前致谢 .
使用以下音乐元数据库 .
http://javamusictag.sourceforge.net/
您可以访问文档并查找Lyrics标记并按照它进行操作 . 通常你会打开mp3文件并提取Lyrics标签的vaule . 请注意,这可能在mp3中可用,也可能不在 . (我建议你使用标记的mp3进行测试)如果信息在那里 . 您将能够将其作为String或缓冲区提取 .
该信息将如下所示
[00:02]Let's talk about time [00:05]tickin away every day
现在您只需要根据行前面给出的时间显示行 . 这应该很简单,只需做一些字符串操作 .
正如brandall在this answer中写道的那样,有 no native way to convert audio files to text in Android . 但是,您可以使用他在答案中建议的库(Nuance和A&T对我来说很好) .
作为替代方案,我会 use an API to get the lyrics for the song 如chartlyrics.com .
现在你有了歌词,但是将它们与歌曲同步是非常困难的 . 我不知道该怎么做,并会显示整个歌词让用户滚动 .
你可以使用speechToText
我认为最好的方法是使用歌词作为字幕 . 如果您查看字幕文件,您将看到它具有以下格式时间串你需要一个歌词文件 . 读入歌词文件,然后在指定时间在屏幕上显示歌词 .
希望它有所帮助 .
4 回答
使用以下音乐元数据库 .
您可以访问文档并查找Lyrics标记并按照它进行操作 . 通常你会打开mp3文件并提取Lyrics标签的vaule . 请注意,这可能在mp3中可用,也可能不在 . (我建议你使用标记的mp3进行测试)如果信息在那里 . 您将能够将其作为String或缓冲区提取 .
该信息将如下所示
现在您只需要根据行前面给出的时间显示行 . 这应该很简单,只需做一些字符串操作 .
正如brandall在this answer中写道的那样,有 no native way to convert audio files to text in Android . 但是,您可以使用他在答案中建议的库(Nuance和A&T对我来说很好) .
作为替代方案,我会 use an API to get the lyrics for the song 如chartlyrics.com .
现在你有了歌词,但是将它们与歌曲同步是非常困难的 . 我不知道该怎么做,并会显示整个歌词让用户滚动 .
你可以使用speechToText
我认为最好的方法是使用歌词作为字幕 . 如果您查看字幕文件,您将看到它具有以下格式
时间串
你需要一个歌词文件 . 读入歌词文件,然后在指定时间在屏幕上显示歌词 .
希望它有所帮助 .