[英]AVPlayer set initial playback time iOS
Added KVO
for AVPlayer
when to play video as queuePlayer
is AVPlayer
为AVPlayer
添加了KVO
何时播放视频,因为queuePlayer
是AVPlayer
[self.queuePlayer addObserver:self forKeyPath:@"status" options:0 context:NULL];
observer
method
: observer
method
:
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
if ([keyPath isEqualToString:@"status"]) {
if (self.queuePlayer.status == AVPlayerStatusReadyToPlay) {
NSInteger step = (NSInteger)(startTimeForVideo/0.04);
[self.queuePlayer.currentItem stepByCount:step];
//CMTime seekTime = CMTimeMake(startTimeForVideo*timeScale,timeScale);
//if (CMTIME_IS_VALID(seekTime))
// [self.queuePlayer seekToTime:seekTime toleranceBefore:kCMTimePositiveInfinity toleranceAfter:kCMTimePositiveInfinity];
//else
// NSLog(@"In valid time");
[self.queuePlayer play];
} else if (self.queuePlayer.status == AVPlayerStatusFailed) {
/* An error was encountered */
}
}
Here startTimeForVideo
intial playBack time
for video
这里有startTimeForVideo
playBack time
video
playBack time
seekToTime
not working neither stepByCount
seekToTime
既不工作也不工作stepByCount
EDIT : Values
of object
used in methods
are correct
and even though no luck
编辑 : methods
中使用的object
Values
是correct
,即使no luck
Changes in KVO
method as queuePlayer
is AVPlayer
: 作为queuePlayer
KVO
方法的queuePlayer
是AVPlayer
:
if (self.queuePlayer.status == AVPlayerStatusReadyToPlay)
{
//firstly make cmtime as here startTimeForVideo is Float64 value in seconds
//get video's time scale as CMTime has it.
int32_t timeScale = self.queuePlayer.currentItem.asset.duration.timescale
CMTime seektime=CMTimeMakeWithSeconds(startTimeForVideo, timeScale);
//use this cmtime for seekToTime.
[self.queuePlayer seekToTime:seektime toleranceBefore:kCMTimeZero toleranceAfter:kCMTimeZero];
}
............
EDIT : Here kCMTimeZero
in both tolerance field
for exact location
in seekToTime: toleranceBefore: toleranceAfter:
method 编辑 :这里kCMTimeZero
在两个tolerance field
用于kCMTimeZero
中的exact location
seekToTime: toleranceBefore: toleranceAfter:
method
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.