package org.kevoree.library.javase.vlc;
import org.kevoree.annotation.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import uk.co.caprica.vlcj.player.embedded.DefaultFullScreenStrategy;
import uk.co.caprica.vlcj.player.embedded.EmbeddedMediaPlayer;
import javax.swing.*;
import java.awt.*;
/**
* Created by IntelliJ IDEA.
* User: duke
* Date: 06/11/11
* Time: 21:06
*
*/
@Library(name = "JavaSE")
@ComponentType
public class MediaPlayer extends Player {
private JFrame frame;
private EmbeddedMediaPlayer mediaPlayer;
private Logger logger = LoggerFactory.getLogger(this.getClass());
@Start
public void start() throws Exception {
frame = new JFrame("Kevoree Frame");
// DefaultFullScreenStrategy full = new DefaultFullScreenStrategy(frame);
mediaPlayer = MediaPlayerHelper.getInstance().getFactory(this.getName()).newEmbeddedMediaPlayer(new DefaultFullScreenStrategy(frame));
Canvas c = new Canvas();
c.setBackground(Color.black);
JPanel p = new JPanel();
p.setLayout(new BorderLayout());
p.add(c, BorderLayout.CENTER);
frame.setContentPane(p);
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
frame.setSize(800, 600);
frame.setVisible(true);
mediaPlayer.setVideoSurface(MediaPlayerHelper.getInstance().getFactory(this.getName()).newVideoSurface(c));
//mediaPlayer.setFullScreen(true);
}
@Stop
public void stop() throws Exception {
mediaPlayer.stop();
frame.dispose();
MediaPlayerHelper.getInstance().releaseKey(this.getName());
}
@Update
public void update() throws Exception {
}
}