Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 视频完成时自动关闭VLC播放器?_Java_Video_Vlcj - Fatal编程技术网

Java 视频完成时自动关闭VLC播放器?

Java 视频完成时自动关闭VLC播放器?,java,video,vlcj,Java,Video,Vlcj,所以当我运行我的程序时,我使用VLCJ和VLCPlayer for java来播放视频。问题是,只有当用户单击“x”按钮时,视频播放器才会关闭。有没有办法在视频结束时自动关闭它 谢谢 如果有帮助,以下是我的代码: //////Main class: package switchAndAnim; import java.io.File; import javax.swing.JFileChooser; public class Start { public static void

所以当我运行我的程序时,我使用VLCJ和VLCPlayer for java来播放视频。问题是,只有当用户单击“x”按钮时,视频播放器才会关闭。有没有办法在视频结束时自动关闭它

谢谢

如果有帮助,以下是我的代码:

//////Main class:

package switchAndAnim;

import java.io.File;

import javax.swing.JFileChooser;

public class Start {

    public static void main(String[] args)
    {
        //location of vlc files, media file
        new MediaPlayer("vlc-2.0.2", "ryankilp2.wmv").run();
    }

}

///////MediaPlayer class:
package switchAndAnim;
import javax.swing.JFrame;
import com.sun.jna.NativeLibrary;
import uk.co.caprica.vlcj.component.EmbeddedMediaPlayerComponent;
import uk.co.caprica.vlcj.runtime.RuntimeUtil;

public class MediaPlayer {
private JFrame ourFrame = new JFrame();

    private EmbeddedMediaPlayerComponent ourMediaPlayer;

    private String mediaPath = "";

    MediaPlayer(String vlcPath,String mediaURL)
    {
        this.mediaPath = mediaURL;

        NativeLibrary.addSearchPath(RuntimeUtil.getLibVlcLibraryName(), vlcPath);

        ourMediaPlayer = new EmbeddedMediaPlayerComponent();

        ourFrame.setContentPane(ourMediaPlayer);

        ourFrame.setSize(640,480);

        ourFrame.setVisible(true);

        ourFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    }

    public void run()
    {
        ourMediaPlayer.getMediaPlayer().playMedia(mediaPath);
    }

}

媒体播放器有各种各样的事件可供收听,其中一个是“已完成”事件,在视频结束时触发

ourMediaPlayer = new EmbeddedMediaPlayerComponent() {
    public void finished(MediaPlayer mediaPlayer) {
        ourMediaPlayer.release(); // In practice, this line is optional
        System.exit(0);
    }
}
我使用System.exit(),因为您的问题集
exit\u ON\u CLOSE
,但同样,您也可以根据您的用例隐藏或处理框架