ios - 使 CMTime 具有很小的值

标签 ios swift media core cmtime

我有一个小整数值,我想将其转换为 CMTime。

问题是

CMTime(value: _ , timeScale: _)

CMTimeMakeWithSeconds(value: _ , timeScale: _)

将始终返回发言权,以便时间始终等于0.0秒

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 将时间值表示为带有整数的有理数 分子()和分母(时间刻度)。为了表示一个小值 像你的一样,你必须选择更大的时间尺度(取决于 所需的精度)。示例:

let smallValue = 0.0401588716
let frameTime = CMTime(seconds: smallValue, preferredTimescale: 1000000) 

print(frameTime.seconds) // 0.040158

关于ios - 使 CMTime 具有很小的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42410190/

相关文章:

wordpress - 如何更改 WordPress "Add Media"弹出窗口?

jquery - WP 媒体库/ uploader 不返回动态 HTML/DOM

android - 以相同的格式从 iOS 和 Android 获取设备语言

ios - 如何将结构或类对象附加到 SCNNode

python - 用于应用收入的 Google Play Store/Apple App Store API

xcode - 在 iOS 上开发 Microsoft Band

ios - 如何基于与 parse.com 中另一个 pfobject 关联的 pfobject/pfuser 进行查询?

ios - Swift 3 中的 NSFastEnumeration

ios - 设置 nil UserDefaults 时出现 NSInvalidArgumentException

php - Magento 1.9 - Media.phtml 内容未加载到我的可配置产品 View 页面中