Tôi đã tạo một dự án mới với ViewController.m sau. Khi tôi chạy ứng dụng, tôi có thể thấy một hộp có kích thước/kích thước dự kiến (38, 100, 250, 163) nhưng nó có màu đen và không có video. Có một đầu ra lạ trong Xcode:Không thể phát video bằng MPMoviePlayerViewController
2012-08-23 15:36:45.559 VideoTest1[11398:c07] [MPAVController] Autoplay: Disabling autoplay for pause
2012-08-23 15:36:45.560 VideoTest1[11398:c07] [MPAVController] Autoplay: Disabling autoplay
2012-08-23 15:37:18.186 VideoTest1[11398:c07] [MPAVController] Autoplay: Skipping autoplay, disabled (for current item: 1, on player: 0)
Lưu ý rằng video được chuyển đổi bằng Videora iPhone Converter và phát ok trong Xcode (vì vậy đây không phải là vấn đề về video); đường dẫn đến video là ok vì khi tôi chỉ định demo-iPhone1 (không tồn tại), tôi nhận được một ngoại lệ nil. Tôi đã thử trong Simulator và trên iPhone: luôn luôn hộp đen. Bất kỳ ý tưởng?
#import "ViewController.h"
#import <MediaPlayer/MediaPlayer.h>
@interface ViewController()
@end
@implementation ViewController
- (void)moviePlaybackComplete:(NSNotification *)notification
{
MPMoviePlayerController *moviePlayerController = [notification object];
[[NSNotificationCenter defaultCenter] removeObserver:self
name:MPMoviePlayerPlaybackDidFinishNotification
object:moviePlayerController];
[moviePlayerController.view removeFromSuperview];
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
NSString *filepath = [[NSBundle mainBundle] pathForResource:@"demo-iPhone" ofType:@"mp4"];
NSURL *fileURL = [NSURL fileURLWithPath:filepath];
MPMoviePlayerController *moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:fileURL];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlaybackComplete:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:moviePlayerController];
[moviePlayerController.view setFrame:CGRectMake(38,
100,
250,
163)];
[self.view addSubview:moviePlayerController.view];
[moviePlayerController play];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}
@end
Bạn đã thử với bất kỳ video nào khác. Có lẽ một mp4 tải xuống vimeo? –
Steve, video thực sự ổn vì nó phát trong ứng dụng khác của tôi với chính xác cùng một mã. Nhưng vẫn không thể tìm ra sự khác biệt. BTW Tôi đã thêm đầu ra Xcode. Có lẽ nó sẽ cho bạn một số ý tưởng đó là vấn đề gì. – maxgrinev