1.使用MediaMetadataRetriever
MediaMetadataRetriever mmr = new MediaMetadataRetriever();mmr.setDataSource(path);String duration = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION); // 播放时长单位为毫秒String time = timeParse(Long.parseLong(duration));holder.item_time_txt.setText(time);
2.计算方法
/** * Android 音乐播放器应用里,读出的音乐时长为 long 类型以毫秒数为单位,例如:将 234736 转化为分钟和秒应为 03:55 (包含四舍五入) * @param duration 音乐时长 * @return */ public static String timeParse(long duration) { String time = "" ; long minute = duration / 60000 ; long seconds = duration % 60000 ; long second = Math.round((float)seconds/1000) ; if( minute < 10 ){ time += "0" ; } time += minute+":" ; if( second < 10 ){ time += "0" ; } time += second ; return time ; } 3.String类型转化成long
Long.ValueOf("String")与Long.parseLong("String")的区别
Long.ValueOf("String")返回Long包装类型
Long.parseLong("String")返回long基本数据类型