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é)》
希望本文所述對大家Android程序設(shè)計有所幫助。
- 淺談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請求實(shí)用工具類
- 19個Android常用工具類匯總
- Android開發(fā)之超實(shí)用的系統(tǒng)管理工具類【SD卡,網(wǎng)絡(luò),uri,屏幕,網(wǎng)絡(luò),軟鍵盤,文本,進(jìn)程等】
相關(guān)文章
Android實(shí)現(xiàn)側(cè)滑菜單DrawerLayout
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)側(cè)滑菜單DrawerLayout,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-05-05
Android Compose學(xué)習(xí)之繪制速度表盤
這篇文章主要為大家詳細(xì)介紹了Android Compose繪制速度表盤的相關(guān)知識,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價值,感興趣的小伙伴可以了解下2023-11-11
解決Android Device Monitor 的 File Explorer 中無法打開某些文件夾的問題
這篇文章主要介紹了解決Android Device Monitor 的 File Explorer 中無法打開某些文件夾的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04
Android UI實(shí)現(xiàn)SlidingMenu側(cè)滑菜單效果
這篇文章主要為大家詳細(xì)介紹了Android UI實(shí)現(xiàn)SlidingMenu側(cè)滑菜單效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-12-12
Android recycleView的應(yīng)用和點(diǎn)擊事件實(shí)例詳解
這篇文章主要介紹了Android recycleView的應(yīng)用和點(diǎn)擊事件實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2016-12-12

