Dav*_*rtz 4 embed youtube delphi video delphi-xe7
我正在尝试将一个YouTube视频加载到Delphi XE7中的TWebBrowser中,我收到的错误是:
视频播放需要Adobe Flash Player或支持HTML5的浏览器.
获取最新的Flash Player
了解有关升级到HTML5浏览器的更多信息
我可以正常加载普通的HTML.
我之前在这里发布的示例是针对Delphi的旧版本,所以我想知道这是新版本或TWebBrowser的问题,还是我环境中的问题(VMWare 7和Windows 7).
编辑:我的目标只是能够从URL加载和播放视频,如YouTube视频.TWebBrowser以外的解决方案很好,特别是如果它们可以跨平台运行.
您想知道您的问题是否与Delphi版本有关.WebBrowser控件是一个系统控件.Delphi版本不相关,因为该服务由底层系统提供.如果有任何变化,很可能是You Tube提供视频的方式.
如果您正在制作嵌入远程视频的HTML,那么您应该按照You Tube的最新文档来了解它应该如何完成.不要使用多年的Delphi特定文章作为指导.使用特定于You Tube使用的最新技术的现代文章.
我确实有一种感觉,虽然你没有在问题中说明,你正在使用旧的,可能已弃用的方法来嵌入You Tube视频.使用如下所述的iframe:http://www.w3schools.com/html/html_youtube.asp
视频播放需要Adobe Flash Player或支持HTML5的浏览器.
在没有采取特定步骤的情况下,您的WebBrowser控件将使用传统的IE浏览器引擎.所以它不会支持HTML5.甚至可能不支持Flash,也就是说You Tube仍然准备将视频作为Flash提供服务.如今HTML5是首选.尤其是因为现代浏览器支持开箱即用,并且不需要安装第三方Flash插件.
选择使用带有WebBrowser控件的现代HTML5浏览器的一种方法是进行显式注册表设置(浏览器功能模拟),并可能指定DOCTYPE.更多细节:如何在IE9模式下运行Delphi TWebbrowser组件?虽然该问题专门询问IE9,但答案中的文档链接提供了其他IE版本的详细信息.
如果您无法控制HTML文档,则需要使用上述方法.
另一方面,如果您确实控制HTML文档的内容,那么还有另一种方法.你可以放这个
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
Run Code Online (Sandbox Code Playgroud)
作为页面中的第一项<head>.意思edge是IE的最新版本.如果您希望定位特定版本,例如IE9,那么您将使用:
<meta http-equiv="X-UA-Compatible" content="IE=9" />
Run Code Online (Sandbox Code Playgroud)
有关这方面的更多信息:
较旧版本的IE不支持此标头,如果您需要满足它们,那么您将返回到注册表中的浏览器功能模拟.感谢@whosrdaddy和@TLama的评论,似乎IE8引入了支持X-UA-Compatible.
| 归档时间: |
|
| 查看次数: |
3795 次 |
| 最近记录: |