在java中播放单个频率的简单方法?

时间:2010-06-07 18:09:42

标签: java audio

我只想通过给我的计算机一个特定的频率作为一个整数来播放一个非常简单,直接的音符,从那里我可以弄清楚如何使它更长或更短的播放音符。它不一定要从实际的声卡中出来 - 如果它由内置扬声器生成并输出就可以了。

我查看了java包含的midi库,它们比我想做的更多。这只需要非常基础。

3 个答案:

答案 0 :(得分:7)

查看JFugue - 执行一些基本操作非常简单,如果您想稍后扩展,那么功能就在那里。

Player player = new Player();
player.play("A C# E");

答案 1 :(得分:3)

example构建并播放equal tempered scale

答案 2 :(得分:0)

据我所知,如果没有Java中的一些样板代码,就没有办法做到这一点。最简单的API可能是由静态newAudioClip(URL url)-method形式的Applet类提供的(也可以由非Applet使用)。但是,这使您能够播放预定义的音频剪辑,而您几乎无法控制音频。如果您只需要从一组预定义的小片段中播放音频,那么它就足够了(您可以使用一组包含音符的wav文件并按照这种方式播放,如果需要,可以循环播放AudioClip。)

除此之外,midi和采样音频API都更强大,但灵活性需要付出代价:您需要更多代码来设置它们。