iOS CMTimeMake 和 CMTimeMakeWithSeconds 学习
CMTime是專門用于標(biāo)識電影時間的結(jié)構(gòu)體,通常用如下兩個函數(shù)來創(chuàng)建CMTime
(1)CMTimeMake
CMTime CMTimeMake ( int64_t value, //表示 當(dāng)前視頻播放到的第幾楨數(shù) int32_t timescale //每秒的幀數(shù) );
value =[slider value];
timescale =self.player.currentItem.asset.duration.timescale;
(2)CMTimeMakeWithSeconds
CMTime CMTimeMakeWithSeconds(
Float64 seconds, //第幾秒的截圖,是當(dāng)前視頻播放到的幀數(shù)的具體時間
int32_t preferredTimeScale //首選的時間尺度 "每秒的幀數(shù)"
);
float minValue = [slider minimumValue];
float maxValue = [slider maximumValue];
float value = [slider value];
seconds = duration * (value - minValue) / (maxValue - minValue);
preferredTimeScale = 1 *NSEC_PER_SEC;//如果只寫 1 的話 有很大的誤差,使用 納秒 也是為了保證指定一個時間播放視頻的精確度 timescale可能就是 1 preferredTimeScale的精確度就更高 1 *NSEC_PER_SEC具體開發(fā)時候 要斟酌 精確度設(shè)置的問題 看需求
關(guān)鍵詞解釋:
? NSEC:納秒。
? USEC:微妙。
? SEC:秒
? PER:每
所以:
1.NSEC_PER_SEC,每秒有多少納秒。
2.USEC_PER_SEC,每秒有多少毫秒。(注意是指在納秒的基礎(chǔ)上)
3.NSEC_PER_USEC,每毫秒有多少納秒。
1秒可以寫成如下幾種:
1 * NSEC_PER_SEC
1000 * USEC_PER_SEC
USEC_PER_SEC * NSEC_PER_USEC
總結(jié)
以上是生活随笔為你收集整理的iOS CMTimeMake 和 CMTimeMakeWithSeconds 学习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS
- 下一篇: 古天乐《明日战记》豆瓣6.6分:视觉特效