首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取YouTube现场活动的当前持续时间

获取YouTube现场活动的当前持续时间
EN

Stack Overflow用户
提问于 2015-03-14 23:40:01
回答 2查看 2.6K关注 0票数 2

有没有办法在直播到YouTube live时获取录制流的当前时间?我希望能够在整个直播流中的某些点发送API请求,以获取流的当前分钟/秒。我试图实现的最终结果是能够记录一系列亮点。本质上,用户按下一个按钮,它就会得到该时刻流的当前时间,然后用户可以为该时刻发生的事情添加备注。但是,通过阅读所有文档,我找不到一种方法来获取录制的流的当前时间。

EN

回答 2

Stack Overflow用户

发布于 2015-03-19 04:48:49

看起来您可以使用iFrame应用编程接口的getDuration()方法来完成此操作。

https://developers.google.com/youtube/iframe_api_reference#getDuration

查看现场活动的特别说明:

如果当前正在播放的视频是直播事件,则getDuration()函数将返回自直播视频流开始以来所经过的时间。具体地说,这是视频在未被重置或中断的情况下流式传输的时间量。此外,此持续时间通常长于实际事件时间,因为流式传输可能在事件的开始时间之前开始。

您没有指定语言,所以我将用两种不同的语言发布代码示例。两者都利用iFrame应用编程接口。

JavaScript:

代码语言:javascript
复制
window.onYouTubePlayerReady = function(playerId) {
    window.ytplayer = document.getElementById("ytPlayer");
    console.log(window.ytplayer.getDuration());
}

Objective-C (使用YouTube的youtube-ios-player-helper类)

代码语言:javascript
复制
@property (weak, nonatomic) IBOutlet YTPlayerView *playerView;

// ...

- (void)viewDidLoad {
    [super viewDidLoad];
    [[self.playerView loadWithVideoId:@"iGTIK_8ydoI"] // live at the time answer was posted
}

// ...

- (void)getDurationOfPlayingVideo {

    NSLog(@"duration: %d", [self.playerView duration]);
}

正如我个人测试中的免责声明: Live Streaming API非常喜怒无常且不稳定,我发现有些Live事件返回的持续时间为0。

票数 3
EN

Stack Overflow用户

发布于 2019-03-17 03:16:08

这是旧的,但您可以通过youtube API获得liveStreamingDetails.actualStartTime

有了actualStartTime,您就可以计算出所用的时间。

代码语言:javascript
复制
"https://www.googleapis.com/youtube/v3/videos"
        "?part=liveStreamingDetails"
        "&id=$id&key=$_key"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29050771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档