我想用 Java 开发一个可以处理 kar 文件的卡拉 OK 播放器。我让它播放歌曲,但我无法让它从文件中读取歌词信息。我搜索了很多,但我找不到任何关于 kar 文件如何工作的线索。
我该怎么做?我很欣赏一些例子。谢谢。
我能找到的最好的是:
“卡尔”
出处:The Company Tune 1000 文件 kar (kar) 实际上是一个 midi 文件,但其文字在 TEXT 类型的事件元中标准化。与单词相比,以@ 开头的文本是额外的指示。例子:
@L 指定文字的语言 @I 任何附加信息 @T 标题信息 @KMIDI KARAOKE SPINS 版权信息和文件类型
可以出现几行标题和信息。KaraWin 从标题中提取信息以发布它们。文本对他来说甚至有一个非常简单的格式:\ 表示分页符,/a return 表示有该行
除此之外,根据维基百科,XBMC是一个支持 kar 文件的开源程序。由于它是一个开源项目,您可以下载它的代码。如果你真的有兴趣,你可以尝试在它的 10k+ 文件中搜索(用 C 语言,而不是 Java 语言),他们是如何做到的。也许您可以向他们或在他们的论坛中寻求一些指导。
你也可以试试这个关于卡拉OK软件的雅虎群。
我不认为有一个 Java 库可以做到这一点,所以你必须用自己的代码编写它。
首先,您需要了解 .kar 文件的内部结构。由于这些文件很小,它们可能是某种文本文件。试着用你的文本编辑器打开其中一个,看看它是什么样子的。然后你就会知道如何处理它。
Apologies as I don't have a definitive answer for you. I have seen several discussions about this but no real solid solutions. Here are a couple links to others' discussions on the topic. It seems to be a much more complicated task than one might imagine, as it is an uncommonly used file type. From what I know, it consists of MIDI data, albeit with slightly different meta data.
Reading lyrics information from a .kar file
Can you open the .kar file in a text editor? What does it give you?