質問

呼ばれるプログラムを実行したいです VLCjava たとえば、ユーザーがクリックした場合、実行中にそれを制御します ❚❚ また ►► ボタン、私は特定の適切なアクションを行います。

走る VLC このコードで:

try
{
    Runtime rt = Runtime.getRuntime();
    Process p = rt.exec(VLCProgramAddFile + " udp://@:" + listeningPort);

    OutputStream out = p.getOutputStream();
    InputStream in = p.getInputStream();

    p.waitFor();
    System.out.println("End of VLC");
}
catch (Exception e)
{
    System.out.println("error in running VLC");
}

Java Bindingsについて聞いたことがありますが、この仕事でどのように機能するのかわかりません。

役に立ちましたか?

解決

あなたはおそらくVLCJを探しています、これはVLCのJavaラッパーです。これにより、VLCメディアプレーヤーをJavaアプリケーションに埋め込み、すべての個人的なコントロールを追加できます。

(ユーザーアプリケーションではこれは問題ありませんが、VLCJライブラリは完璧ではないので、いくつかの問題が発生する可能性があります。)

編集:私のプロジェクトでは、メモリリークと長いランニングプログラムの問題(数時間の複数のインスタンス)を見てきました。特に、複数のインスタンスは、一部のコンパイルオプション(デフォルトで使用されている)と組み合わせて機能しません。

他のヒント

VLCJ あなたがイエスを追いかけているものです - それは本質的にlibvlcの周りのストレートジャワラッパーです。プロセスで使用する場合(特に複数のプレーヤーをプロセスで使用する場合)、VMのクラッシュが表示される場合があります。これはVLCJのせいではなく、下に使用するネイティブライブラリには、これらの問題を公開する微妙なスレッドバグがあります。

複数のインスタンスで確実に機能することができますが、そのためにはプロセスを使用する必要があります。見る ここ そうすることの最初の試みのために。セットアップするのはちょっとした作業ですが、一度行くと、物事は非常にうまく機能しているようです。

最終的に達成したいことに応じて GStreamer Java Bindings 再生について非常に細かい粒度のコントロールを提供する価値があります。そして、あなたはコンバージョンとすべてを行うことができます。また、あなたを始めるためのミニマルなビデオプレーヤーの例アプリケーションもあります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top