91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在Android平臺下開發多媒體軟件MediaPlayer

發布時間:2021-11-11 16:16:22 來源:億速云 閱讀:140 作者:柒染 欄目:移動開發

怎么在Android平臺下開發多媒體軟件MediaPlayer,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

現在將介紹一下在Android平臺下如何開發多媒體軟件MediaPlayer。MediaPlayer可以用來播放視頻和音頻、流媒體。MediaPlayer的生命周期如下圖:

怎么在Android平臺下開發多媒體軟件MediaPlayer

從MediaPlayer的生命周期圖,可以看出使用MediaPlayer不是很復雜。

最簡單的流程:初始化->resrt()->setDataSource()->prepare()->start()->……只要簡單的幾步,就可以播放音頻文件了。

來看看一個播放音頻的例子吧,看代碼和注釋吧……

1: private Handler handler = new Handler() {   2:     3:         public void handleMessage(Message msg) {   4:             //更新進度條   5:             progressBar.setProgress(progressState);   6:         };   7:     };   8:     9: /**  10:      * 播放  11:      *   12:      * @param filePath  13:      *            文件路徑  14:      */  15:     private void playMusic(String filePath) {  16:         try {  17:             progressState = 0;  18:             progressBar.setProgress(0);  19:             // 重置  20:             mediaPlayer.reset();  21:             // 設置數據源  22:             mediaPlayer.setDataSource(filePath);  23:             // 準備播放  24:             mediaPlayer.prepare();  25:             // 獲取播放時長  26:             length = mediaPlayer.getDuration();  27:             progressBar.setMax(length / 1000);  28:             // 播放  29:             mediaPlayer.start();  30:             new Thread(new ProcessBarRefresh()).start();  31:             // 設置播放完畢監聽  32:             mediaPlayer.setOnCompletionListener(new OnCompletionListener() {  33:                 @Override  34:                 public void onCompletion(MediaPlayer mp) {  35:                     nextMusic();  36:                 }  37:             });  38:    39:         } catch (Exception e) {  40:             displayToast(e.getMessage());  41:         }  42:     }  43:       44:     /**  45:      * 更新進度條  46:      * @author 張漢國  47:      */  48:     class ProcessBarRefresh implements Runnable{  49:    50:         @Override  51:         public void run() {  52:             while(isPlaying){  53:                 progressState = mediaPlayer.getCurrentPosition()/1000;  54:                 handler.sendMessage(handler.obtainMessage());  55:             }  56:         }  57:           58:     }

怎么在Android平臺下開發多媒體軟件MediaPlayer

怎么在Android平臺下開發多媒體軟件MediaPlayer

以上只是一個簡單的實例,要開發一個播放器除了UI需要下功夫外,還得注意不少細節東西。

Android中音樂播放是一個后臺進程,以上代碼當調用 onStop()->onCreate() 的時候會重復加載播放列表,造成列表重復。這就需要用到 onSaveIntanceState(),這樣子在onCreate()里面初始化播放列表的時候先判斷 Bundle 是否為空,是否能拿到播放列表,如果拿不到在重新初始化。

再者Android自身也提供一個MediaStore這樣一個Provider的屬性對象供我們開發利用。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巴林右旗| 兴仁县| 大田县| 麻江县| 安图县| 林西县| 旅游| 柳州市| 五原县| 崇左市| 蓬溪县| 开江县| 淄博市| 林芝县| 阿城市| 宣城市| 台山市| 盐山县| 苍溪县| 青川县| 鹿泉市| 三门峡市| 独山县| 镇雄县| 莱西市| 冀州市| 乌恰县| 滦南县| 读书| 延津县| 巴彦县| 蕉岭县| 鄂伦春自治旗| 肃北| 清水县| 察隅县| 英超| 和林格尔县| 新巴尔虎右旗| 荔浦县| 洛隆县|