gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 00:57:29 25 4
gpt4 key购买 nike

在我的应用程序中,我有 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();

最佳答案

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

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

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

}

}

然后你可以做

youtubePlayer.getDurationMillis()

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

问候,

关于android - 如何在 android 中检索 Youtube 视频长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39930343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com