2011-03-21 97 views
4

我已经下载并运行http://java.sun.com/上的Java sound demo。当我运行捕捉/回放示例时,我可以录制和播放我的声音。但经过我在保存语音到一个wav文件,我无法播放,并得到一个错误,Java声音演示 - 问题

无法重置流 产生java.io.IOException:标记/重置不支持

你能告诉我为什么吗?

非常感谢。

+0

可能我们有一个堆栈跟踪? – colinjwebb 2011-03-21 13:11:26

回答

2

根据this (very old) bug report

此错误由PushBackInputStream一个 最近变化主要引起: 的AudioInputStream使用 PushBackInputStream在内部 为了应对不规则帧 大小读取基本输入 流的。

它看起来像问题是的AudioInputStream不支持reset(),这是造成这个问题。建议的解决方法是使用java 1.4.1来运行演示。当然,我期望这在主API中有所改变,所以当你自己开发这个时,你应该没有问题用Java 6做。

+0

感谢Banang的回复。我在Java 6上运行这个,但我仍然遇到问题。 – gishara 2011-03-23 04:06:09

+0

@gishu嗯,也许我不是很清楚。你在1.6上运行这个应该是这个问题发生的原因。 1.4.1之后AudioInputStream发生了变化,导致此示例中断。如果你在旧版本的Java上运行这个示例,它将起作用,因为它是使用一个非常旧的版本构建的。但是,api已更新,因此您将能够使用Java 1.6进行开发。 – 2011-03-23 08:09:57

+0

好的。非常感谢。抱歉误会。 :) – gishara 2011-03-23 08:12:45