【问题标题】:iOS streaming video in webview or MPMoviePlayerViewControllerWebview 或 MPMoviePlayerViewController 中的 iOS 流式视频
【发布时间】:2014-02-11 12:40:31
【问题描述】:

我必须从服务器流式传输视频 (.mov)。 我使用 UIWebView,它运行良好,但委托方法

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

总是调用而不是

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

我打印错误:

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

后来我决定改用MPMoviePlayerViewController。 看起来更慢! 使用 UIWebView 流式传输视频是一个好习惯吗?如何修复我的错误? 有没有适合我的快速解决方案?

提前谢谢你

【问题讨论】:

    标签: ios objective-c uiwebview streaming


    【解决方案1】:

    再次,如果您决定使用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
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-23
      • 1970-01-01
      相关资源
      最近更新 更多