【问题标题】:How can I set YouTube api to fire event ProgressChanged more frequently when uploading video?上传视频时,如何设置 YouTube api 以更频繁地触发事件 ProgressChanged?
【发布时间】:2017-07-16 15:19:29
【问题描述】:

我可以看到每上传 10MB 就会触发一次事件,但我希望更频繁地获取进度。

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

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

【问题讨论】:

    标签: .net youtube-data-api


    【解决方案1】:

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

    来自Google API .NET Guide

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

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

    Run() 中设置ChunkSize

    videosInsertRequest.ChunkSize = 262144;
    

    videosInsertRequest.ChunkSize = ResumableUpload.MinimumChunkSize;
    

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-07
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 2013-03-27
      • 1970-01-01
      • 2013-10-08
      相关资源
      最近更新 更多