我能够使用下面的代码成功地用 Xuggler 播放视频。我需要能够从 inputStream 而不是文件流式传输。我尝试使用注释掉的代码来创建一个 Icontainer。当我注释掉代码时,我确实修改了 getTestFile 方法以使用字符串而不是输入流。它最初是正确获取输入流的。
当我在 Icontainer 上调用 open 时,只是无限期地阻塞。我不知道我是否正确地接近这个。我将如何做基本相同的事情但不使用文件和使用输入流?
谢谢 :-)
package com.plumber.testing;
import com.xuggle.mediatool.IMediaReader;
import com.xuggle.mediatool.IMediaViewer;
import com.xuggle.mediatool.ToolFactory;
import com.xuggle.xuggler.IContainer;
import java.io.FileNotFoundException;
import java.io.InputStream;
public class VideoTest {
public static void main(String[] args) throws FileNotFoundException {
// IContainer iContainer = IContainer.make();
// iContainer.open(getTestFile("IMG_0983.MOV"), null);
// I was originally passing the icontainer to make reader
IMediaReader mediaReader = ToolFactory.makeReader(getTestFile("IMG_0983.MOV"));
IMediaViewer mediaViewer = ToolFactory.makeViewer(true);
mediaReader.addListener(mediaViewer);
while (mediaReader.readPacket() == null) ;
}
private static String getTestFile(String fileName) {
return VideoTest.class.getClassLoader().getResource("com/plumber/testing/testfiles/" + fileName).getPath();
}
}