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ā)入門與進(jìn)階教程》、《Android多媒體操作技巧匯總(音頻,視頻,錄音等)》、《Android視圖View技巧總結(jié)》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》、《Android操作json格式數(shù)據(jù)技巧總結(jié)》、《Android資源操作技巧匯總》及《Android控件用法總結(jié)》
希望本文所述對大家Android程序設(shè)計有所幫助。
相關(guān)文章
Android 微信小視頻錄制功能實現(xiàn)詳細(xì)介紹
這篇文章主要介紹了Android 微信小視頻錄制功能實現(xiàn)詳解的相關(guān)資料,這里提供了具體的實現(xiàn)思路及代碼,需要的朋友可以參考下2016-11-11
Input系統(tǒng)之InputReader處理觸摸事件案例
這篇文章主要為大家介紹了Input系統(tǒng)之InputReader處理觸摸事件案例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
Android讀取本地json文件的方法(解決顯示亂碼問題)
這篇文章主要介紹了Android讀取本地json文件的方法,結(jié)合實例形式對比分析了解決顯示亂碼問題的方法,需要的朋友可以參考下2016-06-06
Android編程實現(xiàn)改變控件背景及形態(tài)的方法
這篇文章主要介紹了Android編程實現(xiàn)改變控件背景及形態(tài)的方法,涉及Android控件布局設(shè)置的相關(guān)技巧,需要的朋友可以參考下2016-02-02
詳解Android Service與Activity之間通信的幾種方式
這篇文章主要介紹了詳解Android Service與Activity之間通信的幾種方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-04-04
android教程之textview解析帶圖片的html示例
本文介紹的示例適用于android中需要解析帶圖片的htlm數(shù)據(jù),需要的朋友可以參考下2014-02-02

