Sun 欲以 Java 媒体组件增强对视频支持

  • Geoffrey Wiseman
  • 宋玮

2007 年 6 月 20 日

话题:Java语言 & 开发

Java 对媒体——尤其是视频的支持不足,对大多数开发者来说,并不是什么秘密。对有些开发者来说这是个严重的问题,特别是当有些人选择 Flash、Flex、Silverlight、Adobe Apollo/AIR 及其它技术来构建新的 RIA(Rich Internet Applications)应用时。所有这些平台将媒体和视频视为首要功能,这几乎是其技术的基础。

最近,有人 认为Java 需要修正其对媒体和视频的支持,否则(很快)就会失去真正参与到桌面和 RIA 应用领域的最后机会。比如,Chris Adamson 在一个由 组成的文章中、随后的JavaOne 上的讲稿以及最近对该问题的总结中表达了这样的观点:

Flash 是桌面 Java 一个被低估的竞争对手。它有十分超凡的能力,可以创建令人炫目的 Flash 应用。以至于 Adobe 注重资以开发一个该工具的副本,而 Sun 也很难将其拱手相让(嗯,至少 IBM 可以)。为什么?主要因为它处理媒体也相当好,并且它正在帮助培育一代基于 Web 的 JavaScript/ActionScript 开发者,他们视 Java 为“上一代编程语言”,就像我们这些 10 年前使用 Java 语言的人当时看待 C++ 语言一样。

因此对那些人,以及所有对 Java 多媒体支持感到沮丧的人们来说,Chet Haase 关于Java 媒体组件(Java Media Components——JMC)的条目可能会感到一些宽慰:

“这个有望在 Java SE 7 中包含的新特性,为 Java 应用提供了基本回放的支持。最终,JMC 打算支持视频捕获及分组(streaming)能力。”

Java 媒体组件将通过引入对内嵌本地播放器的支持作为起点(如:Windows Media Player,Flash,Quicktime):

其思想是为回放控件曝露一个简单的 API(如:play,stop 及 rewind),从而允许 Java 应用程序通过任何在本地系统上可用的资源来控制特殊内容的回放。例如,Windows 系统上回放 AVI 文件会弹出 Windows Media Player。而且,本地播放器将通过 GUI 组件曝露出来,你可以将它集成到你的应用程序界面的其余部分。将来还有(取决于底层本地支持)选项,是选择曝播放器的本地组件(如 Play 按钮),还是允许开发者将其自己的组件包裹在播放器组件上。

这种本地包装功能是整个 JMC 项目里最简单的部分。其主要工作是设计简单的 API 以及针对不同平台的各种播放器的胶水代码。实际上,我们已经有了几个播放器的原型,包括 Windows Media Player 和 Flash。

第二个努力方向是创建可在所有平台上使用共同形式的 Java 播放器,这样无需担心本地安装了什么样的播放器。更多的构思和前瞻性特征还包括:允许 Java 开发者访问视频流中的像素数据,或视频捕获及分组。

在该声明的评论中,你可以看到有人对此表示欢迎,另一些人则提供了其他选择,还有一些人仍然预言这是注定的努力方向。你的观点是什么?兴奋、谨慎还是没感觉?无论怎样,你可以继续在InfoQ 中观察该故事的发展。



查看英文原文:Sun to Enhance Video Support with Java Media Components

Java语言 & 开发