如何在Java应用程序中加载和播放音频文件

时间:2013-09-10 01:20:38

标签: java audio

我已经在最近2个小时内搜索了一下,在我的程序中发生操作时无法找到加载音频文件并播放的基本方法。我还需要能够将我的音频文件打包到最终导出的jar文件中,以便人们可以使用该程序并拥有必要的音频资源。

2 个答案:

答案 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/