簡體   English   中英

在將InputStream傳遞給Java中MidiSystem的Soundbank時發生NullPointerException

[英]NullPointerException while passing an InputStream to Soundbank of MidiSystem in Java

我正在嘗試通過讀取文件並將其傳遞到getSoundbank函數來創建音庫MidiSystem. 為此,我必須將文件讀取為InputStream ,我嘗試了以下技術,但失敗了。

第一種技術-使用FileInputStream讀取文件,並將其傳遞給上述函數,如下所示:

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

它失敗,並帶有mark/reset exception

然后,我嘗試了該線程中提到的技術: java.io.IOException:不支持標記/重置Java音頻輸入流/緩沖的輸入流

我遇到java.io.IOException: Resetting to invalid mark使用BufferedInputStream技術java.io.IOException: Resetting to invalid mark異常,使用URL技術java.io.IOException: Resetting to invalid mark java.lang.NullPointerException異常。 是否有其他技術可以克服上述例外情況?

似乎Java版本7不再支持較舊的格式,並實施了新的軟件合成器Gervill( http://www.oracle.com/technetwork/java/javase/6u30-relnotes-1394870.html ),這導致版本6和版本6之間不兼容。 7( http://www.oracle.com/technetwork/java/javase/compatibility-417013.html#incompatibilities

直到現在我一直在使用Java版本6,並嘗試使用Java版本7加載當前不受支持的格式,這可能會導致這些異常

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM