【问题标题】:NullPointerException while passing an InputStream to Soundbank of MidiSystem in Java在 Java 中将 InputStream 传递给 MidiSystem 的 Soundbank 时出现 NullPointerException
【发布时间】:2014-10-01 16:51:36
【问题描述】:

我正在尝试通过从文件中读取并将其传递给MidiSystem.getSoundbank 函数来创建音库为此,我必须将文件读取为InputStream,为此我尝试了以下技术,但是失败了。

第一种技术——使用FileInputStream读取文件并将其传递给上述函数,如下所示:

InputStream audioSrc = new FileInputStream(file_path);
Soundbank soundbank = MidiSystem.getSoundbank(audioSrc);

mark/reset exception 失败

然后,我尝试了这个线程中提到的技术: java.io.IOException: mark/reset not supported Java Audio Input Stream / Buffered Input Stream

我面临java.io.IOException: Resetting to invalid mark 异常BufferedInputStream 技术和java.lang.NullPointerException url 技术异常。 有没有其他技术可以克服上述异常?

【问题讨论】:

    标签: java nullpointerexception inputstream ioexception javax.sound.midi


    【解决方案1】:

    似乎 java 版本 7 不再支持旧格式并实现了新的软件合成器 Gervill (http://www.oracle.com/technetwork/java/javase/6u30-relnotes-1394870.html),这导致版本 6 和版本 7 之间不兼容(http://www.oracle.com/technetwork/java/javase/compatibility-417013.html#incompatibilities)

    到目前为止,我一直在使用 java 版本 6,并尝试使用 java 版本 7 加载当前不受支持的格式,这可能导致这些异常

    【讨论】:

      猜你喜欢
      • 2012-06-28
      • 1970-01-01
      • 2011-11-22
      • 2012-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-12
      • 2013-03-08
      相关资源
      最近更新 更多