Android開發(fā)之媒體播放工具類完整示例
本文實(shí)例講述了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ā)入門與進(jìn)階教程》、《Android多媒體操作技巧匯總(音頻,視頻,錄音等)》、《Android視圖View技巧總結(jié)》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》、《Android資源操作技巧匯總》及《Android控件用法總結(jié)》
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
- 淺談Android系統(tǒng)的基本體系結(jié)構(gòu)與內(nèi)存管理優(yōu)化
- Android中使用ContentProvider管理系統(tǒng)資源的實(shí)例
- Android開發(fā)之彈出軟鍵盤工具類簡單示例
- Android開發(fā)之EditText框輸入清理工具類示例
- Android開發(fā)之Activity管理工具類完整示例
- Android編程錄音工具類RecorderUtil定義與用法示例
- Android開發(fā)中解析xml文件XmlUtils工具類與用法示例
- Android圖片處理工具類BitmapUtils
- Android封裝的http請(qǐng)求實(shí)用工具類
- 19個(gè)Android常用工具類匯總
- Android開發(fā)之超實(shí)用的系統(tǒng)管理工具類【SD卡,網(wǎng)絡(luò),uri,屏幕,網(wǎng)絡(luò),軟鍵盤,文本,進(jìn)程等】
相關(guān)文章
Android 使用 okhttp3和retrofit2 進(jìn)行單文件和多文件上傳
這篇文章主要介紹了Android 使用 okhttp3和retrofit2 進(jìn)行單文件和多文件上傳,開發(fā)項(xiàng)目中需要進(jìn)行單文件多文件的上傳功能,下面演示的ApiResponse是自己分裝的返回值,要根據(jù)自己的項(xiàng)目來完成,需要的朋友可以參考下2022-10-10
通過WIFI(不用數(shù)據(jù)線)連接Android手機(jī)調(diào)試
本文主要介紹WIFI 鏈接手機(jī)調(diào)試,這里詳細(xì)介紹了WIFI 鏈接Android手機(jī)實(shí)現(xiàn)調(diào)試的過程,有需要的小伙伴可以參考下2016-08-08
聊聊GridView實(shí)現(xiàn)拖拽排序及數(shù)據(jù)交互的問題
這篇文章主要介紹了聊聊GridView實(shí)現(xiàn)拖拽排序及數(shù)據(jù)交互的問題,整體實(shí)現(xiàn)思路是通過在一個(gè)容器里放置兩個(gè)dragview,DragView里面進(jìn)行View的動(dòng)態(tài)交換以及數(shù)據(jù)交換,具體實(shí)現(xiàn)代碼跟隨小編一起看看吧2021-11-11
詳解Android應(yīng)用開發(fā)中Scroller類的屏幕滑動(dòng)功能運(yùn)用
這篇文章主要介紹了詳解Android應(yīng)用開發(fā)中Scroller類的屏幕滑動(dòng)功能運(yùn)用,文中包括各種觸摸滑屏手勢(shì)相關(guān)方法的示例,需要的朋友可以參考下2016-02-02
Java Base64位編碼與String字符串的相互轉(zhuǎn)換,Base64與Bitmap的相互轉(zhuǎn)換實(shí)例代碼
這篇文章主要介紹了Java Base64位編碼與String字符串的相互轉(zhuǎn)換,Base64與Bitmap的相互轉(zhuǎn)換實(shí)例代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-03-03
Android判斷現(xiàn)在所處界面是否為home主桌面的方法
這篇文章主要介紹了Android判斷現(xiàn)在所處界面是否為home主桌面的方法,涉及Android界面判斷的相關(guān)技巧,需要的朋友可以參考下2015-05-05
android7.0實(shí)現(xiàn)分享圖片到朋友圈功能
這篇文章主要為大家詳細(xì)介紹了android7.0實(shí)現(xiàn)分享圖片到朋友圈功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05
Android編程實(shí)現(xiàn)的自定義彈窗(PopupWindow)功能示例
這篇文章主要介紹了Android編程實(shí)現(xiàn)的自定義彈窗(PopupWindow)功能,結(jié)合簡單實(shí)例形式分析了Android自定義彈窗實(shí)現(xiàn)方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-03-03

