【发布时间】:2012-09-21 22:03:02
【问题描述】:
在我的 iPad 应用程序中,我创建了一个 MPMoviePlayerController 来播放网站上的 MP4。 MP4里有人在说话。在应用程序中,我注意到音频和视频可能有半秒或四分之一秒的不同步。 (我可以这么说,因为我在网络浏览器中观看视频并且没有延迟。)
我对此唯一的线索是,当 MPMoviePlayerController 首次加载时,音频开始播放,但视频没有 - 然后视频开始播放,它似乎跳过了几帧以“捕捉up”到音频...但它并不完全同步。
看到这个类在Apple Documentation 中是一个“黑匣子”,而现有的方法或属性都没有对这个问题有帮助,我有点难过。我可能不得不让它保持轻微的滞后状态,而不是面对奇怪的解决方法。我想看看是否有人以前经历过这种情况或可以提出解决方案。
我在 Mountain Lion、最新 XCode、iPad 2 和 iOS 6 上运行。
我用来生成控制器的代码是:
-(void) startVideoPlaying {
if (!self.theMoviePlayer) {
self.theMoviePlayer = [[MPMoviePlayerController alloc] initWithContentURL: movieURL];
[self.bgView addSubview: self.theMoviePlayer.view];
[self.theMoviePlayer.view setFrame: movieContainer.frame]; // player's frame must match parent's
} else {
[self.theMoviePlayer setContentURL:movieURL];
}
self.theMoviePlayer.shouldAutoplay = YES;
[self.theMoviePlayer play];
}
感谢您的帮助。
【问题讨论】:
标签: objective-c audio mpmovieplayercontroller sync