编辑:我在这个答案原来的例子有CGRectZero的帧而被初始化的网页流量。这适用于iOS 3.2。从iOS 4开始,webview必须具有非零框架,否则视频将无法播放。我在下面编辑了我的示例以反映此更改。
这里接受的答案并不准确。实际上,您可以使用UIWebView来流式传输视频,并且在某些方面它比MPMoviePlayerController更好。如果您通过loadRequest:告诉UIWebView请求一个视频文件(例如mp4),它会打开一个新窗口并在您的应用内传输视频。与MPMoviePlayerController不同,UIWebView创建的视频窗口可以旋转为横向或纵向。视频结束后,用户可以关闭此窗口并返回到您的应用程序。
编辑2:既然你现在可以实现旋转使用MPMoviePlayerViewController视频播放器,我再也不能想到一个理由使用UIWebView的使用在这个答案中描述的技术的视频。
提示:由于UIWebView中创建自己的窗口中播放视频,你甚至不需要到一个UIWebView添加到您的视图层次。您可以创建UIWebView对象并调用loadRequest:播放视频,而无需将对象传递给addSubview :.
self.webView = [[[UIWebView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]] autorelease];
NSURL *url = [NSURL URLWithString:@"http://www.jonathancoulton.com/music/thingaweek/CodeMonkey.mp3"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webView loadRequest:request];
好的。所以我真正的选择是在YouTube应用程序和MPMoviePlayerController之间。谢谢 - 后者的选择确实很容易。我可能会继续尝试两种方式。 – Nosredna 2009-06-10 16:41:05
丹 - 你能编辑你的答案,以便两条代码行都被格式化为“代码”。至少在Firefox 3.5中,我将NSString行看作格式化代码,但MPMoviePlayerController行不是。只是一个建议,使它看起来更好的下一个人。 – 2009-07-08 19:28:19