在C#ShockWave组件上调用Play()无法启动YouTube视频播放?

时间:2013-07-16 00:43:30

标签: c# winforms youtube shockwave

我有一个简单的WinForms C#应用程序,它在表单上嵌入了ShockWave COM组件。我有一个测试按钮,单击该按钮,调用组件上的Play()方法。当我点击按钮时没有任何反应。在ShockWave组件中,YouTube播放器清晰可见,视频静止,框架中的播放器镶边,上面有一个很大的播放按钮。但它没有开始播放。

示例代码:

private void button1_Click(object sender, EventArgs e)
{
    axShockwaveFlash1.Play();
}

有谁知道如何解决这个问题?我想知道是不是因为ShockWave组件可能需要在Play()方法工作之前清除“需要点击播放”或其他一些注册表/系统设置?如果恰好是这种情况,那么我该如何以编程方式执行此操作以便新安装完美运行而不会让用户通过某种预先设置的麻烦?

1 个答案:

答案 0 :(得分:4)

使用 Youtube视频 AxShockwaveFlash对象Play()方法无效,但是,有一个很好的解决方法。

秘诀是将?autoplay=1添加到包含您要播放的视频的网址末尾。

这样的事情会产生预期的效果:

private void button1_Click(object sender, EventArgs e)
{
    string path = @"http://www.youtube.com/v/Q-h4ulFK2Ek?autoplay=1";
    axShockwaveFlash1.Load(0, path);
}