Я установил на моем Mac потоковый сервер Darwin.Теперь мне нужно потоковое видео на моем iPhone в режиме реального времени
, но проблема в том, что MPMoviePlayerPlaybackDidFinishNotification вызывается еще до того, как видео воспроизводятся
Я проверил сервер и работает, и у меня естьуспешно открыл URL в сафари и быстро.но видео просто не будут воспроизводиться на симуляторе, код, который я написал, -
NSURL *movieURL=[NSURL fileURLWithPath:@"rtsp://10.41.37.160/sample_300kbit.mov"];
// NSURL *movieURL = [NSURL URLWithString:@"rtsp://10.41.37.160/sample_300kbit.mp4"];
if (movieURL != nil)
{
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];
[moviePlayer.view setFrame: CGRectMake(0, 0, 320, 400)];
[moviePlayer setControlStyle:MPMovieControlStyleFullscreen];
[moviePlayer setMovieSourceType:MPMovieSourceTypeStreaming];
[self.view addSubview:moviePlayer.view];
moviePlayer.fullscreen=YES;
// moviePlayer.initialPlaybackTime = -1.0;
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayBackDidFinish:) name:MPMoviePlayerScalingModeDidChangeNotification object:moviePlayer];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(endPlay:) name:MPMoviePlayerPlaybackDidFinishNotification object:moviePlayer];
moviePlayer.scalingMode = MPMovieScalingModeAspectFit;
moviePlayer.shouldAutoplay=YES;
[moviePlayer play];
//[self reloadInputViews];
}
-(void)moviePlayBackDidFinish: (NSNotification*)notification
{
self.navigationItem.hidesBackButton = FALSE;
moviePlayer = [notification object];
[moviePlayer play];
}
-(void)endPlay: (NSNotification*)notification
{
NSLog(@"end Playing");
[[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerScalingModeDidChangeNotification object:moviePlayer];
[[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:moviePlayer];
[moviePlayer stop];
[moviePlayer release];
}