对于学习Web开发和数据库管理的副项目,我决定使用我拥有的大量TTA音频文件(以及补充它们的Cue文件)制作类似于收音机的网站。
然而,这个项目的最大障碍是,处理音频本身。我不确定如何解码TTA文件并使用该信息正确使用Cues。
我已经到了Tau Projects网站,并且真的不知道如何继续。我考虑过的一些选项,但不确定他们是如何工作/去做的。
<小时/> 的 1。支持TTA的音频库
最简单的解决方案(如果存在)。从为Java存在的极少数音频库(至少我知道存在),它们都不支持TTA格式。如果我弄错了,请纠正我。
<小时/> 的 2。使用JNI / JNA挂钩解码器
Tau Projects有各种插件的downloads列表,我假设编码器/解码器的实现(如ttaenc-win)。现在我对C / C ++的任何事情都知之甚少,所以这对我来说可能是个挑战。根据我对libtta ++下载的理解,它只是一堆接口。我只能假设ttaenc-win只是一个实现(它只是一个.exe文件所以不太确定)。如果其中一个下载是这些接口的实现,那么我可以使用JNI / JNA挂钩它们并以这种方式处理音频。如果是这种情况那么它可以工作,但我只需要一些指导。
<小时/> 第3。使用vlcj
VLC支持TTA格式,因此可以使用vlcj以这种方式处理音频。但是,根据我对vlcj如何工作的理解,它会在每次我想要使用它时创建一个VLC实例(并且还需要安装VLC)。如果这是真的那么这个解决方案将是非常低效的,并且即使对于少量请求也不会扩展(因为我假设我需要为每个用户提供新的VLC实例)。
<小时/> 的 4。编写纯Java实现
开源意味着算法可以很好地只是本地制作。但正如我之前所说,我不了解C / C ++代码来制作与Java等效的实现,而且我不够聪明,无法在Tau Projects网站上破译有关算法的信息(可以找到信息here和here)。
这个解决方案是迄今为止最轻巧,多功能和便携的选择。如果可以实现,这可能是我想要追求的路线,但我需要指导。