我发布了问题的修复(如下所述),但无法确认它是否解决了问题。使用 Java 7 的人会尝试以下 Applet 并报告吗?我们将非常感激。
音频混合器演示 http://www.hexara.com/VSL/AudioMixerDemoWarOfWorlds.htm
向我报告的问题是,需要从震动资源加载声音剪辑的顶行按钮不起作用。该错误指向正在读取音频文件的行,并表示正在抛出“标记/重置”I/O 异常。
此代码适用于 Java 6,不适用于 Java 7。有问题的语句如下:
AudioInputStream ais = AudioSystem.getAudioInputStream(
AudioMixer.class.getResourceAsStream(fileName));
内部区域返回一个InputStream
,我认为这就是“可标记性”问题出现的地方。该问题报告于Oracle 的 bug 数据库是向后兼容性问题 https://bugs.java.com/bugdatabase/view_bug.do?bug_id=7095006,但优先级较低。
我将上面的内容重新编码如下:
URL url = AudioMixer.class.getResource(fileName);
AudioInputStream ais = AudioSystem.getAudioInputStream(url);
AudioSystem API 中没有任何内容提到此方法将抛出“标记/重置”I/O 异常。所以,我充满希望。但我还没能证实这一点!
报告该问题的 Java 7 用户已联系我并竖起了大拇指。因此,我假设向后兼容性问题的诊断和修复是正确的,并且不再寻找测试人员(除非您只是对检查 AudioMixer 感兴趣)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)