РЕДАКТИРОВАТЬ: Мой оригинальный пример в этом ответе инициализировал веб-просмотр с рамкой CGRectZero. Это работало до iOS 3.2. Начиная с iOS 4, веб-просмотр должен иметь ненулевой кадр, иначе видео не будет воспроизводиться. Я отредактировал мой пример ниже, чтобы отразить это изменение.
Принятый ответ здесь не точный. Фактически вы можете использовать UIWebView для потоковой передачи видео, и в некоторых отношениях это лучше, чем MPMoviePlayerController. Если вы скажете UIWebView запросить видеофайл (например, mp4) через loadRequest:, он откроет новое окно и начнет потоковую передачу видео в вашем приложении. В отличие от 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];