2016-10-08 2 views
0

В моем приложении у меня есть URL-адрес видео YouTube. Теперь, как я могу получить продолжительность видео с этого URL-адреса?Как получить длину видео Youtube в android?

Я использовал этот код, но он не работает. Любой другой способ получить продолжительность видео?

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

Если у вас есть проигрыватель YouTube, созданный с помощью этого идентификатора, вы можете получить от него длительность видео.

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

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

    } 

} 

, а затем вы можете сделать

youtubePlayer.getDurationMillis() 

, чтобы получить общее время видео. Обратите внимание: он будет возвращать 0 при загрузке видео, поэтому вам может потребоваться отслеживать эволюцию возвращаемого значения и ждать его.

ч.,

Смежные вопросы