在uiwebview中播放本地视频

时间:2011-01-29 11:27:58

标签: objective-c ipad html5 video uiwebview

我将本地html文件加载到ipad应用程序中:

NSURL *baseURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]];
NSString *path = [[NSBundle mainBundle] pathForResource:@"lieferant1" ofType:@"html"];
NSString *content = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
[webView loadHTMLString:content baseURL:baseURL];

显示网页,我的html文件的内容:

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p>
<p>
    <video>
        <source src="banane.m4v">
    </video>
</p>

所以,banane.m4v在我的根目录中,只在某些组中,但不在真实目录中。 enter image description here

但我的网页浏览中的视频部分保持黑色。没有视频加载。我将我的html文件和我的.m4v视频上传到我的网络服务器,检查它是否编码不正确,但一切正常,用ipad浏览html文件。

一些想法有什么不对?

4 个答案:

答案 0 :(得分:8)

天哪,

<video controls>
    <source src="banane.m4v">
</video>

其中controls是神奇的词。

:X

答案 1 :(得分:0)

我可能错了(或愚蠢),但是,您是否尝试file:///banane.m4v(为根添加额外的'/')

答案 2 :(得分:0)

对于遇到划线游戏符号的每个人, 当您拖动电影文件时(mp4的工作也是如此,只需确保编解码器正常 - 最简单的方法是使用QuickTime导出iPhone)会出现一个对话框。 确保在“添加到目标”下勾选您的应用。

或者,如果您已将视频复制到项目中,如果您在Xcode的文件浏览器中单击它,您将在右侧选择目标。

答案 3 :(得分:0)

您需要在allowsInlineMediaPlayback上设置UIWebView属性:

[webView setAllowsInlineMediaPlayback:YES];