Android開(kāi)發(fā)之媒體播放工具類(lèi)完整示例
本文實(shí)例講述了Android開(kāi)發(fā)之媒體播放工具類(lèi)。分享給大家供大家參考,具體如下:
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)聽(tīng) */ public interface EventListener{ void onStop(); } }
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Android開(kāi)發(fā)入門(mén)與進(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開(kāi)發(fā)之彈出軟鍵盤(pán)工具類(lèi)簡(jiǎn)單示例
- Android開(kāi)發(fā)之EditText框輸入清理工具類(lèi)示例
- Android開(kāi)發(fā)之Activity管理工具類(lèi)完整示例
- Android編程錄音工具類(lèi)RecorderUtil定義與用法示例
- Android開(kāi)發(fā)中解析xml文件XmlUtils工具類(lèi)與用法示例
- Android圖片處理工具類(lèi)BitmapUtils
- Android封裝的http請(qǐng)求實(shí)用工具類(lèi)
- 19個(gè)Android常用工具類(lèi)匯總
- Android開(kāi)發(fā)之超實(shí)用的系統(tǒng)管理工具類(lèi)【SD卡,網(wǎng)絡(luò),uri,屏幕,網(wǎng)絡(luò),軟鍵盤(pán),文本,進(jìn)程等】
相關(guān)文章
Android實(shí)現(xiàn)側(cè)滑菜單DrawerLayout
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)側(cè)滑菜單DrawerLayout,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-05-05Android Compose學(xué)習(xí)之繪制速度表盤(pán)
這篇文章主要為大家詳細(xì)介紹了Android Compose繪制速度表盤(pán)的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解下2023-11-11解決Android Device Monitor 的 File Explorer 中無(wú)法打開(kāi)某些文件夾的問(wèn)題
這篇文章主要介紹了解決Android Device Monitor 的 File Explorer 中無(wú)法打開(kāi)某些文件夾的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04Android10 啟動(dòng)之SystemServer源碼分析
這篇文章主要為大家介紹了Android10 啟動(dòng)之SystemServer源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10Android UI實(shí)現(xiàn)SlidingMenu側(cè)滑菜單效果
這篇文章主要為大家詳細(xì)介紹了Android UI實(shí)現(xiàn)SlidingMenu側(cè)滑菜單效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12Android10 App啟動(dòng)Activity源碼分析
這篇文章主要為大家介紹了Android10 App啟動(dòng)Activity源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10Android recycleView的應(yīng)用和點(diǎn)擊事件實(shí)例詳解
這篇文章主要介紹了Android recycleView的應(yīng)用和點(diǎn)擊事件實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2016-12-12