Package

Source Code of AddText

/*
* QuickTime for Java SDK Sample Code

   Usage subject to restrictions in SDK License Agreement
* Copyright: � 2000-2002 Apple Computer, Inc.

*/
import quicktime.*;
import quicktime.io.*;
import quicktime.app.*;
import quicktime.app.image.*;
import quicktime.std.image.*;
import quicktime.std.movies.media.*;
import quicktime.std.movies.*;
import quicktime.std.*;
import quicktime.std.music.*;
import quicktime.qd.*;
import quicktime.util.QTPointer;


import java.awt.*;

public class AddText extends Frame {

  public static void main (String args[]) {
    new AddText();
  }
 
  public AddText() {
    try {
      QTSession.open();    
     
      QTFile qtf = QTFile.standardGetFilePreview (QTFile.kStandardQTFileTypes);
      DataRef urlMovie = new DataRef ("file://" + qtf.getPath());
      Movie m = Movie.fromDataRef (urlMovie,StdQTConstants.newMovieActive);
   
      float  textTrackHeight = 64;

      QDRect  movieBounds = m.getNaturalBoundsRect();
      float  movieWidth  = movieBounds.getWidthF();
      float  movieHeight = movieBounds.getHeightF() + textTrackHeight;

      Track  textTrack = m.addTrack (movieWidth, textTrackHeight, 0 /* no volume */);
     
      Matrix  textTrackMatrix = textTrack.getMatrix();
      textTrackMatrix.translate (0, movieHeight - textTrackHeight);
      textTrack.setMatrix (textTrackMatrix);

      textTrack.setEnabled (true);

      int      movieTimeScale = m.getTimeScale();
      TextMedia  textMedia = new TextMedia (textTrack, movieTimeScale);

        QDRect    textBounds = new QDRect (movieWidth, movieHeight);

      textMedia.beginEdits();

        TimeInfo sampleTime = new TimeInfo (0, m.getDuration());
     
        String text = new String ("This is a big fat hairy test\rAnd so is this");
        TextMediaHandler textMediaHandler = textMedia.getTextHandler();
        QTPointer textPointer = new QTPointer ( text.length() + 1, true );
        textPointer.copyFromArray ( 0, text.getBytes(), 0, text.length() );
        textMediaHandler.addTextSample (
          textPointer,
          QDFont.getFNum ( "Times" ),
          10,
          0,
          QDColor.black,
          QDColor.white,
          QDConstants.teCenter,
          textBounds,
          StdQTConstants.dfClipToTextBox | StdQTConstants.dfKeyedText,
          0,0,0,
          null,
          sampleTime.duration );
     
      textMedia.endEdits();

      textTrack.insertMedia (sampleTime.time, 0, sampleTime.duration, 1 );
      OpenMovieFile outStream = OpenMovieFile.asWrite (qtf);

      m.updateResource (outStream, StdQTConstants.movieInDataForkResID, qtf.getName());
        } catch (Exception e) {
        e.printStackTrace();
            QTSession.close();
            System.exit(0);
     }
       
        QTSession.close();
        System.out.println ("Done.");
        System.exit(0);
    }
}
TOP

Related Classes of AddText

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.