//Implementation by Tom Maremaa and William Stewart from Quicktime for Java: A 
//Developer Reference.  Morgan Kaufman / Apple Computer, Inc, 1999.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;

import quicktime.*;
import quicktime.io.*;
import quicktime.std.movies.*;
import quicktime.app.display.QTCanvas;
import quicktime.app.players.QTPlayer;

public class JavaMoviePlayer extends JFrame 
{
    
    public static void main(String args[])
    {
        try
        {
            QTSession.open();
            JavaMoviePlayer pm = new JavaMoviePlayer("QT in Java");
            pm.pack();
            pm.show();
            pm.toFront();
        }
        catch (QTException e)
        {
            System.out.println(e);
        }
    }
    
    public JavaMoviePlayer (String path) throws QTException 
    {
        super (path);
     
	  QTSession.open();

        QTFile qtf = new QTFile(path);
        
        OpenMovieFile movieFile = OpenMovieFile.asRead(qtf);
        Movie m = Movie.fromFile(movieFile);
        
        MovieController mc = new MovieController(m);
        mc.setKeysEnabled(true);
        
        QTCanvas myQTCanvas = new QTCanvas();
        getContentPane().add(myQTCanvas);
        
        QTPlayer myQTPlayer = new QTPlayer(mc);
        
        myQTCanvas.setClient(myQTPlayer, true);
	    
	  pack();
	  show();   
    	  toFront();

    }
}