2016-10-08 12 views
0

私のアプリで私はyoutubeビデオのURLを持っています。今、どのように私はそのURLからのビデオの期間を得ることができますか?アンドロイドで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が返されるので、返された値の進化を見てそれを待たなければならないかもしれないことに注意してください。

について、

関連する問題