2

Javaでサウンドファイルを再生しようとしています。私はこのコードを書きました:

import java.io.File;
import java.io.IOException;

import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.UnsupportedAudioFileException;

public class SoundBang
{
    private File _file;
    private AudioInputStream _audio;
    private Clip _clip;

    public SoundBang( )
    {
        _file = new File( "file/sound/bang.wav" );

        try
        {
            _audio = AudioSystem.getAudioInputStream( _file );
            _clip = AudioSystem.getClip( );
            _clip.open( _audio );
            _clip.start( );
        }
        catch ( LineUnavailableException e )
        {
            e.printStackTrace( );
        }
        catch ( IOException e )
        {
            e.printStackTrace( );
        }
        catch ( UnsupportedAudioFileException e )
        {
            e.printStackTrace( );
        }
    }

    public static void main ( String[ ] args )
    {
        new SoundBang( );
    }
}

問題は、このコードを実行しても何も聞こえないことです。

サウンドファイルのURLは正しいです(絶対URLを印刷してテストしましたが、問題ありません)。私はEclipseJuno、openjdk-7、Fedora17をKDEで使用しています。

4

1 に答える 1

2

カップルのもの:

  1. clip.startは、バックグラウンドで実行する新しいスレッドを生成し、アプリが停止すると停止します。クリップを開始してからスリープしてみてください。
  2. 始めてから先に進む必要がありますか?それは単なる余分な行のようです。

あなたの主な方法を作ってみてください:

public static void main ( String[ ] args )
{
    new SoundBang( );
    Thread.sleep(2000); // Sleep 2 seconds
}
于 2012-08-23T20:42:16.130 に答える