【问题标题】:Playing youtube video in windows 8 app在 Windows 8 应用程序中播放 youtube 视频
【发布时间】:2012-11-10 13:09:09
【问题描述】:

我一直在尝试在 Windows 8 html5 和 javascript 应用程序中播放 youtube 视频,但没有成功!

我尝试将 youtube 提供的用于嵌入视频的代码复制粘贴到 default.html 的正文中,例如:

<iframe width="420" height="315" src="http://www.youtube.com/embed/k07IaB9yq_U" frameborder="0" allowfullscreen></iframe>

这会产生以下错误:

视频播放需要 Adob​​e Flash 播放器或支持 HTML5 的浏览器。 获取最新的 Flash 播放器 了解有关更新 HTML5 浏览器的更多信息。

当我尝试将视频标签与上一个链接一起使用时,例如:

<video src="http://www.youtube.com/embed/k07IaB9yq_U" controls></video>

它说来源无效!

这样做的正确方法是什么?

谢谢

【问题讨论】:

    标签: html windows-8 windows-runtime


    【解决方案1】:

    使用 setInnerHTMLUnsafe 方法,因为 win 8 应用程序不喜欢在应用程序中注入外部 JS。 videoPlayer 是您要添加嵌入的 div。

     var content = '<iframe width="480" height="270" src="http://www.youtube.com/embed/8sPj0Ic8KQ8?rel=0" frameborder="0" allowfullscreen></iframe>' ;
     WinJS.Utilities.setInnerHTMLUnsafe(videoPlayer, content);
    

    【讨论】:

    • 这对我不起作用。我希望它是这么简单。
    【解决方案2】:

    YouTube 有一个测试程序,可以提供一些 HTML5 视频。你可以加入它here。完成此操作后,您应该能够通过导航到 YouTube URL 将 HTML5 YouTube 视频嵌入到 WebView 控件中。

    Flash 视频无法在 Metro 风格应用中显示。

    webview 控件的代码

    string htmlFragment =
    @"<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
                <html>
                   <head>
                      <title>YouTubePagesample</title>
                   </head>
                   <iframe width='560' height='315' src='http://www.youtube.com/embed/{YoutubeID}' frameborder='0' allowfullscreen></iframe>
                   <body>
                   </body>
                </html>;";
            this.webView.NavigateToString(htmlFragment);
    

    【讨论】:

    • hmmm .. 有趣,这很有效,但是当我尝试使用直播流的视频 ID 时,我得到了同样的错误:视频播放需要 Adob​​e Flash 播放器或支持 HTML5 的浏览器。获取最新的 Flash 播放器 了解有关更新 HTML5 浏览器的更多信息。
    猜你喜欢
    • 2010-10-24
    • 1970-01-01
    • 2011-11-16
    • 2012-04-05
    • 2012-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-21
    相关资源
    最近更新 更多