Tôi đang tạo đối tượng MPMoviePlayerController và phát trực tuyến video ở chế độ toàn màn hình.MPMoviePlayerController không xóa chế độ xem khi nhấp vào xong
Tôi đang sử dụng UIViewController để hiển thị chế độ xem phim.
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
//http://www.youtube.com/watch?feature=player_detailpage&v=ebeQaznNcmE
NSURL *url = [NSURL URLWithString:@"http://a1408.g.akamai.net/5/1408/1388/2005110405/1a1a1ad948be278cff2d96046ad90768d848b41947aa1986/sample_mpeg4.mp4"];
MPMoviePlayerController *mPlayer = [[MPMoviePlayerController alloc]initWithContentURL:url];
mPlayer.view.frame = gMainView.frame;
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayBackDidFinish:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:mPlayer];
mPlayer.shouldAutoplay = YES;
mPlayer.controlStyle = MPMovieControlStyleFullscreen;
[gMainView addSubview:mPlayer.view];
[mPlayer prepareToPlay];
[mPlayer setFullscreen:YES animated:YES];
[mPlayer play];
}
- (void)moviePlayBackDidFinish:(NSNotification*)notification {
int reason = [[[notification userInfo] valueForKey:MPMoviePlayerPlaybackDidFinishReasonUserInfoKey] intValue];
if (reason == MPMovieFinishReasonPlaybackEnded) {
//movie finished playing
}
else if (reason == MPMovieFinishReasonUserExited) {
//user hit the done button
MPMoviePlayerController *moviePlayer = [notification object];
[[NSNotificationCenter defaultCenter] removeObserver:self
name:MPMoviePlayerPlaybackDidFinishNotification
object:moviePlayer];
if ([moviePlayer respondsToSelector:@selector(setFullscreen:animated:)]) {
[moviePlayer.view removeFromSuperview];
}
[moviePlayer release];
}
else if (reason == MPMovieFinishReasonPlaybackError) {
//error
}
}
Khi nhấp xong, hình ảnh video sẽ bị xóa khỏi màn hình nhưng các điều khiển sẽ không bị xóa khỏi màn hình và chế độ xem sẽ không bị xóa khỏi màn hình.
Điều khiển không đến "// người dùng nhấn nút xong". Nó thực thi mã để loại bỏ khung nhìn từ superview, tôi đã kiểm tra bằng cách thêm nhật ký, nhưng các điều khiển không bị xóa khỏi màn hình và khung nhìn không bị xóa khỏi màn hình. Tôi đang làm gì sai?
EDIT:
Nếu tôi sử dụng MPMoviePlayerViewController sau đó nó không còn chờ đợi cho tôi để nhấn Done. Khi video hoàn tất, nó sẽ tự động xóa chế độ xem. Nhưng tôi không muốn điều đó.
EDIT:
Nếu tôi xóa "[MPlayer setFullscreen: YES hoạt hình: YES]", sau đó khi nhấp vào Done, quan điểm được loại bỏ hoàn toàn. Nhưng video không được hiển thị ở chế độ toàn màn hình và thanh trạng thái chuyển sang màu xám, một lần nữa, điều tôi không muốn.
Bạn mất nhiều bước để mô tả những gì bạn không muốn nhưng, ít nhất là với tôi, điều này vẫn chưa thực sự rõ những gì bạn thực sự muốn đạt được. – Till
Các điều khiển không bị xóa khỏi màn hình và chế độ xem trình phát không bị xóa khỏi màn hình. – Anand
Hãy thử giải pháp này: http://stackoverflow.com/questions/6142571/mpmovieplayer-done-button-issue/6142685#6142685 – Till