簡體   English   中英

Android 上的視頻時長

[英]duration of a video on Android

在這段代碼中,我嘗試使用getDuration()方法getDuration()視頻的持續時間,但它不起作用,並且始終返回 -1。 怎么了? 我可以用另一種方式獲得持續時間嗎?(視頻是放在目錄 raw 中的 mp4 文件)

    videoPlayer = (VideoView) this.findViewById(R.id.videoView2);
    videoPlayer.setVideoPath("android.resource://"+getPackageName()+"/"+R.raw.video3);
    int duration = videoPlayer.getDuration();

從 videoView 中的 getDuration 復制:

public int getDuration(){
    if (isInPlaybackState()) {
        return mMediaPlayer.getDuration();
    }
    return -1;
}

因此,據我所知,如果視頻沒有播放,您將無法獲得正確的持續時間。 所以一個可能的解決方案是開始播放,獲取持續時間,然后停止並重新啟動視頻。

在 setOnPreparedListener 中調用 getDuration

 videoPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
                @Override
                public void onPrepared(MediaPlayer mediaPlayer) {
                    long duration = videoPlayer.getDuration();
                }
            });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM