我已经在最近2个小时内搜索了一下,在我的程序中发生操作时无法找到加载音频文件并播放的基本方法。我还需要能够将我的音频文件打包到最终导出的jar文件中,以便人们可以使用该程序并拥有必要的音频资源。
答案 0 :(得分:1)
我使用javax.sound.sampled。
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
这是我用来加载“剪辑”的函数。
public Clip loadClip( String filename )
{
Clip in = null;
try
{
AudioInputStream audioIn = AudioSystem.getAudioInputStream( getClass().getResource( filename ) );
in = AudioSystem.getClip();
in.open( audioIn );
}
catch( Exception e )
{
e.printStackTrace();
}
return in;
}
只需将其称为
即可Clip sound = loadClip( "/sound.wav" );
声音文件必须位于资源文件中(例如默认值,src或我个人喜欢的res)。然后我做了一个函数来播放它:
public void playClip( Clip clip )
{
if( clip.isRunning() ) clip.stop();
clip.setFramePosition( 0 );
clip.start();
}
我把它放在艺术课上,所以我称之为
Art.playClip( Art.sound );
代码应该是相当自我解释的,但如果它不起作用,我有一个关于如何操作的视频教程(带有讽刺性的声音错误导致它不能记录):http://www.youtube.com/watch?v=mafOKyWWTpY 希望我帮助过你!
答案 1 :(得分:0)
如果你要做的就是访问低级API,在大多数情况下不太可能。
http://docs.oracle.com/javase/tutorial/sound/
如果你只想播放MP3文件,你最好看看这个。
http://www.morgenstille.at/blog/how-to-play-a-mp3-file-in-java-simple-and-beautiful/