视频无法在IOS中播放

时间:2013-03-23 11:37:46

标签: iphone ios objective-c

我正在下载这样的视频..

-(IBAction)buttonPress:(id)sender{

  movieURL = [NSURL URLWithString:@"https://www.dropbox.com/s/Screen%20Capture2013-01-31%2014_21_22.mov"];

    NSURLRequest *theRequest = [NSURLRequest requestWithURL:movieURL cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:60];

    NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self startImmediately:YES];

    if( connection )
    {
         receivedData = [[NSMutableData alloc] initWithLength:0];
    }
    else
    {
        //[delegate ConnectionFailed];
    }
}



- (void) connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
    [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
    [receivedData setLength:0];
}

- (void) connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
    [receivedData appendData:data];
    NSLog(@"dee- %@",receivedData);
}

- (void) connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
    [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
  //  [connection release];
}

- (NSCachedURLResponse *) connection:(NSURLConnection *)connection willCacheResponse:(NSCachedURLResponse *)cachedResponse {
    return nil;
}

- (void) connectionDidFinishLoading:(NSURLConnection *)connection {
    [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
   // [connection release];
    [self movieReceived];
}

但我无法播放此视频。请帮我保存并播放此视频。

我试过这个但是没有用。\

-(void)movieReceived{
MPMoviePlayerViewController* tmpMoviePlayViewController=[[MPMoviePlayerViewController alloc] initWithContentURL:movieURL];

    if (tmpMoviePlayViewController) {

        tmpMoviePlayViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;

        [self presentViewController:tmpMoviePlayViewController animated:YES completion:nil];

        tmpMoviePlayViewController.moviePlayer.movieSourceType = MPMovieSourceTypeFile;

        [[NSNotificationCenter defaultCenter] addObserver:self

                                                 selector:@selector(myMovieViewFinishedCallback:)

                                                     name:MPMoviePlayerPlaybackDidFinishNotification

                                                   object:tmpMoviePlayViewController];

        [tmpMoviePlayViewController.moviePlayer play];


}
}

1 个答案:

答案 0 :(得分:1)

使用下面的代码

-(void)movieReceived{
{
       NSString *strVideoUrl = @"abc.com/xyz" // your VideoUrl in String
       strVideoUrl = [strVideoUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
       NSURL *url = [NSURL URLWithString:strVideoUrl];
       moviePlayer=[[MPMoviePlayerController alloc] initWithContentURL:url];

       [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayBackDidFinish:) name:MPMoviePlayerPlaybackDidFinishNotification object:moviePlayer];
       [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayBackDonePressed:) name:MPMoviePlayerDidExitFullscreenNotification object:moviePlayer];

       moviePlayer.controlStyle=MPMovieControlStyleDefault;
       //moviePlayer.shouldAutoplay=NO;
       [moviePlayer play];
       [self.view addSubview:moviePlayer.view];
       [moviePlayer setFullscreen:YES animated:YES];
}

- (void) moviePlayBackDonePressed:(NSNotification*)notification
{
       [moviePlayer stop];
       [[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerDidExitFullscreenNotification object:moviePlayer];


       if ([moviePlayer respondsToSelector:@selector(setFullscreen:animated:)])
       {
              [moviePlayer.view removeFromSuperview];
       }
       moviePlayer=nil;
}

- (void) moviePlayBackDidFinish:(NSNotification*)notification
{
      [moviePlayer stop];
      [[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:moviePlayer];

     if ([moviePlayer respondsToSelector:@selector(setFullscreen:animated:)])
     {
          [moviePlayer.view removeFromSuperview];
     }
}

使用这样你的问题会解决~~~~~最好的运气~~~~~~