我正在开发视频应用程序,并在AVPlayer上播放视频。但问题是,当我在UISlider的帮助下寻找特定时间的视频时。播放器seekToTime方法以integer格式获取时间值,但我希望它以float格式获取。请帮帮忙这里是我的代码
Float32 sliderValue = (float) avPlayerSlider.value;
[mPlayer seekToTime:CMTimeMake(sliderValue, 1) toleranceBefore:kCMTimeZero toleranceAfter:kCMTimeZero];发布于 2014-08-13 20:57:15
您可以设置适当的时间刻度。
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);发布于 2016-05-19 17:18:57
我也被这个问题所困扰,修复它和下面的代码:
[_playerItem cancelPendingSeeks];
[_player seekToTime:CMTimeMakeWithSeconds(leftPosition, NSEC_PER_SEC) toleranceBefore:kCMTimeZero toleranceAfter:kCMTimeZero];leftPosition(CGFloat)是资产的时间,单位是秒。
我希望能对你有所帮助
https://stackoverflow.com/questions/25286678
复制相似问题