Android 播放raw文件夹下音频文件,本地MP3文件播放,播放云端MP3文件,获取MP3文件播放时长
生活随笔
收集整理的這篇文章主要介紹了
Android 播放raw文件夹下音频文件,本地MP3文件播放,播放云端MP3文件,获取MP3文件播放时长
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、復制音頻文件到raw文件夾下
?
2、實例化音頻文件
?
private final MediaPlayer.OnCompletionListener beepListener = new MediaPlayer.OnCompletionListener() { // 聲音public void onCompletion(MediaPlayer mediaPlayer) {mediaPlayer.seekTo(0);} }; private static final float BEEP_VOLUME = 9.10f; private MediaPlayer mediaPlayer; private void initBeepSound() {if ( mediaPlayer == null) {// The volume on STREAM_SYSTEM is not adjustable, and users found it// too loud,// so we now play on the music stream.mediaPlayer = new MediaPlayer();mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);mediaPlayer.setOnCompletionListener(beepListener);AssetFileDescriptor file = getResources().openRawResourceFd(R.raw.sou);try {mediaPlayer.setDataSource(file.getFileDescriptor(), file.getStartOffset(), file.getLength());file.close();mediaPlayer.setVolume(BEEP_VOLUME, BEEP_VOLUME);mediaPlayer.prepare();} catch (IOException e) {mediaPlayer = null;}} }?
3、開始播放
mediaPlayer.start();?
2、播放云端MP3文件
?1、添加音頻播放器依賴
//exoplayer播放器 implementation 'com.google.android.exoplayer:exoplayer:2.8.4' // 視頻緩存 implementation 'com.danikula:videocache:2.7.0' implementation 'org.greenrobot:greendao:3.2.2'?2、播放云端MP3——文件鏈接
?
PlayerView mExoPlay; private SimpleExoPlayerHelper mMySimpleExoPlayer;private List<String> mVideoSourseList = new ArrayList<>();?
btn_downMP3.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {String vds = "https://gzlxcdg.https.xiaozhuschool.com/public/uploads/video/20200504/fa530b8ae53f8d2e7698ea0fb22d22d5.mp4";String urlStr = "http://zsxyylsb.app.xiaozhuschool.com/public/uploads/imgs/20200902/b04b350875d486b6957973bf7ea56dfc.mp3";if (!mVideoSourseList.isEmpty()) {mVideoSourseList.clear();}mVideoSourseList.add(urlStr);mVideoSourseList.add(vds);mMySimpleExoPlayer.prepare(mVideoSourseList);mMySimpleExoPlayer.setRepeatMode(SimpleExoPlayerHelper.RepeatMode.REPEAT_MODE_OFF);mMySimpleExoPlayer.start();//播放云MP3} });3、播文件夾里面的MP3文件?
?
MediaPlayer medPlay; medPlay=MediaPlayer.create(this,Uri.parse("/storage/emulated/0/data/cn.dlc.xiaoyao/msc1/海洋第一集.mp3"));開始
medPlay.start();暫停
medPlay.pause();重新開始
medPlay.stop(); medPlay=MediaPlayer.create(MainActivity.this,Uri.parse("/storage/emulated/0/data/cn.dlc.xiaoyao/msc1/海洋第二集.mp3"));medPlay.start();?4、獲取MP3文件播放時長
?
public long getAudioFileVoiceTime(String filePath) {long mediaPlayerDuration = 0L;if (filePath == null || filePath.isEmpty()) {return 0;}MediaPlayer mediaPlayer = new MediaPlayer();try {mediaPlayer.setDataSource(filePath);mediaPlayer.prepare();mediaPlayerDuration = mediaPlayer.getDuration();} catch (IOException ioException) {LogPlus.i("lgq", ioException.getMessage());}if (mediaPlayer != null) {mediaPlayer.stop();mediaPlayer.reset();mediaPlayer.release();}return mediaPlayerDuration; }時長轉為分鐘,秒數顯示
?
int fz = (int)(getAudioFileVoiceTime(files[i].getPath())/1000)/60; LogPlus.d("lgq==fz ==="+fz+"。。。。余數==="+(getAudioFileVoiceTime(files[i].getPath())/1000)%60);實現demo:?https://download.csdn.net/download/meixi_android/12821205
總結
以上是生活随笔為你收集整理的Android 播放raw文件夹下音频文件,本地MP3文件播放,播放云端MP3文件,获取MP3文件播放时长的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux磁盘冗余阵列
- 下一篇: Android运行时异常 couldn'