getAudioInputStream()期间标记/重置异常

时间:2011-11-11 09:28:54

标签: java audio java-7 javasound

我发布了一个问题的解决方案(如下所述)但未能确认是否解决了问题。有Java 7的人可以尝试使用以下Applet并报告回来吗?非常感谢。

AudioMixerDemo

向我报告的问题是需要加载来自jarred资源的声音片段的顶行按钮不起作用。该错误指向正在读取音频文件的行,并表示正在抛出“标记/重置”I / O异常。

此代码适用于Java 6不适用于Java 7.违规声明如下:

AudioInputStream ais = AudioSystem.getAudioInputStream(
    AudioMixer.class.getResourceAsStream(fileName));

内部区域返回InputStream,我认为这就是出现“可标记性”问题的地方。该问题在Oracle的错误数据库中报告为向后兼容性问题,但优先级较低。

我已按以下方式重新编码:

URL url = AudioMixer.class.getResource(fileName);
AudioInputStream ais =  AudioSystem.getAudioInputStream(url); 

AudioSystem API中没有提到此方法会抛出“标记/重置”I / O异常。所以,我很有希望。但我无法证实这一点!

1 个答案:

答案 0 :(得分:1)

报告此问题的Java 7用户已与我联系并竖起大拇指。因此我假设向后兼容性问题的诊断和修复是正确的,并且不再寻求测试人员(除非您只是想检查AudioMixer)。