如何在上传视频时更频繁地将YouTube API设置为触发事件ProgressChanged?

时间:2017-02-25 21:04:37

标签: .net youtube-data-api

我可以看到每上传10MB就会发生一次事件,但我想更频繁地获取进展。

假设文件的大小小于10MB,例如,起点和终点之间没有进度信息。

我尝试InsertMediaUpload.GetProgress()但它只返回上传的ProgressChanged值,而不是当前值。

1 个答案:

答案 0 :(得分:0)

您可以通过更改ChunkSize请求的InsertMediaUpload属性来实现此目的。

来自Google API .NET Guide

  

默认块大小为10MB,但您可以通过将请求中的ChunkSize属性设置为256KB的任意倍数来更改它。

我使用可用的示例here对此进行了测试。

使用

ChunkSize中设置Run()
videosInsertRequest.ChunkSize = 262144;

videosInsertRequest.ChunkSize = ResumableUpload.MinimumChunkSize;

我可以看到更频繁地调用videosInsertRequest_ProgressChanged处理程序。

我认为可以通过在视频上传时检查GetProgress().BytesSent来增加进度报告,但这也只会在每个" chunk"之后更新。 (因此,我们可以获得的最频繁的报告是由ChunkSize设置并在ProgressChanged处理程序中捕获的。)