| 查看: 648 | 回复: 0 | |||
wangjing1377金虫 (小有名气)
|
[求助]
Java中添加音频文件 总是出错
|
|
package com.test2; import java.io.*; //import javax.sound.sampled.*; import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.DataLine; import javax.sound.sampled.SourceDataLine; public class TestAudio { public static void main(String[] args) { // TODO Auto-generated method stub //1.先创建一个AePlayWave对象实例 AePlayWave apw = new AePlayWave("d:\\111.wav\\" ;//2.启动该线程并播放 apw.start(); } } //播放声音的类 class AePlayWave extends Thread { private String filename; public AePlayWave(String wavfile) { filename = wavfile; } public void run(){ File soundFile=new File(filename); AudioInputStream audioInputStream = null; try{ audioInputStream =AudioSystem.getAudioInputStream(soundFile); }catch(Exception e1){ e1.printStackTrace(); return; } AudioFormat format = audioInputStream.getFormat(); SourceDataLine auline=null; DataLine.Info info=new DataLine.Info(SourceDataLine.class, format); try{ auline = (SourceDataLine) AudioSystem.getLine(info); auline.open(format); }catch(Exception e){ e.printStackTrace(); return; } auline.start(); int nBytesRead = 0; //这是缓冲 byte [] abData=new byte[1024]; try{ while(nBytesRead != -1){ nBytesRead=audioInputStream.read(abData, 0,abData.length); if(nBytesRead>=0) auline.write(abData, 0, nBytesRead); } }catch(IOException e){ e.printStackTrace(); return; }finally{ auline.drain(); auline.close(); } } } javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input file at javax.sound.sampled.AudioSystem.getAudioInputStream(Unknown Source) at com.test2.AePlayWave.run(TestAudio.java:32) |
» 猜你喜欢
有机合成以后会不会被AI改变?做科研的虫友怎么看
已经有8人回复
求合成方法
已经有7人回复
上海工程技术大学 激光智能制造课题组 2027级博士研究生招生
已经有4人回复
现代”学阀”该如何界定
已经有12人回复
课题组招2027级博士 上海工程技术大学 激光智能制造方向
已经有4人回复
我的奶奶
已经有3人回复











;
回复此楼