?? 讓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 + -