File soundFile = new File(filename); AudioInputStream audioInputStream = null;
try {
//从提供的 File 获得音频输入流。该 File 必须指向有效的音频文件数据。
audioInputStream = AudioSystem.getAudioInputStream(soundFile);
} catch (Exception e1) {
e1.printStackTrace();
return;
}
最后的这个return 是什么意思呢
try {
//从提供的 File 获得音频输入流。该 File 必须指向有效的音频文件数据。
audioInputStream = AudioSystem.getAudioInputStream(soundFile);
} catch (Exception e1) {
e1.printStackTrace();
return;
}
最后的这个return 是什么意思呢
解决方案 »
- java类之间传值的问题
- java中的"."到底是个什么概念
- A is a class object ! what 's mean of "A.class.getResourceAsStream(String fileName)" ? thanks !
- 用Java语言开发,可是却一直连接不上在本地计算机内安装的oracle数据库,请高手进来详阅,帮帮忙,快急疯了,谢谢各位了!!!!
- 请大哥们帮我解决一下
- 救助﹐送分
- [Eclipse]讨论一下SWT/JFACE
- 大神进!如果不是我疏忽,这就是java String equals的bug!
- 怎么卸载窗体,又不影响主窗体的工作?
- Java AES 加密疑惑
- 开启telnet
- JAVA中ArrayList是否允许两个线程同时进行插入和删除操作?
没有return:catch到异常之后,执行完e1.printStackTrace()会跳出try catch代码继续往下执行操作直到return或者函数尾为止,这样做是危险的。如果你audioInputStream = AudioSystem.getAudioInputStream(soundFile)这句话出现了异常,那么有可能你的audioInputStream对象是没有东西的,如果你在try catch后面还继续对一个不能用的对象进行操作,是不正确的
try {
//从提供的 File 获得音频输入流。该 File 必须指向有效的音频文件数据。
audioInputStream = AudioSystem.getAudioInputStream(soundFile);
} catch (Exception e1) {
e1.printStackTrace();
// return"就是说“本函数代码执行到这儿就终止(返回)啦!”,然后返回到这个函数的调用者函数继续运行
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[512]; 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();
} } 这是源代码 有两个return 像你这么说 遇到return 那不就不执行下面的吗 还望你能讲明白点 我刚学 不懂 呵呵