【发布时间】:2010-11-26 20:18:16
【问题描述】:
我目前正在使用 AVPlayer 以及 AVPlayerLayer 来播放一些视频。在播放视频时,我已在视频期间每 30 秒注册一次时间更新。这用于在视频中绘制该点的加速度图,并使其与视频一起更新。该图使用视频中的 CMTime,因此如果我跳到视频的不同部分,该图会立即表示视频中的该时间点,无需额外工作。
据我所知,如果我想获得类似于 MediaPlayer 框架提供的界面,我将不得不自己做。
我想知道的是,有没有办法将我的 AVPlayer 与 MediaPlayer 框架一起使用? (我看不到。)或者,有没有办法使用 MediaPlayer 框架注册增量时间更新。
如果有人感兴趣,我的代码如下:
[moviePlayer addPeriodicTimeObserverForInterval: CMTimeMake(1, 30) queue: dispatch_queue_create("eventQueue", NULL) usingBlock: ^(CMTime time) {
loopCount = (int)(CMTimeGetSeconds(time) * 30);
if(loopCount < [dataPointArray count]) {
dispatch_sync(dispatch_get_main_queue(), ^{
[graphLayer setNeedsDisplay];
});
}
}];
谢谢!
【问题讨论】:
标签: objective-c cocoa-touch video media-player avfoundation