Home Articles

如何检查YouTube视频是否可播放?

Asked
Viewed 1157 times
-1

通过这种方式,我可以判断视频是否仍在处理或完成该过程 .

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Youtube_Player
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            try
            {
                axShockwaveFlash1.Movie = "https://www.youtube.com/v/mymovieid0&autoplay=1";
            }
            catch(Exception error)
            {
                string er = error.ToString();
            }
        }
    }
}

当视频仍在进行中时,我会在youtube.com网站上看到一条消息,表明它仍在处理视频:

Processing

但是在我的程序中,当我运行它时,我只是看到这个圈子正在尝试播放视频但是因为它正在进行中它只会继续尝试:

Processing in my program

我尝试在我的程序中尝试捕获的try catch不像我想的那样工作 . 我需要以某种方式检查视频是否可播放,如果没有,则它仍在处理,如果是,则过程结束 .

我正在尝试这个播放只有在我的其他项目后我检查我的视频已成功上传到youtube然后我想尝试检查视频是否可播放 .

在我的项目,首先上传视频,我正在使用youtube api v3,我没有找到如何检查处理状态,它已知问题,它不起作用 .

1 Answer

  • 1

    Videos 资源有一个名为 processingStatus 的属性,它具有您想要的属性 . 来自documentation

    ProcessingDetails.processingStatus-视频的处理状态 . 此值表示YouTube是否能够处理视频或视频是否仍在处理中 . 此属性的有效值为:失败 - 视频处理失败 . 请参阅ProcessingFailureReason . 处理 - 目前正在处理视频 . 请参阅ProcessingProgress . 成功 - 视频已成功处理 . 已终止 - 处理信息不再可用 .

    因此,如果您使用videos.list()并指定 part=processingDetails 并包含要检查的视频的ID,以查看它是否已完成处理 .

Related