資源描述:
《《多媒體技術(shù)》ppt課件》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第13章多媒體技術(shù)學(xué)習(xí)導(dǎo)讀Java語(yǔ)言不僅支持圖形和文本媒體,同樣支持圖像、聲音、動(dòng)畫(huà)及視頻等其他多媒體,從而大大拓寬了其應(yīng)用領(lǐng)域,使基于Java的應(yīng)用更加豐富多彩,更具魅力。本章講解Java的多媒體處理方法課程結(jié)構(gòu)圖像處理聲音文件的播放用Java實(shí)現(xiàn)動(dòng)畫(huà)利用JMF來(lái)播放視頻13.1圖像處理1圖像文件的裝載Java目前只支持兩種圖像文件格式GIF和JPEGJava特別提供了java.awt.Image類(lèi)來(lái)處理圖像Java采用URL(UniversalResourceLocation,統(tǒng)一資源定位器)來(lái)定位圖像文件的網(wǎng)絡(luò)位置1).URL類(lèi)一個(gè)URL信息可分為兩種形式:一種稱為絕對(duì)UR
2、L形式,另一種稱為相對(duì)URL形式基準(zhǔn)URL:http://www.xyz.com/java/imgsample/相對(duì)URL:images/m1.gif13.1圖像處理2).getImage()方法getImage()方法的調(diào)用格式有以下兩種ImagegetImage(URLurl)ImagegetImage(URLurl,Stringname)Applet類(lèi)中提供了兩個(gè)方法來(lái)幫助我們方便地獲取基準(zhǔn)URL對(duì)象,它們的調(diào)用格式如下:URLgetDocumentBase()返回的基準(zhǔn)URL對(duì)象代表了包含該applet的HTML文件所處的目錄URLgetCodeBase()返回的基準(zhǔn)URL
3、對(duì)象代表了該applet文件(.class文件)所處的目錄13.1圖像處理2圖像文件的顯示調(diào)用Graphics類(lèi)的drawImage()方法,它能完成將Image對(duì)象中的圖像顯示在屏幕的特定位置1)booleandrawImage(Imageimg,intx,inty,ImageObserverobserver)其中img參數(shù)就是要顯示的Image對(duì)象,x和y參數(shù)是該圖像左上角的坐標(biāo)值,observer參數(shù)則是一個(gè)ImageObserver接口(interface)2)booleandrawImage(Imageimg,intx,inty,intwidth,intheight,Im
4、ageObserverobserver)這種格式比第一種格式多了兩個(gè)參數(shù)width和height,即表示圖像顯示的寬度和高度13.1圖像處理Image類(lèi)中的兩個(gè)方法就可以分別得到原圖的寬度和高度:intgetWidth(ImageObserverobserver)intgetHeight(ImageObserverobserver)見(jiàn)例13。113.2聲音文件的播放Java目前支持的聲音文件格式有:AU格式(.AU文件),也稱為u-law格式,AIFF、WAV以及三種MIDI文件格式(MIDI文件類(lèi)型0、MIDI文件類(lèi)型1,以及RMF)Java提供兩種播放聲音的機(jī)制:Applet類(lèi)
5、的play()方法及AudioClip的play()方法13.2聲音文件的播放1Applet類(lèi)的play()方法格式如下:voidplay(URLurl)voidplay(URLurl,Stringname)13.2聲音文件的播放2AudioClip的play()方法AudioClip類(lèi),它能更有效地管理聲音的播放操作因?yàn)樗欢x在java.applet程序包中,所以需要在程序頭部加上:importjava.applet.AudioClip;格式如下:AudioClipgetAudioClip(URLurl)AudioClipgetAudioClip(URLurl,Stringna
6、me)13.2聲音文件的播放主要方法loop()循環(huán)播放start()開(kāi)始播放stop()停止播放見(jiàn)例13。213.3用Java實(shí)現(xiàn)動(dòng)畫(huà)1線程的使用通過(guò)多線程實(shí)現(xiàn)循環(huán),在屏幕上出現(xiàn)的一系列幀來(lái)造成運(yùn)動(dòng)的效果,從而達(dá)到顯示動(dòng)畫(huà)的目的2動(dòng)畫(huà)程序的設(shè)計(jì)步驟第一步,定義Applet對(duì)象的同時(shí)定義Runnable接口,這樣就可以繼承線程的run()方法第二步,定義Thread對(duì)象,即動(dòng)畫(huà)線程第三步,在Applet對(duì)象的start()方法中創(chuàng)建一個(gè)動(dòng)畫(huà)線程并啟動(dòng)它,動(dòng)畫(huà)線程自動(dòng)啟動(dòng)run()方法第四步,在Applet對(duì)象的stop()方法中,可以終止動(dòng)畫(huà)線程的執(zhí)行。第五步,run()方法包含控
7、制動(dòng)畫(huà)的循環(huán),循環(huán)一次就調(diào)用一次repaint()方法,繪制一幅圖像第六步,改寫(xiě)paint()方法,即此方法中需根據(jù)某些變量來(lái)進(jìn)行繪圖。見(jiàn)例13。313.3用Java實(shí)現(xiàn)動(dòng)畫(huà)3動(dòng)畫(huà)的閃爍可用兩種方法來(lái)減少閃爍,一種是重載update()方法,一種是使用雙緩沖技術(shù)13.4利用JMF來(lái)播放視頻1什么是JMF(JavaMediaFrame,簡(jiǎn)稱JMF)Java媒體框架是一組用來(lái)播放、處理和捕捉媒體信息的APIJMF運(yùn)用RTP實(shí)時(shí)傳輸協(xié)議JMF提供了一個(gè)三層的體系結(jié)構(gòu):第一層