| 查看: 626 | 回复: 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) |
» 猜你喜欢
2026年国自然面上资助率
已经有8人回复
系统今天又提示维护了,估计离放榜不远了
已经有15人回复
微信指数没变化,科研之友没阅读
已经有17人回复
申请2027年材料/化学类博士
已经有5人回复
你们的时间戳变了吗
已经有4人回复
小木虫看见有人已经知道结果了
已经有17人回复
今年的WR进展到哪一步了?
已经有9人回复
产物和副产物价值比较
已经有5人回复
时间戳他又来了
已经有17人回复
这个自发加氧反应的机理是什么?
已经有7人回复











;
回复此楼