<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于Android的多媒體應(yīng)用開發(fā)與研究

          基于Android的多媒體應(yīng)用開發(fā)與研究

          作者: 時間:2012-03-05 來源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/149521.htm

          3. 2 Open Core 的主要類與接口

          Open Core 主要提供了如下幾個類:

          ( 1) MediaPlayer 類可以用于播放音頻、視頻和流媒體,它包含了Audio 和Video 的播放功能,在的界面上,音頻和視頻的播放都是調(diào)用Media-Player 實(shí)現(xiàn)的。它可以獲得媒體文件和各種屬性和當(dāng)前的播放狀態(tài),并可以開始和停止文件的播放。

          ( 2) MediaRecorder 類用來進(jìn)行媒體采樣,包括音頻和視頻。MediaRecorder 作為狀態(tài)機(jī)運(yùn)行,需要設(shè)置不同的參數(shù),如源格式和源設(shè)備。設(shè)置后可執(zhí)行任意長度的錄制,直到用戶停止。

          ( 3) VideoView 類主要用來顯示一個視頻文件,它是SurfaceView 類的一個子類,且實(shí)現(xiàn)了MediaPlayerControl接口。

          ( 4) Camera 類用來處理系統(tǒng)中與相機(jī)相關(guān)的事件,Camera 是一個專門用來連接和斷開相機(jī)服務(wù)的類。

          Open Core 在使用過程中的調(diào)用關(guān)系如圖2所示。

          圖2 使用Open Core 的調(diào)用關(guān)系圖

          圖2 使用Open Core 的調(diào)用關(guān)系圖

          4 示例程序: 播放器

          4. 1 布局設(shè)計(jì)

          是通過布局( Layout) 來定義UI( 用戶界面) 的。一般視圖( View) 可以直接在布局的XML 里聲明。XML 文件如下所示:

             ? xml version = ″1. 0″encoding = ″utf-8?″ >

            - AbsoluteLayout

            xmlns: android = ″http: / /schemas. android. com/apk /res /android″

            android: orientation = ″vertical″

            android: layout_width = ″fill_parent″

            android: layout_height = ″fill_parent″ >

             ListView

            android: id = ″@ id /android: list″

            android: layout_width = ″fill_parent″

            android: layout_height = ″fill_parent″

            android: layout_weight = ″1″

            android: drawSelectorOnTop = ″false″ / >

             ImageButton

            android: id = ″@ + id /LastImageButton″

            android: layout_width = ″wrap_content″

            android: layout_height = ″wrap_content″

            android: layout_x = ″10px″

            android: layout_y = ″170px″

            android: src = ″@ drawable /last″ / >

           ?。?以下4 個BUTTON 同上,橫坐標(biāo)有變化。)

             /AbsoluteLayout >

          這個簡單的播放器只有一個界面,可以顯示播放列表和對音樂的播放進(jìn)行各種操作。

          4. 2 程序框架設(shè)計(jì)

          在這唯一的Activity 類的界面生成消息響應(yīng)方法中,先定義幾個操作按鈕,然后就要創(chuàng)建整個程序的主對象---mMediaPlayer 了。語句如下:

            public MediaPlayer mMediaPlayer = null;

          這是一個MediaPlayer 類型的對象,它的功能前面已經(jīng)介紹過了,這里不再贅述。之后要創(chuàng)建的就是其它的組件,包括播放列表、歌曲的路徑以及索引了。

            private List String > mMusicList = new ArrayList String >( ) ; / /播放列表

            private int currentListItme = 0; / /索引

            private static final String MUSIC_PATH = new String( ″ /sdcard/″) ; / /歌曲的路徑

          4. 3 程序核心代碼

          接下來設(shè)置這些ImageButton 的事件監(jiān)聽。

            mStartImageButton. setOnClickListener(

            new ImageButton. OnClickListener( )

            {

            @ Override public void onClick( View v)

            {

            playMusic( MUSIC_PATH + mMusi-cList. get( currentListItme)

            ) ;

            }

            } ) ;

          這是開始播放按鈕的事件監(jiān)聽。這里是調(diào)用了一個playMusic( ) 方法來實(shí)現(xiàn)音樂文件的播放的。

          在playMusic( ) 方法中,先調(diào)用mMediaPlayer 的reset( ) 方法,重置MediaPlayer 到它的正常狀態(tài)。然后調(diào)用setDataSource( string) 方法設(shè)置好音樂文件的數(shù)據(jù)源,再連續(xù)調(diào)用prepare( ) 和start( ) 方法,MediaPlayer將開始播放音樂文件。

          接下來,要設(shè)置一個OnCompletionListener ( setOnCompletionListener( new OnCompletionListener ) ) ,在歌曲結(jié)束的時候,onCompletion( MediaPlayer) 會被調(diào)用,這樣就可以設(shè)置為自動播放下一曲目。代碼如下。

            mMediaPlayer. setOnCompletionListener(

            new OnCompletionListener( )

            {

            public void onCompletion( MediaPlayer arg0)

            {

            nextMusic( ) ; / /播放下一曲

            }

            } ) ;

          其它方法與上面方法類似,在停止按鈕的事件響應(yīng)方法里,要調(diào)用mMediaPlayer 的isPlaying( ) 方法來判斷播放器是否正在播放,如果正在播放則調(diào)用reset( ) 方法直接重置播放器即可。暫停則可以調(diào)用mMediaPlayer 的pause( ) 方法,再次開始播放則調(diào)用start( )。

          5 結(jié)束語

          手機(jī)應(yīng)用程序開發(fā)需要著眼于它的整個體系構(gòu)架,這是一項(xiàng)復(fù)雜的工程。本文先是介紹并分析了Android 系統(tǒng)的層次架構(gòu),并在此基礎(chǔ)上介紹了Android 應(yīng)用程序開發(fā)的相關(guān)技術(shù)和基本的開發(fā)流程。接下來介紹了Android 為開發(fā)人員提供的簡單、易用的開發(fā)組件MediaPlayer、MediaRecorder等類。最后用具體的應(yīng)用程序簡要說明了Android多媒體應(yīng)用程序的開發(fā)方法。Android 具有極大的開放性和兼容性,相信廣大開發(fā)者可以借助AndroidSDK 提供的強(qiáng)大技術(shù)支持,開發(fā)出豐富多彩、極具個性的移動應(yīng)用。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();