日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android 播放raw文件夹下音频文件,本地MP3文件播放,播放云端MP3文件,获取MP3文件播放时长

發布時間:2023/12/10 Android 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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文件播放时长的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。