MPMoviePlayerViewController won't play movie, start and closes immediately

偶尔善良 提交于 2019-12-08 04:30:02

问题


I'm trying to play a video with MPMoviePlayerViewController, I present the MPMoviePlayerViewController but after 1 second he is dismissing itself.

This is my code:

.h:

#import <MediaPlayer/MediaPlayer.h>

@property (strong, nonatomic) MPMoviePlayerViewController *moviePlayerViewController;

.m:

- (void)playmovie
{
    NSString *databaseName = @"NO.mp4";
    NSArray *documentPaths =
    NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

    NSString *documentDir = [documentPaths objectAtIndex:0];
    NSString *databasePath = [documentDir stringByAppendingPathComponent:databaseName];

    NSURL *movieURL = [NSURL fileURLWithPath:databasePath];

    UIGraphicsBeginImageContext(CGSizeMake(1,1));
    self.moviePlayerViewController = [[MPMoviePlayerViewController alloc] initWithContentURL:movieURL];
    [self presentMoviePlayerViewControllerAnimated:self.moviePlayerViewController];
    UIGraphicsEndImageContext();

    [self.moviePlayerViewController.moviePlayer prepareToPlay];
    [self.moviePlayerViewController.moviePlayer play];
}

Please tell me what I did wrong.

Thanks in advance!


回答1:


check below answer

https://stackoverflow.com/a/15586468/1713478

change url to below code

NSString *path =[[NSBundle mainBundle] pathForResource:@"NO" ofType:@"mp4"]; 
NSURL *url = [NSURL fileURLWithPath:path];

try this you will be succeed.




回答2:


Try this..

NSString *databaseName = @"NO.mp4";
    NSArray *documentPaths =
    NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

    NSString *documentDir = [documentPaths objectAtIndex:0];
    NSString *databasePath = [documentDir stringByAppendingPathComponent:databaseName];
    NSURL *url = [NSURL fileURLWithPath:databasePath];
    MPMoviePlayerViewController *moviePlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:url];
    moviePlayer.view.frame = CGRectMake(0, 0, 500, 500);
    moviePlayer.moviePlayer.shouldAutoplay=YES;
    moviePlayer.moviePlayer.controlStyle = MPMediaTypeMusicVideo;
    [moviePlayer.moviePlayer setFullscreen:YES animated:YES];
    [self.view addSubview:moviePlayer.view];
    [moviePlayer.moviePlayer play];


来源:https://stackoverflow.com/questions/15671666/mpmovieplayerviewcontroller-wont-play-movie-start-and-closes-immediately

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!