0
VLCJを使用してJPanelにMediaPlayerを追加しようとしています。コードを実行するとフレームが開きますが、表示されるビデオやサウンドはありません。コンパイル時にエラーが発生することはありません。 isPlayableメソッドとisPlayingメソッドの出力を調べました。ビデオは再生できません。しかし、私は可能なすべてのビデオフォーマットを試しました。VLCJを使用してMediaPlayerを作成するときにビデオが再生できず、黒い画面になる
import java.io.*;
import java.net.*;
import javax.media.CannotRealizeException;
import javax.media.Manager;
import javax.media.NoPlayerException;
import javax.media.Player;
import com.sun.jna.Native;
import com.sun.jna.NativeLibrary;
import uk.co.caprica.vlcj.binding.LibVlc;
import uk.co.caprica.vlcj.player.embedded.EmbeddedMediaPlayer;
import uk.co.caprica.vlcj.runtime.RuntimeUtil;
import uk.co.caprica.vlcj.player.MediaPlayerFactory;
import java.awt.*;
import javax.swing.*;
import uk.co.caprica.vlcj.player.embedded.videosurface.CanvasVideoSurface;
public class VideoUpload extends JPanel
{
static String VLCLIBPATH = "C:\\Program Files\\VideoLAN\\VLC";
private MediaPlayerFactory mediaPlayerFactory;
private EmbeddedMediaPlayer mediaPlayer;
private Canvas c;
private JPanel p;
private JFrame frame;
static String url="C:/Users/M.C.Ş/Pictures/video/uwe.3gp";
public static void main(String[] args) {
NativeLibrary.addSearchPath(RuntimeUtil.getLibVlcLibraryName(), VLCLIBPATH);
Native.loadLibrary(RuntimeUtil.getLibVlcLibraryName(), LibVlc.class);
JFrame frame = new JFrame();
VideoUpload video = new VideoUpload(url);
frame.add(video);
frame.setSize(1300,750);
frame.setVisible(true);
video.play();
}
public VideoUpload(String url) {
url = this.url;
c = new Canvas();
c.setSize(500,500);
c.setBackground(Color.black);
setLayout(new BorderLayout());
add(c, BorderLayout.CENTER);
c.setVisible(true);
setVisible(true);
mediaPlayerFactory = new MediaPlayerFactory();
mediaPlayer = mediaPlayerFactory.newEmbeddedMediaPlayer();
mediaPlayer.setVideoSurface(mediaPlayerFactory.newVideoSurface(c));
System.out.println("is playable " + mediaPlayer.isPlayable());
}
public void play()
{
mediaPlayer.playMedia(url);
System.out.println("is playing " + mediaPlayer.isPlaying());
}
}