Ich erstelle eine Anwendung, die einen XML-Feed mit einem Link zu einem Film enthält, den ich wiedergeben möchte, wenn der Benutzer auf ein Bild klickt.Drop von MPMoviePlayer Sound beim Testen der App auf dem Gerät
Zu diesem Zweck verwende ich den MPMoviePlayerViewController. Das Testen der App auf dem Simulator hat mir bisher die erwarteten Ergebnisse gebracht, aber wenn ich die App auf einem iPhone teste, spielt der Player korrekt, aber ohne Ton.
Ich habe im Internet nachgesehen, wo ein paar Artikel mir gesagt haben, dass die Leistung der App sich sehr von der Leistung unterscheidet, die der Simulator Ihnen bietet. Daher habe ich einen "Leak" -Test mit Instruments gemacht, der mir sagte, dass jedes Mal, wenn ich anfing, einen Film zu spielen, einige Bytes fallen gelassen wurden oder durchgesickert sind. Könnte das etwas mit dem plötzlichen Geräuschabfall zu tun haben? Wenn ja, wie würde ich es lösen?
Es ist meine erste Erfahrung mit dem Testen von Apps auf dem iPhone, also war ich ziemlich schockiert zu sehen, wie schlecht die App funktioniert. Hier ist der Code für den Movieplayer-Teil.
#pragma mark Video Controls
-(void)playVideo:(id)sender{
moviePlaying=TRUE;
MPMoviePlayerViewController *playerViewController;
playerViewController = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL URLWithString:[data objectForKey:@"[att]url"]]];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayBackDidFinish:) name:MPMoviePlayerPlaybackDidFinishNotification object:[playerViewController moviePlayer]];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayBackDidExitFullscreen:) name:MPMoviePlayerDidExitFullscreenNotification object:[playerViewController moviePlayer]];
MPMoviePlayerController *player = [[[MPMoviePlayerController alloc] init] autorelease];
player = [playerViewController moviePlayer];
[self.view addSubview:playerViewController.view];
player.controlStyle = MPMovieControlStyleDefault;
player.shouldAutoplay = YES;
[player setFullscreen:YES animated:YES];
}
- (void)moviePlayBackDidExitFullscreen:(NSNotification*)notification{
MPMoviePlayerViewController *moviePlayer = [notification object];
[[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:moviePlayer];
[[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerDidExitFullscreenNotification object:moviePlayer];
[moviePlayer.view removeFromSuperview];
[moviePlayer release];
}
- (void)moviePlayBackDidFinish:(NSNotification*)notification {
MPMoviePlayerViewController *moviePlayer = [notification object];
[[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:moviePlayer];
[[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerDidExitFullscreenNotification object:moviePlayer];
moviePlaying=FALSE;
[moviePlayer.view removeFromSuperview];
[moviePlayer release];
}
#pragma mark VideoControls End
Ich hoffe, Sie können das Problem aufleuchten.
Vielen Dank im Voraus,
/Brinck10
Nun, ich habe herausgefunden, dass es das Gerät war, das Ton ausgeschaltet wurde -.-, trotzdem würde ich immer noch gerne wissen, was ich tun kann, um die App aufhören zu lassen, Daten fallen zu lassen. –