文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | 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日 作者: 查看:[大字体 中字体 小字体]



  最新一代的 iPod 媒体播放器在移动视频编程领域开辟了一个新机会 —— 但是如何入门呢?本文介绍将 QuickTime for Java库,以编程方式为 iPod 媒体播放器创建视频内容时需要这个库。

  Apple iPod 是当今市场上的几个媒体播放器之一,它能播放多种媒体,其中包括音频、视频和图片。在美国和其他地方,iPod 引领着便携媒体播放器市场,从诞生至今,已经售出 3千万套 iPod ,这占据了整个媒体播放器市场 78% 以上的份额。虽然 iPod 的成功显然是受 MP3 流行的推动,而且手机用户拍摄和交易数字图片到现在也有了一段时间,但移动视频的市场仍然在形成中。早期进入移动视频市场的潜在收益是显而易见的,但对许多开发人员来说,他们要解决的问题是最好地应用这项新技术的方式和地方。   在这篇文章中,我首先将推荐一些移动视频的实际(可能也是非常流行的)应用,然后演示两个程序,让您开始使用 QuickTime for Java API 为 iPod 创建视频内容。这两个程序可以让您很容易地给现有的视频文件添加标题,并将传统的视频文件转换成与 iPod 兼容的格式。在文章末尾,将留给您一些示例代码,可以用它们学习使用 QuickTime for Java API 进行视频操作的更多内容。

  为什么要用移动视频

QuickTime for Java API为iPod写软件(图一)
图 1. iPod 视频播放器

  便携媒体播放器在特定人群(即年龄在 18 到 38 岁之间,具有一定的可支配收入的消费者)中特别流行。因为移动视频对于便携媒体播放器来是相对较新的东西,所以对大多数开发者来说,遇到的第一个问题就是: 为什么要创建移动视频内容?除了移动媒体最明显的娱乐要求之外,还有许多实际的使用情况:移动媒体既可以促进销售,也可以给便携媒体播放器和内容带来一类新用户。请想想以下这些情况:

  房地产经纪人可以创建一段视频,将视频做成房产可用属性和用录制好的配音说明的一些功能的虚拟漫步。然后,潜在的住房买主可能会用便携媒体播放器查看中意的属性。在没有时间寻找所有符合自己需求的房产的住宅搜索客户中,这种极为节约时间的方式会变得非常流行。

  汽车厂商和经销商可以使用移动视频发布所销售的最新车型的视频目录。潜在客户就会更熟悉中意的车型的特性和好处,而不必亲自去经销商那里。

  学院和大学的官员可以用移动视频格式向学生提供提供演讲,辅助学生学习。

  生产商可以为汽车、书架、玩具(等等)提供移动视频格式的安装说明。

  显然,这只是创建移动视频内容的商业驱动力的几个示例。这些示例中的共同之处就是向新市场介绍便携媒体的潜力。现在,我们来看看允许用编程方式创建和编辑视频文件的 Java API。

  QuickTime for Java API

  对于 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 是一个简单的程序,它接受视频文件,然后向视频添加一个文本字符串作为标题。

  清单 1. CaptionAdder.java

import quicktime.*;
import quicktime.io.*;
import quicktime.std.image.*;
import quicktime.std.movies.media.*;
import quicktime.std.movies.*;
import quicktime.std.*;
import quicktime.qd.*;
import quicktime.util.QTPointer;
import java.io.*;

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();

   System.out.println ("QuickTime version: " + QTSession.getMajorVersion() + "." +
QTSession.getMinorVersion());

   QTFile qtfile = new QTFile(new File(args[0]));
   DataRef urlMovie = new DataRef ("file://" + qtfile.getPath());
   Movie movie = Movie.fromDataRef (urlMovie,StdQTConstants.newMovieActive);

   float textTrackHeight = 32;

   QDRect movieBounds = movie.getNaturalBoundsRect();
   float movieWidth = movieBounds.getWidthF();
   float movieHeight = movieBounds.getHeightF();

   Track textTrack = movie.addTrack(movieWidth, textTrackHeight, 0);
 
   Matrix textTrackMatrix = textTrack.getMatrix();
   textTrackMatrix.translate (0, movieHeight - textTrackHeight);
   textTrack.setMatrix (textTrackMatrix);

   textTrack.setEnabled (true);

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

   QDRect textBounds = new QDRect (movieWidth, movieHeight);

   textMedia.beginEdits();

   TimeInfo sampleTime = new TimeInfo (0, movie.getDuration()/2);

   String text = new String ("1234 Main St. - Listing price: $164,000");
   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"),
    16,
    0,
    QDColor.white,
    QDColor.black,
    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 (qtfile);

   movie.updateResource (outStream, StdQTConstants.movieInDataForkResID, qtfile.getName());
  } catch (Exception e) {
   e.printStackTrace();
   QTSession.close();
   System.exit(0);
  }

  QTSession.close();
  // end else
 }
 System.out.println ("complete.");
 //end method
}
}


[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.vipcn.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.com All Rights Reserved. 鄂ICP备05000083号Powered by:vipcn