以下のコードを使用して、Xuggler でビデオを正常に再生できました。ファイルではなく、inputStream からストリーミングできるようにする必要があります。コメントアウトしたコードを使って Icontainer を作成してみました。コードをコメントアウトしたときに、入力ストリームの代わりに文字列を使用するように getTestFile メソッドを変更しました。もともと入力ストリームを正しく取得していました。
open を Icontainer で呼び出すと、無期限にブロックされます。これに正しくアプローチしているかどうかはわかりません。ファイルを使用せず、入力ストリームを使用せずに、基本的に同じことを行うにはどうすればよいですか?
ありがとう :-)
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();
}
}