2009-09-29 2 views
2

Я новичок в iphone и Objective-c. Я хочу показать матч в прямом эфире, предположим, футбольный матч с пользователями, которые используют мое приложение. Что мне нужно для потокового видео в реальном времени в приложении iphone?Live Video Stream iphone

вся информация по этому вопросу ценится!

Благодаря

Ребята, пожалуйста, помогите кто-нибудь должен был сделать это раньше?

ответ

1

Предполагая, что у вас есть права на видео на соответствующий футбольный матч, вам нужен кодировщик, который будет кодировать видео в реальном времени, на лету в нужном формате (mp4, h263 и т. Д.). Метод игры в iPhone - это иметь динамический плейлист, который будет просматривать фрагменты живого видео, чтобы воспроизвести его.

+0

Спасибо за ваш ответ! Любые примеры динамического плейлиста в iphone с исходным кодом? –

3

Вам нужно только дать URL файл фильма и потоки будут автоматически установки в зависимости от скорости ваше соединение.

Имейте в виду, что будут воспроизводиться только те видеоролики, разрешение которых находится в пределах iPhone. Фильмы с более высоким разрешением будут воспроизводиться на симуляторе, но не будут работать на iPhone.

Вы должны иметь объект MPMoviePlayerController и остальной части кода, как это:

-(void) play { 

NSURL *movieURL = [NSURL URLWithString:@"http://movies.apple.com/media/us/mac/getamac/2009/apple-mvp-biohazard_suit-us-20090419_480x272.mov"]; 


if (movieURL != nil) { 
    moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:movieURL]; 

    moviePlayer.initialPlaybackTime = -1.0; 

    // Register to receive a notification when the movie has finished playing. 
    [[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.movieControlMode = MPMovieControlModeDefault; 
    moviePlayer.backgroundColor = [UIColor blackColor]; 

    [moviePlayer play]; 
} 
} 

-(void)moviePlayBackDidFinish: (NSNotification*)notification 
{ 
self.navigationItem.hidesBackButton = FALSE; 
moviePlayer = [notification object]; 
[moviePlayer play]; 
} 

-(void)endPlay: (NSNotification*)notification 
{ 
NSLog(@"end Playing"); 

self.navigationItem.hidesBackButton = FALSE; 
//[[UIApplication sharedApplication] endIgnoringInteractionEvents]; 
[actview stopAnimating]; 

[[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerScalingModeDidChangeNotification object:moviePlayer]; 
[[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:moviePlayer]; 

[moviePlayer stop]; 
[moviePlayer release]; 
} 
+1

это просто по требованию скачать, а не в прямом эфире. – Raptor

+1

Просто перечитайте вопрос сейчас. Ты прав. –

+0

Как можно использовать MPMoviePlayerScalingModeDidChangeNotification для идентификации воспроизведения? Это не правильно. Вы должны использовать «MPMoviePlayerPlaybackDidFinishNotification» в последней версии iOS – Satyam