Android開發(fā)之媒體播放工具類完整示例
本文實例講述了Android開發(fā)之媒體播放工具類。分享給大家供大家參考,具體如下:
package com.maobang.imsdk.util;
import android.media.MediaPlayer;
import android.net.Uri;
import android.util.Log;
import java.io.FileInputStream;
import java.io.IOException;
import com.maobang.imsdk.app.IMApplication;
/**
* 媒體播放工具
*/
public class MediaUtil {
private static final String TAG = "MediaUtil";
private MediaPlayer player;
private EventListener eventListener;
private MediaUtil(){
player = new MediaPlayer();
}
private static MediaUtil instance = new MediaUtil();
public static MediaUtil getInstance(){
return instance;
}
public MediaPlayer getPlayer() {
return player;
}
public void setEventListener(final EventListener eventListener) {
if (player != null){
player.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
eventListener.onStop();
}
});
}
this.eventListener = eventListener;
}
public void play(FileInputStream inputStream){
try{
if (eventListener != null){
eventListener.onStop();
}
player.reset();
player.setDataSource(inputStream.getFD());
player.prepare();
player.start();
}catch (IOException e){
Log.e(TAG, "play error:" + e);
}
}
public void stop(){
if (player != null && player.isPlaying()){
player.stop();
}
}
public long getDuration(String path){
player = MediaPlayer.create(IMApplication.getContext(), Uri.parse(path));
return player.getDuration();
}
/**
* 播放器事件監(jiān)聽
*/
public interface EventListener{
void onStop();
}
}
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android開發(fā)入門與進階教程》、《Android多媒體操作技巧匯總(音頻,視頻,錄音等)》、《Android視圖View技巧總結(jié)》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》、《Android資源操作技巧匯總》及《Android控件用法總結(jié)》
希望本文所述對大家Android程序設(shè)計有所幫助。
- 淺談Android系統(tǒng)的基本體系結(jié)構(gòu)與內(nèi)存管理優(yōu)化
- Android中使用ContentProvider管理系統(tǒng)資源的實例
- Android開發(fā)之彈出軟鍵盤工具類簡單示例
- Android開發(fā)之EditText框輸入清理工具類示例
- Android開發(fā)之Activity管理工具類完整示例
- Android編程錄音工具類RecorderUtil定義與用法示例
- Android開發(fā)中解析xml文件XmlUtils工具類與用法示例
- Android圖片處理工具類BitmapUtils
- Android封裝的http請求實用工具類
- 19個Android常用工具類匯總
- Android開發(fā)之超實用的系統(tǒng)管理工具類【SD卡,網(wǎng)絡(luò),uri,屏幕,網(wǎng)絡(luò),軟鍵盤,文本,進程等】
相關(guān)文章
Android 使用 okhttp3和retrofit2 進行單文件和多文件上傳
這篇文章主要介紹了Android 使用 okhttp3和retrofit2 進行單文件和多文件上傳,開發(fā)項目中需要進行單文件多文件的上傳功能,下面演示的ApiResponse是自己分裝的返回值,要根據(jù)自己的項目來完成,需要的朋友可以參考下2022-10-10
通過WIFI(不用數(shù)據(jù)線)連接Android手機調(diào)試
本文主要介紹WIFI 鏈接手機調(diào)試,這里詳細介紹了WIFI 鏈接Android手機實現(xiàn)調(diào)試的過程,有需要的小伙伴可以參考下2016-08-08
聊聊GridView實現(xiàn)拖拽排序及數(shù)據(jù)交互的問題
這篇文章主要介紹了聊聊GridView實現(xiàn)拖拽排序及數(shù)據(jù)交互的問題,整體實現(xiàn)思路是通過在一個容器里放置兩個dragview,DragView里面進行View的動態(tài)交換以及數(shù)據(jù)交換,具體實現(xiàn)代碼跟隨小編一起看看吧2021-11-11
詳解Android應(yīng)用開發(fā)中Scroller類的屏幕滑動功能運用
這篇文章主要介紹了詳解Android應(yīng)用開發(fā)中Scroller類的屏幕滑動功能運用,文中包括各種觸摸滑屏手勢相關(guān)方法的示例,需要的朋友可以參考下2016-02-02
Java Base64位編碼與String字符串的相互轉(zhuǎn)換,Base64與Bitmap的相互轉(zhuǎn)換實例代碼
這篇文章主要介紹了Java Base64位編碼與String字符串的相互轉(zhuǎn)換,Base64與Bitmap的相互轉(zhuǎn)換實例代碼,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-03-03
Android判斷現(xiàn)在所處界面是否為home主桌面的方法
這篇文章主要介紹了Android判斷現(xiàn)在所處界面是否為home主桌面的方法,涉及Android界面判斷的相關(guān)技巧,需要的朋友可以參考下2015-05-05
Android編程實現(xiàn)的自定義彈窗(PopupWindow)功能示例
這篇文章主要介紹了Android編程實現(xiàn)的自定義彈窗(PopupWindow)功能,結(jié)合簡單實例形式分析了Android自定義彈窗實現(xiàn)方法與相關(guān)注意事項,需要的朋友可以參考下2017-03-03

