Search code examples
mpmovieplayercontrollernsdataplayback

How to play video from NSData


I would like to know if it's possible to play a video from an NSData object... with the MPMoviePlayerController.


Solution

  • Ben's answer works perfectly on simulator but wont work on the device, You cannot write anywhere on the device. Check code below

        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
        NSString *documentsDirectory = [paths objectAtIndex:0];
        NSString *path = [documentsDirectory stringByAppendingPathComponent:@"myMove.mp4"];
    
        [videoData writeToFile:path atomically:YES];
        NSURL *moveUrl = [NSURL fileURLWithPath:path];
        player = [[MPMoviePlayerController alloc]init];
        [player setContentURL:moveUrl];
        player.view.frame = viewPlayer.bounds;
        [viewPlayer addSubview:player.view];
        [player play];