aiff:程序化播放?

2019年9月21日 37点热度 0条评论

我正在尝试以编程方式播放一些我拥有的苹果循环文件。由于我喜欢clojure,因此我首先尝试在JVM上使用它。 Java Sound Demo可以很好地播放与软件包一起提供的.aif,但是当我尝试播放我的一个循环文件​​时,我得到:

java.lang.IllegalArgumentException: No line matching interface Clip supporting
format PCM_SIGNED 48000.0 Hz, 24 bit, stereo, 6 bytes/frame, big-endian, 
and buffers of 671064 to 671064 bytes is supported. 

我猜这意味着Java声音api将不支持我的文件类型。我与语言无关,但是我很好奇,播放此内容时使用的最佳语言是什么?

我也研究了pygame,但安装似乎是一场噩梦,所以想看看我的选择是什么。

解决方案如下:

那里的问题是Java声音(它很古老并且迫切需要一些爱)不支持24位文件。 (我很确定它支持48kHz,并且默认支持立体声未压缩AIFF)

虽然可以使用其他各种库来扩展javasound,但也有一些选择。您可以尝试http://www.tritonus.org/

对于其他语言,http://www.mega-nerd.com/libsndfile/是一个开始的地方,它非常流行,我认为除了C之外,可能还有一些针对您可能喜欢的语言的包装。