Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用java播放声音_Java_Audio_Javasound - Fatal编程技术网

用java播放声音

用java播放声音,java,audio,javasound,Java,Audio,Javasound,我有五个wav文件。我想使用sourceDataLine从单个Java程序中连续播放它们。但是我的程序没有保持正确的顺序。有人能给我提供代码段吗?你检查过代码段了吗 请尝试以下示例: 你查过电话号码了吗 请尝试以下示例: 不。给我们看你的代码。为了更快地获得更好的帮助,请发布一个。虽然是2个声音样本,而不是5个。向我们展示您的代码。要更快地获得更好的帮助,请发布一个。虽然只制作2个声音样本,而不是5个。这充其量只是一个评论,不是吗?:-)@天蝎座:我还没说完。答案是+1。“尽快编辑以下内容”会阻

我有五个wav文件。我想使用sourceDataLine从单个Java程序中连续播放它们。但是我的程序没有保持正确的顺序。有人能给我提供代码段吗?

你检查过代码段了吗

请尝试以下示例:

你查过电话号码了吗

请尝试以下示例:


不。给我们看你的代码。为了更快地获得更好的帮助,请发布一个。虽然是2个声音样本,而不是5个。向我们展示您的代码。要更快地获得更好的帮助,请发布一个。虽然只制作2个声音样本,而不是5个。这充其量只是一个评论,不是吗?:-)@天蝎座:我还没说完。答案是+1。“尽快编辑以下内容”会阻止我发表评论。这充其量只是一个评论,不是吗?:-)@天蝎座:我还没说完。答案是+1。“马上编辑以下内容”会让我不敢评论。
import java.io.*;
import javax.sound.sampled.*;
/**
 * Use SourceDataLine to read line-by-line from the external sound file.     
 */
public class SoundLineTest {
   public static void main(String[] args) {
      SourceDataLine soundLine = null;
      int BUFFER_SIZE = 64*1024;  // 64 KB

      // Set up an audio input stream piped from the sound file.
      try {
         File soundFile = new File("gameover.wav");
         AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(soundFile);
         AudioFormat audioFormat = audioInputStream.getFormat();
         DataLine.Info info = new DataLine.Info(SourceDataLine.class, audioFormat);
         soundLine = (SourceDataLine) AudioSystem.getLine(info);
         soundLine.open(audioFormat);
         soundLine.start();
         int nBytesRead = 0;
         byte[] sampledData = new byte[BUFFER_SIZE];
         while (nBytesRead != -1) {
            nBytesRead = audioInputStream.read(sampledData, 0, sampledData.length);
            if (nBytesRead >= 0) {
               // Writes audio data to the mixer via this source data line.
               soundLine.write(sampledData, 0, nBytesRead);
            }
         }
      } catch (UnsupportedAudioFileException ex) {
         ex.printStackTrace();
      } catch (IOException ex) {
         ex.printStackTrace();
      } catch (LineUnavailableException ex) {
         ex.printStackTrace();
      } finally {
         soundLine.drain();
         soundLine.close();
      }
   }
}