2014-02-11 3 views
0

Мне нужно потоковое видео (.mov) с сервера. Я использую UIWebView и он работает хорошо, но метод делегатаiOS потоковое видео в webview или MPMoviePlayerViewController

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error; 

всегда называют вместо

- (void)webViewDidFinishLoad:(UIWebView *)webView; 

напечатать сообщение об ошибке:

Error Domain=WebKitErrorDomain Code=204 "Plug-in handled load" (...) 

После этого я решил использовать MPMoviePlayerViewController вместо , Это выглядит медленнее! Это хорошая практика использования UIWebView для потокового видео? Как я могу исправить свою ошибку? Есть ли какие-либо решения для быта для моей цели?

Спасибо заранее

ответ

0

Опять же, если вы решили использовать MPMoviePlayerViewController. В этом ...

-(IBAction)btnVideoClicked:(id)sender 
{ 
    @try 
    { 
     NSAutoreleasePool *pool = [[NSAutoreleasePool alloc]init]; 
     GetVideos *obj_video = [arrVideos objectAtIndex:[sender tag]]; 
     MPMoviePlayerViewController *moviePlayerViewController = [[MPMoviePlayerViewController alloc]initWithContentURL:[NSURL URLWithString:obj_video.VideoPath]]; 
     [moviePlayerViewController.moviePlayer setControlStyle:MPMovieControlStyleFullscreen]; 
     [moviePlayerViewController.moviePlayer setShouldAutoplay:YES]; 
     [moviePlayerViewController.moviePlayer setFullscreen:NO animated:YES]; 
     [moviePlayerViewController setModalTransitionStyle:UIModalTransitionStyleCoverVertical]; 
     [moviePlayerViewController.moviePlayer setScalingMode:MPMovieScalingModeNone]; 
     [moviePlayerViewController.moviePlayer setUseApplicationAudioSession:NO]; 
     // Register to receive a notification when the movie has finished playing. 
     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlaybackStateDidChange:)  name:MPMoviePlayerPlaybackStateDidChangeNotification object:moviePlayerViewController]; 
     // Register to receive a notification when the movie has finished playing. 
     [[NSNotificationCenter defaultCenter] addObserver:self  selector:@selector(moviePlayBackDidFinish:) name:MPMoviePlayerPlaybackDidFinishNotification  object:moviePlayerViewController]; 
     [self presentMoviePlayerViewControllerAnimated:moviePlayerViewController]; 
     moviePlayerViewController.moviePlayer.movieSourceType = MPMovieSourceTypeStreaming; 
     [moviePlayerViewController release]; 
     [pool release]; 
    } 
    @catch (NSException *exception) { 
     // throws exception 
    } 
} 
Смежные вопросы