Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中检索Youtube视频长度?_Android_Android Youtube Api_Android Video Player - Fatal编程技术网

如何在android中检索Youtube视频长度?

如何在android中检索Youtube视频长度?,android,android-youtube-api,android-video-player,Android,Android Youtube Api,Android Video Player,在我的应用程序中,我有youtube视频url。现在如何从该url获取视频的持续时间 我使用了这个代码,但它不起作用。还有其他方法可以获得视频持续时间吗 MediaMetadataRetriever retriever = new MediaMetadataRetriever(); retriever.setDataSource("https://www.youtube.com/watch?v=" + videoID); String time = retriev

在我的应用程序中,我有youtube视频url。现在如何从该url获取视频的持续时间

我使用了这个代码,但它不起作用。还有其他方法可以获得视频持续时间吗

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

如果你有一个用这个id实例化的youtube播放器,你可以从他那里得到视频持续时间

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

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

    }

}
然后你就可以做了

youtubePlayer.getDurationMillis()
获取视频的总时间。请注意,当加载视频时,它将返回0,因此您可能需要观察返回值的变化并等待它

问候,