【问题标题】:How can i check if youtube video is playable or not?如何检查 youtube 视频是否可播放?
【发布时间】:2016-02-05 21:07:13
【问题描述】:

这样我可以判断视频是否仍在处理或已完成。

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 网站上看到一条消息,表明它仍在处理视频:

但是在我的程序中,当我运行它时,我只是看到这个圆圈,就像它正在尝试播放视频一样,但由于它正在进行中,它什么也不做,只是继续尝试:

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

我只是在我的其他项目中检查我的视频已成功上传到 youtube 之后才尝试播放,然后我想尝试检查视频是否可播放。

在我首先上传视频的项目中,我使用的是 youtube api v3,但我没有找到如何检查处理状态的已知问题,即它无法正常工作。

【问题讨论】:

    标签: c# .net winforms youtube youtube-api


    【解决方案1】:

    Videos 资源有一个名为 processingStatus 的属性,它包含您想要的内容。来自documentation

    ProcessingDetails.processingStatus- 视频的处理 状态。此值表示 YouTube 是否能够处理 视频或视频是否仍在处理中。

    此属性的有效值为:

    • Failed – 视频处理失败。请参阅 ProcessingFailureReason。
    • 处理中 – 当前正在处理视频。请参阅处理进度。
    • 成功 – 视频已成功处理。
    • 已终止 - 处理信息不再可用。

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

    【讨论】:

    • 你能告诉我如何使用它的例子吗?在链接中没有.net 的示例,我没有找到如何使用videos.list 我根本找不到视频。我有 api 的视频类,但没有视频。
    猜你喜欢
    • 2016-10-22
    • 2019-08-19
    • 2013-07-03
    • 2013-12-13
    • 1970-01-01
    • 2021-01-31
    • 1970-01-01
    • 2015-02-19
    • 2017-09-20
    相关资源
    最近更新 更多