Я начал со статьи Скотта Хансельмана о том, как транслировать видео на iPhone с помощью IIS 7 Smooth Streaming и Transform Manager.Фантастическая статья и все работает на 100% как рекламируется.
http://www.hanselman.com/blog/CommentView.aspx?guid=86968CD5-FEEB-47F2-B02E-1EB4FA556379
Я могу использовать браузер на iPad, зайти на сайт моей компании и посмотреть воспроизведение видео в браузере, встроенное в HTML-страницу с использованием следующего HTML-кода.
<html>
<head>
<title>iPhone page</title>
</head>
<body>
<h1>Encoded stream</h1>
<video width="640"
height="480"
src="http://name-of-video-here.ism/manifest(format=m3u8-aapl).m3u8"
autoplay="true"
controls="true" >Live</video>
</body>
</html>
Проблема, с которой я сталкиваюсь, заключается в том, что я пытаюсь взять тот же URL-адрес "http://name -of-video-here.ism / manifest (format = m3u8-aapl) .m3u8" и попробоватьиграть в нее с помощью «CustomMPMovie» или «MPMoviePlayerController» из пользовательского приложения, работающего на том же iPad, это не работает.
Objective-C, который воспроизводит видео
NSURL *theURL = [NSURL URLWithString:[item url]];
if ([[[UIDevice currentDevice] systemVersion] doubleValue] >= 3.2)
{
NSLog(@"> 3.2");
CustomMPMovie *mp = [[CustomMPMovie alloc] initWithContentURL:theURL];
if (mp)
{
mp.moviePlayer.movieSourceType = MPMovieSourceTypeFile;
[self.navigationController presentMoviePlayerViewControllerAnimated:mp];
[mp shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationLandscapeRight];
[mp.moviePlayer play];
[mp release];
}
}
else if ([[[UIDevice currentDevice] systemVersion] doubleValue] < 3.2)
{
NSLog(@"< 3.2");
MPMoviePlayerController* theMovie = [[MPMoviePlayerController alloc] initWithContentURL: theURL];
theMovie.scalingMode = MPMovieScalingModeAspectFill;
// Register for the playback finished notification
[[NSNotificationCenter defaultCenter]
addObserver: self
selector: @selector(myMovieFinishedCallback:)
name: MPMoviePlayerPlaybackDidFinishNotification
object: theMovie];
// Movie playback is asynchronous, so this method returns immediately.
[theMovie play];
}
Может кто-нибудь предложить объяснение или возможное решение?