編輯:中級開發
大家好我們今天研究的是android中很重要也最為復雜的媒體播放器---MediaPlayer.
Android的MediaPlayer包含了Audio和video的播放功能,在android的界面上,Music和Video兩個應用程序都是調用MediaPlayer實現的。
MediaPlayer在底層是基於OpenCore(PacketVideo)的庫實現的,為了構建一個MediaPlayer程序,上層還包含了進程間通訊等內容,這種進程間通訊的基礎是android基本庫中的Binder機制。
而我們今天的例子只是利用MediaPlayer來播放res/raw文件夾中一首非常動聽的英文哥love fool.mp3.程序有三個ImageButton按鈕,播放,停止,和暫停!三個按鈕的功能我就不用多說.下面我將Step By Step教你如何完成本Demo的實現.
Step 1 :新建一個android工程,命名為MediaPlayerDemo.
Step 2 :准備素材,在res下建一個raw文件夾,將foollove.mp3導入,將play.png,pause.png,及stop.png導入res/drawable文件夾下.
Step 3: 設計UI布局,在main.XML裡放入三個ImageButton(這裡可以用AbsoluteLayout,或者RelativeLayout實現,我用後者).代碼如下:
- <?XML version="1.0" encoding="utf-8"?>
- //聲明一個變量判斷是否為暫停,默認為false
- //通過findVIEwById找到資源
- //創建MediaPlayer對象,將raw文件夾下的lovefool.mp3
- //增加播放音樂按鈕的事件
- @Override
- @Override
- @Override
- public void onClick(VIEw v) {
- /* 當MediaPlayer.OnCompletionLister會運行的Listener */
- mp.setOnCompletionListener(
- // @Override
- /*覆蓋文件播出完畢事件*/
- @Override
擴散學習:
如果我們想播放手機卡裡的音樂,或者URL下載流媒體來播放,示意程序如下:
- MediaPlayer mp = new MediaPlayer();
- mp.setDataSource(String URL/FILE_PATH);
- mp.prepare();
- mp.start();
以上程序主要是通過MediaPlayer.setDataSource() 的方法,將URL或文件路徑以字符串的方式傳入.使用setDataSource ()方法時,要注意以下三點:
1.構建完成的MediaPlayer 必須實現Null 對像的檢查.
2.必須實現接收IllegalArgumentException 與IOException 等異常,在很多情況下,你所用的文件當下並不存在.
3.若使用URL 來播放在線媒體文件,該文件應該要能支持pragressive 下載.
<?XML version=1.0 encoding=utf-8?> 然後是主布局,一個水平滾動條,放入menu
本文為個人總結,不代表官方觀點。 分為幾個階段: 1、整個android的多媒體框架OpenCore 2、Player和Author的詳細介紹 2、OpenCo
簡介: 在這個由五個部分所組成的系列的第一部分中,您將接觸到移動 Web 應用程序中最流行的新技術:地理定位。高端智能手機都內置 GPS,現在您將了解 Web
這幾天搞了搞AIDL,終於弄明白了在AIDL中讓Service調用Activity的方法代碼:首先建立一個ICallback.aidl文件,作為Activity中的回調