使 CMTime 具有非常小的值
Make CMTime with a very small value
我有一个小整数值,我想将它转换成 CMTime。
问题是
CMTime(value: _ , timeScale: _)
或
CMTimeMakeWithSeconds(value: _ , timeScale: _)
将始终 return 地板,以便时间始终等于 0.0 seconds
let smallValue = 0.0401588716
let frameTime = CMTime(Int64(smallValue) , timeScale: 1)
//frameTime is 0.0 seconds because of Int64 conversion
let frameTimeInSeconds = CMTimeMakeWithSeconds(smallValue , timeScale: 1)
// frameTimeInSeconds also returns 0.0 seconds.
CMTime
将时间值表示为 有理数 整数
分子(value
)和分母(timescale
)。为了表示一个小值
像你一样,你必须选择一个更大的时间尺度(取决于
所需的精度)。示例:
let smallValue = 0.0401588716
let frameTime = CMTime(seconds: smallValue, preferredTimescale: 1000000)
print(frameTime.seconds) // 0.040158
我应该在发布问题之前考虑一下。
let smallValue = 0.0401588716
let oneSec = CMTimeMakeWithSeconds(1, timeScale: 1)
let frameTime = CMTimeMultiplyByFloat64(oneSec , smallValue)
print(CMTimeGetSeconds(frameTime)) // 0.040158872
我有一个小整数值,我想将它转换成 CMTime。
问题是
CMTime(value: _ , timeScale: _)
或
CMTimeMakeWithSeconds(value: _ , timeScale: _)
将始终 return 地板,以便时间始终等于 0.0 seconds
let smallValue = 0.0401588716
let frameTime = CMTime(Int64(smallValue) , timeScale: 1)
//frameTime is 0.0 seconds because of Int64 conversion
let frameTimeInSeconds = CMTimeMakeWithSeconds(smallValue , timeScale: 1)
// frameTimeInSeconds also returns 0.0 seconds.
CMTime
将时间值表示为 有理数 整数
分子(value
)和分母(timescale
)。为了表示一个小值
像你一样,你必须选择一个更大的时间尺度(取决于
所需的精度)。示例:
let smallValue = 0.0401588716
let frameTime = CMTime(seconds: smallValue, preferredTimescale: 1000000)
print(frameTime.seconds) // 0.040158
我应该在发布问题之前考虑一下。
let smallValue = 0.0401588716
let oneSec = CMTimeMakeWithSeconds(1, timeScale: 1)
let frameTime = CMTimeMultiplyByFloat64(oneSec , smallValue)
print(CMTimeGetSeconds(frameTime)) // 0.040158872