| 查看: 583 | 回复: 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 太可怕了,写基金时,提出想法,直接生成的文字比自己想得深远,还有科学性
已经有6人回复
有院领导为了换新车,用横向课题经费买了俩车
已经有9人回复
酰胺脱乙酰基
已经有13人回复
博士延得我,科研能力直往上蹿
已经有8人回复
同年申请2项不同项目,第1个项目里不写第2个项目的信息,可以吗
已经有4人回复
有时候真觉得大城市人没有县城人甚至个体户幸福
已经有10人回复
天津大学招2026.09的博士生,欢迎大家推荐交流(博导是本人)
已经有5人回复
遇见不省心的家人很难过
已经有22人回复














;
回复此楼