我正致力于视频应用并在AVPlayer
上播放视频。但问题是我在UISlider
的帮助下在特定时间寻找视频。播放器seekToTime
方法在integer
中获取时间值,但我希望它在float
中获取。请帮忙
这是我的代码
Float32 sliderValue = (float) avPlayerSlider.value;
[mPlayer seekToTime:CMTimeMake(sliderValue, 1) toleranceBefore:kCMTimeZero toleranceAfter:kCMTimeZero];
答案 0 :(得分:3)
您可以设置适当的时间刻度。
CMTimeMake(12345, 10000); //This is 1.2345 seconds
或使用定义的时间刻度
#define NSEC_PER_USEC 1000ull /* nanoseconds per microsecond */
#define USEC_PER_SEC 1000000ull /* microseconds per second */
#define NSEC_PER_SEC 1000000000ull /* nanoseconds per second */
#define NSEC_PER_MSEC 1000000ull /* nanoseconds per millisecond */
在我的播放器应用中,我使用了这样的对话:
CMTime thumbTime = CMTimeMakeWithSeconds(self.currentPlaybackTime, NSEC_PER_SEC);
答案 1 :(得分:0)
我也一直受到这个问题的困扰,修复它和下面的代码:
[_playerItem cancelPendingSeeks];
[_player seekToTime:CMTimeMakeWithSeconds(leftPosition, NSEC_PER_SEC) toleranceBefore:kCMTimeZero toleranceAfter:kCMTimeZero];
leftPosition(CGFloat)是资产的时间,单位是秒。
我希望可以帮到你