MPMoviePlayerController error _itemFailedToPlayToEnd while playing youtube video iOS 7

I’ve seen this mentioned a few places around the web but have yet to find answer anywhere.

I am using ALMovieplayercontroller library. Everything works fine but when i am trying to play Youtube video it gives me error.

  • How to programmatically determine default email account/address in iOS?
  • Implement CoreData into an existing project using Swift
  • How do I use a UISegmentedControl to switch views?
  • iOS Google Maps textField not Responding
  • Storyboard: How do I let Xcode automatically update frames when I change layout constraints?
  • Swift Framework with libxml
  • _itemFailedToPlayToEnd: {
    kind = 1;
    new = 2;
    old = 0;
    }

    EDIT

    - (void)setContentURL:(NSURL *)contentURL {
    
        self.movieSourceType = MPMovieSourceTypeStreaming;
        [super setContentURL:contentURL];
        [[NSNotificationCenter defaultCenter] postNotificationName:ALMoviePlayerContentURLDidChangeNotification object:nil];
        [self play];
    }
    

    Here is my code

    ALMoviePlayerControls *movieControls = [[ALMoviePlayerControls alloc] initWithMoviePlayer:self.moviePlayer style:ALMoviePlayerControlsStyleDefault];
    //[movieControls setAdjustsFullscreenImage:NO];
    [movieControls setBarColor:[UIColor colorWithRed:195/255.0 green:29/255.0 blue:29/255.0 alpha:0.5]];
    [movieControls setTimeRemainingDecrements:YES];
    
    //assign controls
    [self.moviePlayer setControls:movieControls];
    [self.view addSubview:self.moviePlayer.view];
    self.moviePlayer.movieSourceType = MPMovieSourceTypeStreaming;
    
    //THEN set contentURL
    [self.moviePlayer setContentURL:[NSURL URLWithString:@"http://www.youtube.com/watch?v=NaosmAGx8NM"]];
    

    I am not able to find the solution for this.

    Please Help.

    3 Solutions Collect From Internet About “MPMoviePlayerController error _itemFailedToPlayToEnd while playing youtube video iOS 7”

    Yes after so much researching i found to the following soluction.

    MPMoviePlayerController directly will not play the youtube videos. you have to extract the video URL and set video URL to MPMoviePlayerController. after this video will be played.

    There are lots of API available that gives the extracted video URL.

    Some of them are below

    XCDYouTubeKit

    HCYoutubeParser

    But using this API your application might be rejected. you should have to use on your risk.

    Best way to play youtube videos is the WebView.

    Ok!!! the problem is that the player doesn’t know what you are trying to play,

    1. you can try to change the name to x.mp4
    2. you can debug the project and see that the path and the file you are trying to play exists.

    If im not mistaken ALMovieplayercontroller is an extension of MPMoviePlayerController.
    So try setting the source type of the player to stream.

    moviePlayer.movieSourceType = MPMovieSourceTypeStreaming;