Java 将输入流转换为可查找的字节通道

Java 将输入流转换为可查找的字节通道,java,openal,Java,Openal,我正在尝试将InputStream转换为seekablebytechnel,以便使用LWJGL在Open AL中进行流式处理 由于在线演示的帮助,当前代码如下: InputStream source = Thread.currentThread(). getContextClassLoader(). getResourceAsStream(resource); ReadableByteChanne

我正在尝试将
InputStream
转换为
seekablebytechnel
,以便使用LWJGL在Open AL中进行流式处理

由于在线演示的帮助,当前代码如下:

InputStream source = Thread.currentThread().
                         getContextClassLoader().
                         getResourceAsStream(resource);
ReadableByteChannel rbc = Channels.newChannel(source);
但我不确定,如果可能的话,我如何通过OGG文件进行搜索,以便在不将其转换为
seekablebytechnel

如果需要,我很乐意提供更多的代码,并提前感谢您的帮助。

查看库,您可以从字节数组构造一个
seekableinmemorybytechnel
。而且将
InputStream
转换为字节数组也很容易

InputStream inputStream; // input stream
SeekableInMemoryByteChannel channel = new SeekableInMemoryByteChannel
       (IOUtils.toByteArray(inputStream));

我认为这是不可能的。您是否知道从Java中查找OGG文件的其他方法?目前我阅读了整篇文章,这对这么大的文件来说不是一件好事。大概你必须将其作为一个文件打开,这意味着将其作为一个文件而不是资源打开,或者可能将资源转换为一个路径。一般来说,这不起作用。如果你给出具体的案例,可能会有一个可能的解决方案。