当前位置: 代码迷 >> Android >> android MediaPlayer 获取MP3 播放时长有关问题
  详细解决方案

android MediaPlayer 获取MP3 播放时长有关问题

热度:230   发布时间:2016-05-01 10:35:02.0
android MediaPlayer 获取MP3 播放时长问题
通过MediaPlayer 的 getDuration() 是可以获取MP3的播放时长,
但是遍历MP3文件的时候就需要new 一个player 对象

不知道还有没有其他方式获取MP3文件播放时长

下面是我的代码




public static MediaPlayer player;

/**
 * 获取音乐播放时长
 * @return
 */
private String getMusicTime() {
int musicTime = player.getDuration() / 1000;
return musicTime / 60 + ":" + musicTime % 60;
}



------解决方案--------------------
直接查数据库
时长是放在media的数据库的
------解决方案--------------------
直接读就可以


String[] mCursorCols = new String[] { MediaStore.Audio.Media._ID,
MediaStore.Audio.Media.ARTIST, MediaStore.Audio.Media.ALBUM,
MediaStore.Audio.Media.DURATION };

mCursor = getContentResolver().query(MUSIC_URL, mCursorCols,
null, null, null);
// 获取歌曲播放时长
public int getDurationByPosition(Cursor c, int position) {
c.moveToPosition(position);
int durationIndex = c.getColumnIndex(MediaStore.Audio.Media.DURATION);
int info = c.getInt(durationIndex) / 1000;
return info;
}
  相关解决方案