2016-10-08 7 views
0

내 앱에는 YouTube 동영상 URL이 있습니다. 이제 어떻게 그 URL에서 비디오의 길이를 얻을 수 있습니까?안드로이드에서 Youtube Video Length를 검색하는 방법은 무엇입니까?

이 코드를 사용했지만 작동하지 않습니다. 동영상 길이를 유지하는 다른 방법은 없습니까?

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을 반환하므로 반환 된 값의 진화를 관찰하고 기다려야 할 수도 있습니다.

안부,