Pet*_*zes 3 cocoa-touch mpmovieplayercontroller nstimer viewdidload ios
MediaPlayer我的应用程序启动后,我正在使用该框架播放相当大的电影(~200 MB).当我尝试在我的视频中播放视频时viewDidLoad,断点表示视图已添加,但视频未显示在设备上.
然后,我设置了一个按钮,以确认视频是否正常工作.从按钮运行IBAction显示没有问题.
所以那时我很难过.我想知道这是否与视频在应用程序启动后立即被调用的事实有关.所以我NSTimer在viewDidLoad调用中加了一个延迟5秒的时间.瞧,它运作良好.除非有最初的延迟,否则任何人都可以了解为什么视频无法播放?代码如下.
- (void)viewDidLoad {
NSTimer *currentTimer = [NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(playMovie) userInfo:nil repeats:NO];
[[NSRunLoop mainRunLoop] addTimer:currentTimer forMode:NSRunLoopCommonModes];
[super viewDidLoad];
}
-(IBAction)playMovie
{
NSString *filepath = [[NSBundle mainBundle] pathForResource:@"Speed" ofType:@"mov"];
NSURL *fileURL = [NSURL fileURLWithPath:filepath];
MPMoviePlayerController *moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:fileURL];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlaybackComplete:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:moviePlayerController];
[self.view addSubview:moviePlayerController.view];
moviePlayerController.fullscreen = YES;
[moviePlayerController play];
}
Run Code Online (Sandbox Code Playgroud)
Ano*_*mie 10
尝试播放电影viewDidAppear:而不是viewDidLoad.在viewDidLoad调用该点时,视图尚未在视图层次结构中.您仍然可以创建MPMoviePlayerController viewDidLoad,只是在视图实际出现之前不要播放它.
| 归档时间: |
|
| 查看次数: |
1629 次 |
| 最近记录: |