AVPlayer seekToTime does not play at correct position

前端 未结 5 1188
忘了有多久
忘了有多久 2021-01-31 03:31

I have an AVPlayer which is playing a HLS video stream. My user interface provides a row of buttons, one for each \"chapter\" in the video (the buttons are labeled \"1\", \"2\",

5条回答
  •  长情又很酷
    2021-01-31 04:13

    int32_t timeScale = self.player.currentItem.asset.duration.timescale;
    CMTime time = CMTimeMakeWithSeconds(77.000000, timeScale);
    [self.player seekToTime:time toleranceBefore:kCMTimeZero toleranceAfter:kCMTimeZero];
    

    I had a problem with 'seekToTime'. I solved my problem with this code. 'timescale' is trick for this problem.

    Swift version:

    let playerTimescale = self.player.currentItem?.asset.duration.timescale ?? 1
    let time =  CMTime(seconds: 77.000000, preferredTimescale: playerTimescale)
    self.player.seek(to: time, toleranceBefore: kCMTimeZero, toleranceAfter: kCMTimeZero) { (finished) in /* Add your completion code here */
    }
    

提交回复
热议问题