文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发其他语言QuickTime for Java API为iPod写软件
精品推荐
特别推荐
·控制面板知多少
·给你十条学习Ruby语言的理由
·分页管理机制
·Perl 语言的重要价值体现
·经验技巧:分享两条Delphi开发经验
·Java编程思想:面向对象的逻辑思维方法
·Samba系统简介
热点TOP10
·AIX 5L 学习大纲/简易教程(2)(未经许可,请勿COPY)
·DENX U-Boot及Linux使用手册
·EZ-USB 68013A开发指南
·图象处理中的边缘检测------canny算子
·Visual C++ ADO数据库编程入门
·利用 wordXP 实现自动排班
·UDT协议-基于UDP的可靠数据传输协议
·XPCOM--LINUX下的组件开发技术
·MyEclipse JSF 快速入门中文版(上)
·samba和openldap结合实战
·AIX 5L 学习大纲/简易教程(1)(未经许可,请勿COPY)
·Microsoft Windows XP Embedded 开发工具概述
·eMbedded Visual C++开发入门
·在VC6中创建wxWidgets项目[附图]
·数值计算程序大放送-线性代数方程组
·列表视图控件
·visual studio 2005 简体中文团队开发版 SQL server 2005简体中文版下载
·Visual Studio 2005:在 Visual C++ 中开发自定义的绘图控件
·汇编语言工具下载
·多文档界面(MDI)

QuickTime for Java API为iPod写软件

日期:2007年5月3日 作者: 查看:[大字体 中字体 小字体]


更多的请看:http://www.qqread.com/windows/2003/index.html

关于代码

  几乎每个 QuickTime for Java 应用程序都一样,所有的实际动作都发生在 QTSession.open() 和 QTSession.close() 语句之间。在调用 QTSession.open() 时,QuickTime 引擎可以初始化其自身。如果没有先调用 QTSession.open(),就想调用其他 QuickTime for Java 类,那么您会获得抛出到命令行中的非常难看的堆栈跟踪。

  QuickTime for Java API 中使用的核心对象之一是 quicktime.std.movies.Movie 对象。如果初次使用 QuickTime for Java,那么需要认识到,在 quicktime.std.movies.Movie 对象和硬盘上可能存在的 file_name.mov 之间有一点细微的区别。重要的是,可以创建 quicktime.std.movies.Movie 对象,并且无需要在硬盘上创建 file_name.mov 文件该对象就可以存在。

  quicktime.std.movies.Movie 对象可由多个轨道 组成,这些轨道是独立的媒体源(例如音频、视频、静态图片或文本)。在 CaptionAdder.java() 中,在创建了 quicktime.std.movies.Track 对象后,我在 textMedia.beginEdits() 语句和 textMedia.endEdits() 语句之间添加了文本标题。在这个示例中,我用 quicktime.std.movies.TimeInfo 对象设置标题在视频中显示的时间长度,以及什么时候开始显示标题。我想让文本标题在视频的前半段显示,所以我把 TimeInfo 设为从 0 开始,并通过 movie 的持续时间将它设置为运行到一半时结束。

  使用 CaptionAdder.java

  那么该如何使用 CaptionAdder.java 呢?首先,调用 CaptionAdder.java 非常简单直接。在向类路径中添加了 QuickTime for Java 库之后,需要做的就是提供想要编辑的文件的名称。例如,假设想向 图 2 所示的房地产清单视频添加标题。

QuickTime for Java API为iPod写软件(图二)
图 2. 没有标题的房地产视频示例截图

  要向这个文件添加标题,只需如 清单 2 中所示那样运行 CaptionAdder.java 程序即可。

  清单 2. 使用 CaptionAdder.java

java CaptionAdder listing22345.mov

  结果显示在 图 3 中。

QuickTime for Java API为iPod写软件(图三)
图 3. 添加了标题的房地产视频示例

  转换成 iPod 格式

  在有了使用 QuickTime for Java API 创建和操作视频内容的基础之后,下一个主要障碍就是把内容转换成与 iPod 兼容的格式。不论使用摄像机、从活动视频源录制,还是创建动画序列,视频内容都不会立即与 iPod 视频播放器兼容。iPod 对于它播放的媒体的类型有点挑剔。表 1 显示了 iPod 环境支持的视频格式和设置。

  表 1. iPod 兼容内容的视频设置

视频格式 数据率 尺寸 帧率 H.264 视频 最高 768 Kbps 320 x 240 像素 30 fps MPEG-4 视频 最高 2.5 Mbps 480 x 480 像素 30 fps
  让问题更复杂的是,对于视频中的音轨,它只支持高级音频编码 (AAC),所以如果想在 iPod 上播放视频,不仅仅要转换传统视频内容。幸运的是,可以求助于 MovieConverter.java,它是转换传统视频内容到 iPod 兼容格式的一个方便工具。MovieConverter.java 如 清单 3 中所示。

  清单 3. MovieConverter.java

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

import java.io.IOException;

import quicktime.*;
import quicktime.io.*;
import quicktime.qd.*;
import quicktime.std.*;
import quicktime.std.clocks.*;
import quicktime.std.StdQTConstants;
import quicktime.std.image.*;
import quicktime.std.movies.*;
import quicktime.std.movies.media.*;
import quicktime.std.qtcomponents.*;
import quicktime.util.*;

import quicktime.app.view.*;

public class MovieConverter extends JFrame implements Errors, ActionListener{

 QTComponent component = null;
 JPanel jpanel = null;
 Button selectButton = null;

 public static void main (String args[]) {
  try{
   new MovieConverter();
  } catch(Exception e){
   System.out.println(e);
  }
 }

 public MovieConverter(){
  super("Movie Converter");
  try {
   QTSession.open();
  } catch (Exception e) {
   e.printStackTrace();
   QTSession.close();
  }

  jpanel = new JPanel();

  this.setContentPane(jpanel);
  selectButton = new Button ("Select a File to Convert");
  selectButton.addActionListener(this);

  jpanel.add (selectButton);

  addWindowListener(new WindowAdapter () {
   public void windowClosing (WindowEvent e) {
    QTSession.close();
    dispose();
   }

   public void windowClosed (WindowEvent e) {
    System.exit(0);
   }
  });

  this.pack();
  this.setVisible(true);
 }
 public void actionPerformed (ActionEvent event) {
  exportMovie();
 }

 void displayMovie (Movie m) throws QTException {
  component = QTFactory.makeQTComponent (new MovieController (m));
  jpanel.add ((Component)component);
  jpanel.remove(selectButton);
  pack();
 }

 void exportMovie () {
  try{
   FileDialog fileDialog = new FileDialog (this, "Choose Movie to Export...", FileDialog.LOAD);
   fileDialog.show();
   if (fileDialog.getFile() == null)
    return;
   QTFile movieFile = new QTFile (fileDialog.getDirectory() + fileDialog.getFile());

   Movie movie = Movie.fromFile (OpenMovieFile.asRead(movieFile));

   if (component != null) {
    component.setMovieController(new MovieController(movie));
   } else {
    displayMovie (movie);
  }

  new Thread (new Exporter(movie)).start();
 } catch (QTException err) {
  err.printStackTrace();
 }
}

}


上一页 [1] [2] [3] 下一页 




上一篇:JDBC集群中间件Sequoia 2.5 发布

下一篇:Ruby程序设计语言快速入门之变量与赋值

QuickTime for Java API为iPod写软件 相关文章:
·vista分区软件
·EasyRecovery 604硬盘数据恢复软件技巧
·不用任何软件(木马程序)盗取账号密码
·大智慧股票软件Level-2入门手册
·Java图形用户界面设计
·软件狗[Dongles]的加密与解密技术
·用客户端软件收发Hotmail Yahoo邮件
·68款破解小软件
·javascript+xml实现二级下拉菜单,不会被任何标签或元素遮住
·javascript 常用代码大全
QuickTime for Java API为iPod写软件 相关软件:
·手机SIM卡备份一卡多号(手机魔卡)万能读写软件V9.0
·诺顿杀毒软件+诺顿防火墙免费破解版 免注册永远自动升级
·诺顿杀毒软件+诺顿防火墙免费破解版 免注册
·瑞星杀毒软件2008下载版(完全免费)V20.36.32
·PRO/E野火2.0 绿色版 RAR 珍贵的软件
·大众翻译软件(时代翻译通)V7.0
·整形模拟软件_非常face V1.0
·江民杀毒软件 KV2008 正式版(30天免费版)
·统计软件SAS教程
·瀚为进销存软件B/S网络版

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:viphot