对于 Java 开发人员来说,支持数字媒体的创建、修改和回放的能力最强、功能最丰富的 API 就是 QuickTime for Java API。QuickTime for Java 最初是为 Macintosh 平台创建的,但过去这几年时间里,Windows 和 Mac 用户也可以随意使用它。当然,如果曾经用 Java 语言做过一些编程,那么您可能会问:为什么不可以只使用 Java 媒体框架 (JMF) API。
最初创建 JMF 是为了给 Java V1.0.2 的开发人员提供处理各种媒体的能力。但是,它的应用并不广,它支持一些过时的媒体格式和编码方式,例如 MPEG-2、AU、HotMedia 和 Flash 2。另一方面,QuickTime for Java 支持 QuickTime 可以播放的所有媒体格式和编码方式。使用 QuickTime for Java API 可以访问更新的媒体格式,其中包括 MPEG-4、MP3 音频、H.264 和 Flash 5。实际上,下面就是 QuickTime 支持的视频编码方式的完整列表:
动画 Apple BMP Apple Pixlet Apple Video Cinepak Component video DV and DVC Pro NTSC DV PAL DVC Pro PAL Graphics H.261 H.263 H.264 JPEG 2000 Microsoft? OLE Microsoft Video 1 Motion JPEG A Motion JPEG B MPEG-4 (Part 2) Photo JPEG Planar RGB PNG Sorenson Video 2 Sorenson Video 3 TGA TIFF
向视频添加标题
如果是初次接触 QuickTime for Java API 或者是初次处理数字媒体,那么向视频片断添加标题是一个好的起点。清单 1 显示的 CaptionAdder.java 是一个简单的程序,它接受视频文件,然后向视频添加一个文本字符串作为标题。
public class CaptionAdder { public static void main (String args[]) { if (args.length != 1){ System.out.println("Usage: java CaptionAdder [input_filename]"); } else { try { QTSession.open();
QTFile qtfile = new QTFile(new File(args[0])); DataRef urlMovie = new DataRef ("file://" + qtfile.getPath()); Movie movie = Movie.fromDataRef (urlMovie,StdQTConstants.newMovieActive);