2016-10-08 3 views
0

In meiner App habe ich Youtube Video URL. Wie kann ich die Dauer des Videos von dieser URL erhalten?Wie Youtube Video Länge in Android abrufen?

Ich habe diesen Code verwendet, aber es funktioniert nicht. Gibt es eine andere Möglichkeit, die Videodauer zu erhalten?

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(); 

Antwort

0

Wenn Sie einen YouTube-Player mit dieser ID instanziiert haben, können Sie die Videodauer von ihm erhalten.

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

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

    } 

} 

und dann können Sie tun

youtubePlayer.getDurationMillis() 

Gesamt Videos Zeit zu bekommen. Beachten Sie, dass beim Laden des Videos 0 zurückgegeben wird, sodass Sie möglicherweise die Entwicklung des zurückgegebenen Werts beobachten und darauf warten müssen.

grüße,