我在我的应用程序中使用AVPlayer
。我使用addPeriodicTimeObserverForInterval
以当前播放状态更新UI。
CMTime tm = CMTimeMakeWithSeconds(0.1, 100);
[player addPeriodicTimeObserverForInterval:tm
queue:dispatch_get_main_queue() usingBlock:^(CMTime time) {
NSDateFormatter *DateFormatter=[[NSDateFormatter alloc] init];
[DateFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss:mmm"];
NSLog(@"%@",[DateFormatter stringFromDate:[NSDate date]]);
}
我的目标是每隔10秒刷新一次。但是,代码块每秒只执行一次。这是它可以运行的最小单位还是我做错了什么来使投票每10秒发生一次?
感谢任何帮助。谢谢。
编辑: 实际上,经过进一步的调查后,似乎回调实际上每隔10秒工作一次,但是当我向玩家询问某些wav文件的当前时间时,需要一秒钟来获得响应而其他人正常工作。有谁经历过这个?
答案 0 :(得分:1)
更新CMTime tm = CMTimeMakeWithSeconds(0.1,100);
到CMTime tm = CMTimeMakeWithSeconds(0.1,10);
答案 1 :(得分:0)
我建议在块之外移动DateFormatter的创建。你应该只需要分配/初始化一次,而且它可能相当昂贵。