在 C# ShockWave 组件上调用 Play() 不会启动 YouTube 视频播放?
Posted
技术标签:
【中文标题】在 C# ShockWave 组件上调用 Play() 不会启动 YouTube 视频播放?【英文标题】:Calling Play() on C# ShockWave component doesn't start YouTube video playback? 【发布时间】:2013-07-14 00:37:27 【问题描述】:我有一个简单的 WinForms C# 应用程序,它在表单上嵌入了 ShockWave COM 组件。我有一个测试按钮,单击该按钮时,会调用组件上的 Play() 方法。当我单击按钮时,没有任何反应。 YouTube 播放器在 ShockWave 组件中清晰可见,视频静止,播放器镶边在框架中,上面有一个大的播放按钮。但它没有开始播放。
示例代码:
private void button1_Click(object sender, EventArgs e)
axShockwaveFlash1.Play();
有谁知道如何解决这个问题?我想知道这是否是因为 ShockWave 组件可能需要“需要点击播放”或在 Play() 方法起作用之前清除其他一些注册表/系统设置?如果碰巧是这种情况,那么我该如何以编程方式执行此操作,以便新安装能够完美运行,而不会让用户遇到某种预先设置的麻烦?
【问题讨论】:
【参考方案1】:对于 Youtube 视频 和 AxShockwaveFlash 对象,Play()
方法不起作用,但是,有一个很好的解决方法。
秘诀是将?autoplay=1
添加到包含您要播放的视频的 URL 的末尾。
这样的东西会提供预期的效果:
private void button1_Click(object sender, EventArgs e)
string path = @"http://www.youtube.com/v/Q-h4ulFK2Ek?autoplay=1";
axShockwaveFlash1.Load(0, path);
【讨论】:
以上是关于在 C# ShockWave 组件上调用 Play() 不会启动 YouTube 视频播放?的主要内容,如果未能解决你的问题,请参考以下文章
如何在活动设计器中启用 Shockwave Flash 对象?
在 MPMoviePlayerController 上调用 play 后,电影播放有一些延迟
如何使用 React Ref 调用 video.play()?