Question

I need to have the possibility to play more than one video in an app.

Unfortunately, the second time I press play, video appears blinking.

I use only this code for playing vide

NSURL *url = [[[NSURL alloc]initFileURLWithPath:[[NSBundle mainBundle]pathForResource:@"Movie" ofType:@"m4v"]] autorelease];

MPMoviePlayerController *mp = [[MPMoviePlayerController alloc]initWithContentURL:url];

mp.movieControlMode = MPMovieControlModeDefault;

[mp play];

moviePlayer = mp;

[mp release];

Can anyone tell me where can be the problem? Thanks in advance!

UPDATE 1: It seems that the Apple MoviePlayer example has the same problem.

Was it helpful?

Solution

you can also do it by setting the initial playback time to -1.0 before calling the play function

mp.initialPlaybackTime = -1.0;

Put this code before ur play method is called.

OTHER TIPS

I had this problem and solved it by using the notification system to execute a callback after the MPMoviePlayerController finishes playing, and releasing the player object there.

Add a notification before you play the movie:

NSURL *url = [[[NSURL alloc]initFileURLWithPath:[[NSBundle mainBundle]pathForResource:@"Movie" ofType:@"m4v"]] autorelease];

MPMoviePlayerController *mp = [[MPMoviePlayerController alloc]initWithContentURL:url];

mp.movieControlMode = MPMovieControlModeDefault;

//***Add this line***
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myMovieFinished:) name:MPMoviePlayerPlaybackDidFinishNotification object:mp];

[mp play];

Then add the callback method,

-(void)myMovieFinished:(NSNotification*)aNotification
{
    MPMoviePlayerController *moviePlayer = [aNotification object];
    [[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerDidFinishNotification object:moviePlayer];
    [moviePlayer release];
}

It seams that the only solution is... to make the app for 3.1

I also find run on the OS 3.1 or later version of simulator can be played well.It won't appears blinking.But when I add

initialPlaybackTime = -1.0

it will also play well on OS 3.0.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top