我正在使用YouTube.net API将视频上传到单个频道。我使用的直接上传与此代码:
Video newVideo = new Video();
newVideo.Title = poi.Title;
newVideo.Tags.Add(new MediaCategory("Travel", YouTubeNameTable.CategorySchema));
newVideo.Keywords = "my key words";
newVideo.Description = "my description";
newVideo.YouTubeEntry.Private = false;
newVideo.YouTubeEntry.MediaSource = new MediaFileSource("path to video");
Video createdVideo = request.Upload(newVideo);
视频上传得很好,当我调用createdVideo.Status.Name时,我得到了我所期望的"处理"。我需要知道的是视频何时完成处理,是否被接受,这样我才能告诉用户。
我将异步地完成这项工作,只需要定期调用视频并检查其状态,然后在直播时显示在网格中。
文档似乎错过了这一步,并且没有告诉我如何通过Id取回我的视频。
我显然错过了什么,所以有人能告诉我如何通过Id获取我的视频吗?
客户端库中包含的YouTubeUploader示例异步上传视频:
http://code.google.com/p/google-gdata/source/browse/#svn%2Ftrunk%2Fclients%2Fcs%2Fsamples%2FYouTubeUploader
YouTubeUploader.InsertVideo
方法(http://code.google.com/p/google-gdata/source/browse/trunk/clients/cs/samples/YouTubeUploader/YouTubeUploader/insertandretry.cs#134)启动该过程,并监听ResumableUploader
组件的AsyncOperationCompleted
和AsyncOperationProgress
事件以跟踪上载的状态:
http://code.google.com/p/google-gdata/source/browse/trunk/clients/cs/samples/YouTubeUploader/YouTubeUploader/insertandretry.cs#94