2016-10-08 31 views
0

在我的應用程序中我有youtube視頻網址。現在我怎樣才能從該網址獲得視頻的持續時間?如何在android中檢索Youtube視頻長度?

我用這個代碼,但它不起作用。任何其他方式來獲得視頻持續時間?

MediaMetadataRetriever retriever = new MediaMetadataRetriever(); 
     retriever.setDataSource("https://www.youtube.com/watch?v=" + videoID); 
     String time = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION); 
     long timeInmillisec = Long.parseLong(time); 
     long duration = timeInmillisec/1000; 
     long hours = duration/3600; 
     long minutes = (duration - hours * 3600)/60; 
     long seconds = duration - (hours * 3600 + minutes * 60); 
     Toast.makeText(this, "https://www.youtube.com/watch?v=" + videoID + "\n" + hours + " : " + minutes + " : " + seconds, Toast.LENGTH_SHORT).show(); 

回答

0

如果你有一個用這個ID實例化的youtube播放器,你可以從他那裏獲得視頻持續時間。

@Override 
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean wasRestored) { 

    if (!wasRestored) { 
     youTubePlayer.loadVideo(videoID); 
     this.youtubePlayer=youTubePlayer; 

    } 

} 

,然後你可以做

youtubePlayer.getDurationMillis() 

獲得總視頻的時間。請注意,視頻加載時它將返回0,因此您可能需要觀察返回值的演變並等待它。

關於,

相關問題