MediaPlayer播放音頻

方法

播放暫停停止start() pause() stop()

靜態(tài)方法

MediaPlayer mPlayer = MediaPlayer.create(context,uri);
MediaPlayer mPlayer = MediaPlayer.create(context,int resid);
//音頻資源文件一般放在res/raw目錄下

無參構(gòu)造方法

當(dāng)需要播放多個(gè)音頻的時(shí)候,靜態(tài)方法加載就不合適了

MediaPalyer mPlayer = new MediaPalyer();
mPlayer.reset();//重置
mPlayer.setDataSource(path);
.....................(file,offset,length);
.....................(file);
.....................(context,uri);
mPlayer.prepare()//準(zhǔn)備
mPlayer.start();//播放

監(jiān)聽事件

//播放完成事件監(jiān)聽
mPlayer.setOnCompletionListener(new OnCompletionListener())
//播放錯(cuò)誤事件監(jiān)聽
mPlayer.setErrorListener(new OnErrorListener())
//調(diào)用prepare()方法時(shí)的監(jiān)聽器
mPlayer.setOnPreparedListener(new OnPreparedListener())
//調(diào)用seek()方法時(shí)的監(jiān)聽器
mPlayer.setOnSeekCompleteListener(new OnSeekCompleteListener())

播放原始資源文件

AssetManager am = getAssets();
AssetFileDeseriptor afd = am.openFd(music);
MediaPlayer mPlayer = new MediaPlayer();
mPlayer.setDataSource(adf.getFileDescriptor(),adf.getStartOffset(),adf.getLength());
mPlayer.prepare();
mPlayer.start();

播放外部存儲器的音頻文件

MediaPlayer mPlayer = new MediaPlayer();
mPlayer.setDataSource("/mnt/sdcard/mysong.mp3");
mPlayer.prepare();
mPlayer.start();

播放網(wǎng)絡(luò)的音頻文件

Uri uri = Uir.parse("htttp://www.baidu.com/mysong.mp3");
MediaPlayer mPlayer = new MediaPlayer();
mPlayer.setDataSource(this,uri);
mPlayer.prepare();
mPlayer.start();

prepare()與prepareAsync()的區(qū)別

prepareAsync()是異步的,不會阻塞UI線程

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容