版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
關(guān)于多媒體開發(fā)第一張,PPT共三十二頁,創(chuàng)作于2022年6月Android平臺(tái)多媒體音頻播放音頻錄制視頻播放第二張,PPT共三十二頁,創(chuàng)作于2022年6月音頻文件介紹有兩類主要的音頻文件格式:無損格式,例如WAV,PCM,TTA,F(xiàn)LAC,AU,APE,TAK,WavPack(WV)有損格式,例如MP3,WindowsMediaAudio(WMA),OggVorbis(OGG),AAC第三張,PPT共三十二頁,創(chuàng)作于2022年6月移動(dòng)音頻文件作為移動(dòng)設(shè)備音頻文件應(yīng)該原則上比較小,一般的格式:WAV、由于無損壓縮效果最好。MP3、有損壓縮,文件比較小,由于去除的是人類無法感應(yīng)到的聲音,效果也很好。這是目前常用格式。AAC、壓縮比例更大,比MP3文件還要小。第四張,PPT共三十二頁,創(chuàng)作于2022年6月如何選擇音頻格式?作為移動(dòng)設(shè)備音頻文件原則上應(yīng)該比較小,但是現(xiàn)在的移動(dòng)設(shè)備處理能力已經(jīng)很快了,sdcard容量的增加儲(chǔ)備大文件也不是一個(gè)問題了。播放文件的來源也是選擇文件格式的重要參考依據(jù),如果我們的音頻文件在網(wǎng)上直接播放,那么文件就要小這樣文件傳輸比較快。如果文件來源于本地如sdcard,文件大小就不是問題。第五張,PPT共三十二頁,創(chuàng)作于2022年6月音頻文件介紹有兩類主要的音頻文件格式:無損格式,例如WAV,PCM,TTA,F(xiàn)LAC,AU,APE,TAK,WavPack(WV)有損格式,例如MP3,WindowsMediaAudio(WMA),OggVorbis(OGG),AAC第六張,PPT共三十二頁,創(chuàng)作于2022年6月視頻文件介紹視頻格式可以分為適合本地播放的本地影像視頻和適合在網(wǎng)絡(luò)中播放的網(wǎng)絡(luò)流媒體影像視頻兩大類。盡管后者在播放的穩(wěn)定性和播放畫面質(zhì)量上可能沒有前者優(yōu)秀,但網(wǎng)絡(luò)流媒體影像視頻的廣泛傳播性使之正被廣泛應(yīng)用于視頻點(diǎn)播、網(wǎng)絡(luò)演示、遠(yuǎn)程教育、網(wǎng)絡(luò)視頻廣告等等互聯(lián)網(wǎng)信息服務(wù)領(lǐng)域。第七張,PPT共三十二頁,創(chuàng)作于2022年6月適合移動(dòng)設(shè)備的視頻文件3GP,3GP是一種3G流媒體的視頻編碼格式,主要是為了配合3G網(wǎng)絡(luò)的高傳輸速度而開發(fā)的,也是目前手機(jī)中最為常見的一種視頻格式。視頻MP4格式,除了支持MP3所具有的音樂播放功能外,還具備強(qiáng)大的MPEG-4視頻播放能力。第八張,PPT共三十二頁,創(chuàng)作于2022年6月Android開發(fā)音頻應(yīng)用程序音頻播放音頻錄制第九張,PPT共三十二頁,創(chuàng)作于2022年6月音頻播放Android平臺(tái)可以通過資源文件、文件系統(tǒng)和網(wǎng)絡(luò)三種方式來播放多媒體文件。無論使用哪一種播放方式,基本的流程都是類似的。第十張,PPT共三十二頁,創(chuàng)作于2022年6月通過資源文件btnStart.setOnClickListener(newView.OnClickListener(){ @Override publicvoidonClick(Viewv){ label.setText("媽媽咪呀!開始播放..."); try{ MediaPlayermp=MediaPlayer.create( MediaPlayerDemo_Audio1.this,R.raw.mamma); mp.start(); }catch(IllegalStateExceptione){ e.printStackTrace(); } }});第十一張,PPT共三十二頁,創(chuàng)作于2022年6月通過資源文件播放raw文件夾,我們需要在res下面創(chuàng)建raw文件夾這個(gè)文件存放資源文件,文件命名“a-z0-9_.”,注意不能有大寫字母。MediaPlayer.create方法創(chuàng)建MediaPlayer對(duì)象。mp.start()直接播放文件。第十二張,PPT共三十二頁,創(chuàng)作于2022年6月通過文件系統(tǒng)播放btnStart.setOnClickListener(newView.OnClickListener(){ @Override publicvoidonClick(Viewv){ label.setText("媽媽咪呀!開始播放..."); try{ MediaPlayermp=newMediaPlayer(); mp.setDataSource("/sdcard/ma_mma.mp3"); mp.prepare(); mp.start(); }catch(Exceptione){ e.printStackTrace(); } }});第十三張,PPT共三十二頁,創(chuàng)作于2022年6月在模擬器中創(chuàng)建sdcard通過Eclipse的ADT插件創(chuàng)建通過sdk中的命令mksdcard創(chuàng)建D:\>mksdcard1024MD:\workspace\android_sdcard_image第十四張,PPT共三十二頁,創(chuàng)作于2022年6月Eclipse的ADT插件創(chuàng)建第十五張,PPT共三十二頁,創(chuàng)作于2022年6月第十六張,PPT共三十二頁,創(chuàng)作于2022年6月第十七張,PPT共三十二頁,創(chuàng)作于2022年6月視頻播放視頻播放與音頻播放類似都是使用MediaPlayer類實(shí)現(xiàn),但是視頻播放需要一個(gè)視圖(SurfaceView)展示播放畫面。SurfaceView提供直接訪問一個(gè)可畫圖的界面,可以控制在界面頂部的子視圖層。SurfaceView是提供給需要直接畫像素而不是使用窗體部件的應(yīng)用使用的。Android圖形系統(tǒng)中一個(gè)重要的概念和線索是surface。View及其子類(如TextView,Button)要畫在surface上。每個(gè)surface創(chuàng)建一個(gè)Canvas對(duì)象(但屬性時(shí)常改變),用來管理view在surface上的繪圖操作,如畫點(diǎn)畫線。第十八張,PPT共三十二頁,創(chuàng)作于2022年6月布局管理文件我們?cè)趍ediaplayer_2.xml定義SurfaceView......<SurfaceViewandroid:id="@+id/surface"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"></SurfaceView>......第十九張,PPT共三十二頁,創(chuàng)作于2022年6月Activity中的SurfaceView......privateSurfaceViewmPreview;privateSurfaceHolderholder;@OverridepublicvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.mediaplayer_2); mPreview=(SurfaceView)findViewById(R.id.surface); holder=mPreview.getHolder(); holder.addCallback(this); holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);}......第二十張,PPT共三十二頁,創(chuàng)作于2022年6月SurfaceHolderSurfaceHolder接口持有Surface引用,并且定義了方法控制Surface的尺寸和格式。在SurfaceHolder中定義了4種Surface類型,分別是NORMAL、HARDWARE、GPU和PUSH_BUFFERS。在視頻播放與相機(jī)預(yù)覽中,通常是使用PUSH_BUFFERS,也就是說,Surface本身并沒有維護(hù)一個(gè)緩沖區(qū),而是等待屏幕的渲染引擎將內(nèi)容推送到用戶面前??梢酝ㄟ^holder=mPreview.getHolder();獲得這個(gè)對(duì)象。SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS是為了surface指定PUSH類型的緩沖區(qū)。第二十一張,PPT共三十二頁,創(chuàng)作于2022年6月Listener的使用除了MediaPlayer類,我們還需要注意幾個(gè)播放器件Listener的使用,它們提供了播放器的更多的狀態(tài)信息。除了OnVideoSizeChangedListener以外其它的都可以在音頻中使用。publicclassMediaPlayerDemo_VideoextendsActivity implements
OnBufferingUpdateListener,
OnCompletionListener,
OnPreparedListener,
OnVideoSizeChangedListener, SurfaceHolder.Callback{......}第二十二張,PPT共三十二頁,創(chuàng)作于2022年6月OnBufferingUpdateListener
當(dāng)播放網(wǎng)絡(luò)上的媒體文件或者流媒體MediaPlayer.OnBufferingUpdateListener的onBufferingUpdate(MediaPlayermp,intpercent)接口函數(shù)會(huì)被回調(diào),通知當(dāng)前的緩沖進(jìn)度信息。通過setOnBufferingUpdateListener(MediaPlayer.OnBufferingUpdateListenerlistener)函數(shù)來注冊(cè)該Listener。第二十三張,PPT共三十二頁,創(chuàng)作于2022年6月OnCompletionListener當(dāng)前歌曲播放結(jié)束后,MediaPlayer.OnCompletionListener的onCompletion(MediaPlayermp)接口會(huì)被回調(diào),通知歌曲結(jié)束事件。通過setOnCompletionListener(MediaPlayer.OnCompletionListenerlistener)函數(shù)來注冊(cè)該監(jiān)聽器。第二十四張,PPT共三十二頁,創(chuàng)作于2022年6月OnPreparedListener當(dāng)播放網(wǎng)絡(luò)媒體文件或流媒體時(shí),播放器的準(zhǔn)備時(shí)間較長(zhǎng),播放器準(zhǔn)備完畢可以開始播放時(shí),MediaPlayer.OnPreparedListener的onPrepared(MediaPlayermp)接口會(huì)被回調(diào),通知該信息。當(dāng)播放器需要支持播放流媒體或者網(wǎng)絡(luò)媒體文件時(shí),建議使用prepareAsync()接口調(diào)用來準(zhǔn)備播放器,同時(shí)通過MediaPlayer.OnPreparedListener來監(jiān)聽prepared信息。這樣可以避免因?yàn)榫W(wǎng)絡(luò)等因素造成的MediaPlayer準(zhǔn)備時(shí)間過長(zhǎng)進(jìn)而導(dǎo)致程序長(zhǎng)時(shí)間無響應(yīng)。第二十五張,PPT共三十二頁,創(chuàng)作于2022年6月OnVideoSizeChangedListener當(dāng)前視頻尺寸第一次獲得以及改變的時(shí)候,MediaPlayer.OnVideoSizeChangedListener的onVideoSizeChanged(MediaPlayermp,intwidth,intheight)接口會(huì)被回調(diào)。通過setOnVideoSizeChangedListener(MediaPlayer.OnVideoSizeChangedListenerlistener)函數(shù)來注冊(cè)該監(jiān)聽器。第二十六張,PPT共三十二頁,創(chuàng)作于2022年6月實(shí)例中接口注冊(cè)@OverridepublicvoidsurfaceCreated(SurfaceHolderholder){ Stringpath="/sdcard/nobody1.3gp"; try{ mMediaPlayer=newMediaPlayer(); mMediaPlayer.setDataSource(path); mMediaPlayer.setDisplay(holder); mMediaPlayer.prepare(); mMediaPlayer.setOnBufferingUpdateListener(this); mMediaPlayer.setOnCompletionListener(this); mMediaPlayer.setOnPreparedListener(this); mMediaPlayer.setOnVideoSizeChangedListener(this); }catch(Exceptione){ Log.e(TAG,"error:"+e.getMessage(),e); }}第二十七張,PPT共三十二頁,創(chuàng)作于2022年6月實(shí)例中其它播放方法@OverridepublicvoidonPrepared(MediaPlayermp){ Log.d(TAG,"onPreparedcalled"); mMediaPlayer.start();}@OverridepublicvoidonVideoSizeChanged(MediaPlayermp, intwidth,intheight){ Log.d(TAG,"onVideoSizeChangedcalled"); mVideoWidth=mp.getVideoWidth(); mVideoHeight=mp.getVideoHeight(); if(mVideoWidth!=0&&mVideoHeight!=0){ holder.setFixedSize(mVideoWidth,mVideoHeight); } mMediaPlayer.start();}第二十八張,PPT共三十二頁,創(chuàng)作于2022年6月實(shí)例中接口注冊(cè)@OverridepublicvoidsurfaceCreated(SurfaceHolderholder){ Stringpath="/sdcard/nobody1.3gp"; try{ mMediaPlayer=newMediaPla
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO 15883-3:2024 EN Washer-disinfectors - Part 3: Requirements and tests for washer-disinfectors employing thermal disinfection for human waste containers
- 勞動(dòng)合同糾紛仲裁代理詞撰寫指南
- 美國專有技術(shù)轉(zhuǎn)讓合同案例
- 企業(yè)合同權(quán)益轉(zhuǎn)讓協(xié)議書案例
- 房地產(chǎn)代理銷售合同書范文示例
- 工程項(xiàng)目管理合同的關(guān)鍵條款
- 代售協(xié)議書范例
- 店面臨時(shí)租賃合同書
- 2024寬帶接入電信服務(wù)協(xié)議范本
- 小產(chǎn)權(quán)住宅購買協(xié)議書
- 2024年消防月全員消防安全知識(shí)專題培訓(xùn)-附20起典型火災(zāi)案例
- 2025屆高三化學(xué)一輪復(fù)習(xí) 第13講 鐵鹽、亞鐵鹽及其轉(zhuǎn)化 課件
- 【電商企業(yè)跨國并購的績(jī)效探析案例:以阿里巴巴并購Lazada為例(論文)14000字】
- 恒牙臨床解剖-上頜中切牙(牙體解剖學(xué)課件)
- 云南太陽能資源分析
- 2024智慧園區(qū)系統(tǒng)建設(shè)規(guī)范
- GB/T 44592-2024紅樹林生態(tài)保護(hù)修復(fù)技術(shù)規(guī)程
- 第5課 互聯(lián)網(wǎng)接入 教學(xué)設(shè)計(jì) 2023-2024學(xué)年浙教版(2023)初中信息技術(shù)七年級(jí)上冊(cè)
- 小學(xué)語文一年級(jí)上冊(cè)課件第四單元01-10 ai ei ui
- 傳感器技術(shù)-武漢大學(xué)
- GB/T 44413-2024城市軌道交通分類
評(píng)論
0/150
提交評(píng)論