将Youtube视频嵌入到iOS的HTML中

时间:2013-12-09 19:37:57

标签: html ios webview youtube

我正在使用[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"faq" ofType:@"html"] isDirectory:NO]]];将html文件加载到我的网页视图现在我想将一个youtube视频嵌入到html文件中。我有文件但不知道要添加什么以使其工作。我找到了代码,让你把它作为一个字符串加载,但我需要的是将它加载到html文件中。我尝试添加一些修复程序,在html文件的其他帖子中找到相同的代码,但它总是作为外部链接出现,而不是嵌入在html文件中。这就是我所拥有的:

<script type="text/javascript" src="http://www.youtube.com/iframe_api"></script>
    <script type="text/javascript">
    function onYouTubeIframeAPIReady()
    {
    ytplayer=new YT.Player('playerId',{events:{onReady:onPlayerReady}})
    }
    function onPlayerReady(a)
    {
    a.target.playVideo();
    }</script>
    <iframe id="playerId" type="text/html" width="250" height="180" src="http://www.youtube.com/embed/9qkXs768JKY?enablejsapi=1&rel=0&playsinline=1&autoplay=1" frameborder="0"></iframe>

我的ViewController有:

self.webView.allowsInlineMediaPlayback = YES; self.webView.mediaPlaybackRequiresUserAction = NO;

感谢任何帮助和指导。提前谢谢。

其他尝试:

我在HTML文件中尝试了下面的代码,但现在它显示了一个带有一条直线的播放按钮。知道怎么解决吗?

<video width="280" height="240" controls>
    <source src="movie.mp4" type="video/mp4">
        <source src="movie.ogg" type="video/ogg">
            <object data="movie.mp4" width="220" height="240">

                <script type="text/javascript" src="http://www.youtube.com/iframe_api"></script>
                    <script type="text/javascript">
                    function onYouTubeIframeAPIReady()
                    {
                    ytplayer=new YT.Player("playerId",{events:{onReady:onPlayerReady}})
                    }
                    function onPlayerReady(a)
                    {
                    a.target.playVideo();
                    }
                    </script>
                <iframe id="playerId" type="text/html" width="250" height="180" src="http://www.youtube.com/embed/9qkXs768JKY?enablejsapi=1&rel=0&playsinline=0&autoplay=0" frameborder="0"></iframe>
                <!-- <embed src="http://www.youtube.com/embed/9qkXs768JKY" width="220" height="200">
                </embed> -->
            </object>
        </source>
    </source>
</video>

2 个答案:

答案 0 :(得分:0)

我正在使用此功能在网络视图中播放YouTube视频:

<iframe class="youtube-player" type="text/html" width="640" height="385" src="http://www.youtube.com/embed/XDJxoVIqdW0" frameborder="0">

答案 1 :(得分:0)

对于您的UIWebView,您需要将allowsInlineMediaPlayback设置为YES才能在您的应用中显示媒体。它默认为iPhone上的NO

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIWebView_Class/Reference/Reference.html#//apple_ref/occ/instp/UIWebView/allowsInlineMediaPlayback