📄 让java活起来jmf媒体框架—java大本营-java教程 java游戏 java电子书 j2me j2ee java源代码.htm
字号:
href="http://www.javadby.com/html/daimashili/index.html"><FONT
color=#0000ff>JAVA代码</FONT></A> </TD>
<TD align=middle>┊ </TD>
<TD><A
href="http://www.javadby.com/Javarenzhengkaoshi/index.html"><FONT
color=#0000ff>认证考试</FONT></A> </TD>
<TD align=middle>┊ </TD>
<TD><A
href="http://www.javadby.com/shiyongjiqiao/index.html"><FONT
color=#0000ff>实用技巧</FONT></A>
</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR>
<TR>
<TD></TD></TR></TBODY></TABLE>
<TABLE class=tbspan cellSpacing=0 cellPadding=0 width=760
align=center border=0>
<TBODY>
<TR>
<TD width=10
background="让JAVA活起来JMF媒体框架—java大本营-java教程 java游戏 java电子书 j2me j2ee java源代码.files/31bg2.gif"
height=32><IMG height=32
src="让JAVA活起来JMF媒体框架—java大本营-java教程 java游戏 java电子书 j2me j2ee java源代码.files/31c3.gif"
width=4></TD>
<TD width=378
background="让JAVA活起来JMF媒体框架—java大本营-java教程 java游戏 java电子书 j2me j2ee java源代码.files/31bg2.gif">
<DIV class=hotworddiv>热门关键字: <A
href="http://www.javadby.com/plus/search.php?keyword=JAVA&searchtype=titlekeyword"
target=_self><U>JAVA</U></A> </DIV></TD>
<TD align=middle width=362
background="让JAVA活起来JMF媒体框架—java大本营-java教程 java游戏 java电子书 j2me j2ee java源代码.files/31bg2.gif">
<FORM name=formsearch
action=http://www.javadby.com/plus/search.php><INPUT
type=hidden value=0 name=kwtype>
<TABLE cellSpacing=2 cellPadding=0 border=0>
<TBODY>
<TR>
<TD><INPUT class=kw1 id=keyword size=10
name=keyword></TD>
<TD align=middle><SELECT class=op1 id=searchtype
name=select> <OPTION value=titlekeyword
selected>智能</OPTION> <OPTION
value=title>标题</OPTION></SELECT> </TD>
<TD align=middle><INPUT type=submit value=搜索 name=submit></TD></TR></TBODY></TABLE></FORM></TD>
<TD align=right width=10
background="让JAVA活起来JMF媒体框架—java大本营-java教程 java游戏 java电子书 j2me j2ee java源代码.files/31bg2.gif"><IMG
height=32
src="让JAVA活起来JMF媒体框架—java大本营-java教程 java游戏 java电子书 j2me j2ee java源代码.files/31c4.gif"
width=4></TD></TR></TBODY></TABLE>
<TABLE height=10 cellSpacing=0 cellPadding=0 width=760
align=center border=0>
<TBODY>
<TR>
<TD></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=1 cellPadding=0 width=760 align=center
bgColor=#9dd8ff border=0>
<TBODY>
<TR>
<TD background="" bgColor=#ffffff height=30><SPAN
style="PADDING-LEFT: 5px; PADDING-TOP: 4px">>>当前位置:<A
href="http://www.javadby.com/">Java大本营</A>><A
href="http://www.javadby.com/shiyongjiqiao/index.html">实用技巧</A>>文章内容
</SPAN></TD></TR>
<TR>
<TD bgColor=#ffffff height=30>
<TABLE cellSpacing=0 cellPadding=0 width="100%"
bgColor=#66c1ff border=0>
<TBODY>
<TR>
<TD style="FONT-SIZE: 12pt; PADDING-TOP: 10px"
align=middle width="99%" bgColor=#ffffff
height=40><B><FONT
color=black>让JAVA活起来:JMF媒体框架</FONT> </B><BR></TD></TR>
<TR>
<TD style="BORDER-BOTTOM: #cccccc 1px solid"
align=middle bgColor=#ffffff height=30>作者:
发布时间:2007-11-15 22:55:30 </TD></TR>
<TR>
<TD vAlign=top bgColor=#ffffff>
<TABLE height=10 cellSpacing=0 cellPadding=0
width=200 align=center border=0>
<TBODY>
<TR>
<TD>
<SCRIPT src="" type=text/javascript></SCRIPT>
</TD></TR></TBODY></TABLE>
<TABLE style="MARGIN-TOP: 8px" cellSpacing=0
cellPadding=0 width="98%" align=center border=0>
<TBODY>
<TR>
<TD height=52>
<DIV class=javajc>
<SCRIPT type=text/javascript><!--
google_ad_client = "pub-8980998233372889";
//336x280, 创建于 07-12-5
google_ad_slot = "1539011713";
google_ad_width = 336;
google_ad_height = 280;
//--></SCRIPT>
<SCRIPT
src="让JAVA活起来JMF媒体框架—java大本营-java教程 java游戏 java电子书 j2me j2ee java源代码.files/show_ads.js"
type=text/javascript>
</SCRIPT>
<SCRIPT type=text/javascript><!--
google_ad_client = "pub-8980998233372889";
//336x280, 创建于 07-12-12
google_ad_slot = "2090859480";
google_ad_width = 336;
google_ad_height = 280;
//--></SCRIPT>
<SCRIPT
src="让JAVA活起来JMF媒体框架—java大本营-java教程 java游戏 java电子书 j2me j2ee java源代码.files/show_ads.js"
type=text/javascript>
</SCRIPT>
</DIV>
<P>【java大本营】<A
href="http://www.javadby.com/">http://www.javadby.com/</A>
,java实力站点,更新速度快,内容全面,鼓励原创,吸引了相当数量的IT学习者。
欢迎加入java交流群41970496,共同进步。</P>
<P>Java媒体框架(JMF)使你能够编写出功能强大的多媒体程序,却不用关心底层复杂的实现细节。JMF
API的使用相对比较简单,但是能够满足几乎所有多媒体编程的需求。在这篇文章中,我将向你介绍如何用很少的代码就编写出多媒体程序。
<BR> <BR> Java多媒体框架(JMF)中包含了许多用于处理多媒体的API。它是一个相当复杂的系统,完全了解这个系统可能需要花上几周的时间,但是这篇文章将主要介绍JMF的几个核心接口和类,然后通过一个简单的例子向你展示如何利用该接口进行编程。
<BR> <BR> JMF目前的最新版本是2.1,Sun通过它向Java中引入处理多媒体的能力。下面是JMF所支持的功能的一个概述:
<BR> <BR> ● 可以在Java
Applet和应用程序中播放各种媒体文件,例如AU、AVI、MIDI、MPEG、QuickTime和WAV等文件。
<BR> <BR> ● 可以播放从互联网上下载的媒体流。 <BR> <BR> ●
可以利用麦克风和摄像机一类的设备截取音频和视频,并保存成多媒体文件。 <BR> <BR> ●
处理多媒体文件,转换文件格式。 <BR> <BR> ● 向互联网上传音频和视频数据流。
<BR> <BR> ● 在互联网上广播音频和视频数据。
<BR> JMF的结构<BR> 为了更好地说明JMF的结构,让我们用立体声音响做一个简单的比喻。当你CD机播放CD唱片的时候,CD唱片向系统提供音乐信号。这些数据是在录音棚中用麦克风和其他类似的设备记录下来的。CD播放机将音乐信号传送到系统的音箱上。在这个例子中,麦克风就是一个音频截取设备,CD唱片是数据源,而音箱是输出设备。
<BR> <BR> JMF的结构和立体声音响系统非常相似,在后面的文章中,你会遇到下面的这些术语:
<BR> ● 数据源(Data source) <BR> <BR> ●
截取设备(Capture Device,包括视频和音频截取设备) <BR> <BR> ●
播放器(Player) <BR> <BR> ● 处理器(Processor)
<BR> <BR> ● 数据格式(Format) <BR> <BR> ●
管理器(Manager) <BR> <BR> 下面让我们来看一看这些术语到底代表什么意思。
<BR> <BR> 1.数据源
<BR> <BR> 就像CD中保存了歌曲一样,数据源中包含了媒体数据流。在JMF中,DataSource对象就是数据源,它可以是一个多媒体文件,也可以是从互联网上下载的数据流。对于DataSource对象,一旦你确定了它的位置和类型,对象中就包含了多媒体的位置信息和能够播放该多媒体的软件信息。当创建了DataSource对象后,可以将它送入Player对象中,而Player对象不需要关心DataSource中的多媒体是如何获得的,以及格式是什么。
<BR> <BR> 在某些情况下,你需要将多个数据源合并成一个数据源。例如当你在制作一段录像时,你需要将音频数据源和视频数据源合并在一起。JMF支持数据源合并,在后面的例子中我们将提到这一点。
<BR> <BR> 2.截取设备
<BR> <BR> 截取设备指的是可以截取到音频或视频数据的硬件,如麦克风、摄像机等。截取到的数据可以被送入Player对象中进行处理。
<BR> <BR> 3.播放器
<BR> <BR> 在JMF中对应播放器的接口是Player。Player对象将音频/视频数据流作为输入,然后将数据流输出到音箱或屏幕上,就像CD播放机读取CD唱片中的歌曲,然后将信号送到音箱上一样。Player对象有多种状态,JMF中定义了JMF的六种状态,在正常情况下Player对象需要经历每个状态,然后才能播放多媒体。下面是对这些状态的说明。
<BR> <BR> ●
Unrealized:在这种状态下,Player对象已经被实例化,但是并不知道它需要播放的多媒体的任何信息。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -