Yahoo IM有一个巧妙的伎俩。如果您发布了一个指向YouTube视频的网址链接,则会在其中显示加载了该网址视频的Flash播放器。
我想为我的基于Delphi(7)的聊天室(www.magchat.com)做同样的事情。显示组件是TRichView。
我搜索谷歌并发送大量电子邮件但没有任何成功......任何人都有任何建议吗?
我想要实现的效果是当用户在聊天程序中使用TRichView组件向youtube发布URL链接时......程序会生成一个flash播放器而不是url,从网址链接播放的电影。我不知道如何解决这个问题,但正如我所说,我已经在Yahoo的IM程序中看到了这一点,所以它显然是可能的。
没有任何方法可以在我知道的TRichView组件中嵌入twebbrowser。我假设当检测到网址时,这必须是某种闪存播放器。 TRichView组件支持闪存。
我希望这很清楚。我不确定我的初步问题是否完全清楚。
提前致谢,
马克甘迪 www.magchat.com答案 0 :(得分:1)
每当您看到带有http://www.youtube.com/watch
参数的v
网址时,只需添加以下HTML代码段:
<object width="425" height="344">
<param name="movie" value="http://www.youtube.com/v/[video-id]&hl=en&fs=1&">
</param>
<param name="allowFullScreen" value="true">
</param>
<param name="allowscriptaccess" value="always">
</param>
<embed src="http://www.youtube.com/v/[video-id]&hl=en&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344">
</embed>
</object>
使用网址中的[video-id]
参数替换每次出现的v
。
上面的HTML代码段只是直接从页面中获取随机YouTube视频的“嵌入”代码。您可以调整一些参数,如大小等。
答案 1 :(得分:0)
TRichView
已经知道如何显示HTML,对吗?您不需要在其中嵌入TWebBrowser
。那么你不能插入Laurence's answer演示的HTML吗?你说组件毕竟支持Flash。
如果事实证明TRichView
不支持Flash,那么请尝试将其作为Delphi控件嵌入。 You already asked how to do that. TRichView
表示它知道如何插入Delphi控件,因此将Flash ActiveX播放器导入Delphi;这将定义一个Delphi组件,您应该能够将其置于TRichView
。
答案 2 :(得分:0)
为了能够在Delphi win32应用程序中嵌入youtube视频,您需要将flash activeX控件包装到一个组件中,所以Watch this video。
要显示视频,只需设置TShockWaveFlash组件的movie属性即可。如果您的网址为http://www.youtube.com/watch?v=oGeCqRfRAcQ,请将其转换为http://www.youtube.com/v/oGeCqRfRAcQ&hl=en&fs=1
视频似乎需要一段时间才可用,并且在我第一次运行应用程序时似乎没有工作,不知道为什么,但我会让你解决这个问题(这是我第一次)我试过这个)。
答案 3 :(得分:0)
您可能还想查看oEmbed。这是请求媒体文件的嵌入版本的标准方法,因此您不必执行其他用户推荐的任何搜索/替换。以下是YouTube示例:
您有一个YouTube网址:
http://youtube.com/watch?v=M3r2XDceM6A
您向YouTube的oEmbed端点发出请求以获取嵌入代码:
http://www.youtube.com/we/love/oembed/?url=http%3A//youtube.com/watch%3Fv%3DM3r2XDceM6A&format=json
他们返回一个包含HTML代码段的JSON响应:
{
"version": "1.0",
"type": "video",
"provider_name": "YouTube",
"provider_url": "http://youtube.com/",
"width": 425,
"height": 355,
"title": "Amazing Nintendo Facts",
"html":
"<object width=\"425\" height=\"355\">
<param name=\"movie\" value=\"http://www.youtube.com/v/M3r2XDceM6A&hl=en\"></param>
<param name=\"wmode\" value=\"transparent\"></param>
<embed src=\"http://www.youtube.com/v/M3r2XDceM6A&hl=en\" type=\"application/x-shockwave-flash\"
wmode=\"transparent\" width=\"425\" height=\"355\"></embed>
</object>",
}
许多其他网站也支持oEmbed:Flickr,Viddler,Qik,Hulu,Vimeo等。