Android開發(fā)之MediaPlayer多媒體(音頻,視頻)播放工具類
本文實例講述了Android開發(fā)之MediaPlayer多媒體(音頻,視頻)播放工具類。分享給大家供大家參考,具體如下:
package com.android.imooc.chat; import java.io.IOException; import android.media.AudioManager; import android.media.MediaPlayer; import android.media.MediaPlayer.OnCompletionListener; import android.media.MediaPlayer.OnErrorListener; /** * @描述 聲音控制類 * @項目名稱 App_imooc * @包名 com.android.imooc.chat * @類名 MediaHelper * @author chenlin * @date 2013年6月17日 下午10:46:01 * @version 1.0 */ public class MediaHelper { private static MediaPlayer mPlayer; private static boolean isPause = false; public static void playSound(String filePath, OnCompletionListener listener) { if (mPlayer == null) { mPlayer = new MediaPlayer(); } else { mPlayer.reset(); } mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); mPlayer.setOnCompletionListener(listener); mPlayer.setOnErrorListener(new OnErrorListener() { @Override public boolean onError(MediaPlayer mp, int what, int extra) { mPlayer.reset(); return false; } }); try { mPlayer.setDataSource(filePath); mPlayer.prepare(); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (SecurityException e) { e.printStackTrace(); } catch (IllegalStateException e) { e.printStackTrace(); } catch (IOException e) { throw new RuntimeException("讀取文件異常:" + e.getMessage()); } mPlayer.start(); isPause = false; } public static void pause() { if (mPlayer != null && mPlayer.isPlaying()) { mPlayer.pause(); isPause = true; } } // 繼續(xù) public static void resume() { if (mPlayer != null && isPause) { mPlayer.start(); isPause = false; } } public static void release() { if (mPlayer != null) { mPlayer.release(); mPlayer = null; } } }
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android開發(fā)入門與進階教程》、《Android多媒體操作技巧匯總(音頻,視頻,錄音等)》、《Android視圖View技巧總結(jié)》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》、《Android操作json格式數(shù)據(jù)技巧總結(jié)》、《Android資源操作技巧匯總》及《Android控件用法總結(jié)》
希望本文所述對大家Android程序設(shè)計有所幫助。
相關(guān)文章
Android ViewPager循環(huán)播放廣告實例詳解
這篇文章主要介紹了Android ViewPager循環(huán)播放廣告條實例詳解的相關(guān)資料,需要的朋友可以參考下2017-03-03Android自定義wheelview實現(xiàn)滾動日期選擇器
這篇文章主要為大家詳細介紹了Android自定義wheelview實現(xiàn)滾動日期選擇器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-07-07Android開發(fā)之資源目錄assets與res/raw的區(qū)別分析
這篇文章主要介紹了Android開發(fā)之資源目錄assets與res/raw的區(qū)別,結(jié)合實例形式分析了Android開發(fā)中資源目錄assets與res/raw的具體功能、使用方法與區(qū)別,需要的朋友可以參考下2016-01-01Android開發(fā)中Looper.prepare()和Looper.loop()
Looper用于封裝了android線程中的消息循環(huán),默認(rèn)情況下一個線程是不存在消息循環(huán)(message loop)的,具體調(diào)用方法大家可以通過本文學(xué)習(xí)2016-11-11ListView的Adapter使用 之 初學(xué)ArrayAdapter String
ListView是Android中經(jīng)常會使用的東西,綁定數(shù)據(jù)對于初學(xué)者來說,尤其是剛接觸編程的人來說,往往會覺得很難理解,我上大二的時候?qū)W的java,但是基本上相當(dāng)于沒有學(xué),什么都沒寫過,真正接觸編程就是開始上手學(xué)android,把這些記錄下來,自己可以回頭看下,也可以讓新手更好的理解2013-06-06