java播放wav文件
2018-01-22 18:03
453 查看
import java.io.File; import java.io.IOException; import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.DataLine.Info; import javax.sound.sampled.LineUnavailableException; import javax.sound.sampled.SourceDataLine; import javax.sound.sampled.UnsupportedAudioFileException; public class PlayWav { public PlayWav(String file) { try { // read wav file to audio stream AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File(file)); // read audio format from stream AudioFormat audioFormat = audioInputStream.getFormat(); System.out.println("采样率:" + audioFormat.getSampleRate()); System.out.println("总帧数:" + audioInputStream.getFrameLength()); System.out.println("时长(秒):" + audioInputStream.getFrameLength() / audioFormat.getSampleRate()); // SourceDataLine info Info dataLineInfo = new Info(SourceDataLine.class, audioFormat); SourceDataLine sourceDataLine = (SourceDataLine) AudioSystem.getLine(dataLineInfo); byte[] b = new byte[1024]; int len = 0; sourceDataLine.open(audioFormat, 1024); sourceDataLine.start(); while ((len = audioInputStream.read(b)) > 0) { sourceDataLine.write(b, 0, len); } audioInputStream.close(); sourceDataLine.drain(); sourceDataLine.close(); } catch (UnsupportedAudioFileException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (LineUnavailableException e) { e.printStackTrace(); } } public static void main(String[] args) { new PlayWav("D:\\123.wav"); } }
import java.io.File;import java.io.IOException;
import javax.sound.sampled.AudioFormat;import javax.sound.sampled.AudioInputStream;import javax.sound.sampled.AudioSystem;import javax.sound.sampled.DataLine.Info;import javax.sound.sampled.LineUnavailableException;import javax.sound.sampled.SourceDataLine;import javax.sound.sampled.UnsupportedAudioFileException;
public class PlayWav {public PlayWav(String file) {try {// read wav file to audio streamAudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File(file));// read audio format from streamAudioFormat audioFormat = audioInputStream.getFormat();System.out.println("采样率:" + audioFormat.getSampleRate());System.out.println("总帧数:" + audioInputStream.getFrameLength());System.out.println("时长(秒):" + audioInputStream.getFrameLength() / audioFormat.getSampleRate());// SourceDataLine infoInfo dataLineInfo = new Info(SourceDataLine.class, audioFormat);
SourceDataLine sourceDataLine = (SourceDataLine) AudioSystem.getLine(dataLineInfo);byte[] b = new byte[1024];int len = 0;sourceDataLine.open(audioFormat, 1024);sourceDataLine.start();while ((len = audioInputStream.read(b)) > 0) {sourceDataLine.write(b, 0, len);}audioInputStream.close();sourceDataLine.drain();sourceDataLine.close();} catch (UnsupportedAudioFileException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} catch (LineUnavailableException e) {e.printStackTrace();}
}
public static void main(String[] args) {new PlayWav("D:\\123.wav");
}}
相关文章推荐
- java 播放 wav 声音文件
- windows播放wav声音文件--java播放wav完整demo
- 播放wav文件
- 关于用低级API函数播放wav文件声音不连续的解决方法
- .net2.0播放WAV文件
- C#调用winmm播放音乐(.wav文件)
- 播放内嵌的wav文件
- 如何播放大型 WAV 文件?
- 一个使用WINDOWS媒体库的WAV音频文件播放的示例
- 如何得到WAV文件播放的总时间
- WinCE系统播放wav声音文件的实现方法
- Linux环境下用c语言写的播放wav文件的小程序
- VC中如何播放WAV文件
- 解决Java程序在MOTO E680i中声音文件播放
- VC:大型WAV文件的播放
- 播放WAV文件
- java 播放midi,wav,mp3
- 完美解决Java程序在 MOTO E680i 中声音文件播放
- 利用Java Applet播放声音文件-Java基础-Java-编程开发
- 播放wav文件