1. 程式人生 > >獲取視訊檔案的播放時長

獲取視訊檔案的播放時長

//獲取MP4檔案的時長
    private String getDuration(String pt){
        String time = null;
        //Log.e(TAG, "getDuration: uri---"+Uri.parse(pt) );
        MediaPlayer mp = MediaPlayer.create(mContext, Uri.parse(pt));
        if (mp != null){
            int duration = mp.getDuration();
            mp.release();
            duration /= 1000;
            if (duration < 60){
                time = "00:00:" + transform(duration);
            }else if (duration >= 60 && duration < 60 * 60){
                int min = duration / 60;
                time = "00:" + transform(min) + ":"+ transform(duration % 60);
            }else {
                int hour = duration / 60 / 60;
                int min = 0;
                int sec = 0;
                if (duration - 3600 >= 60){
                    min = (duration - 3600) / 60;
                    sec = (duration - 3600) % 60;
                }else if (duration - 3600 < 60){
                    min = 00;
                    sec = duration - 3600;
                }
                time = transform(hour) + ":" + transform(min) + ":" + transform(sec);
            }
        }
        if (time == null){
            time = "00:00:00";
        }
        return time;
    }

    private String transform(int i){
        if (i >= 10){
            return i + "";
        }else if(i < 10){
            return "0" + i;
        }
        return null;
    }