【问题标题】:How do I convert a CMTime to an NSValue in Swift?如何在 Swift 中将 CMTime 转换为 NSValue?
【发布时间】:2014-10-17 17:15:48
【问题描述】:

我试图从 swift 中使用 AVPlayer 的 addBoundaryTimeObserverForTimes 方法,但在将 CMTimes 转换为 NSValues 时遇到了问题,这是 addBoundaryTimeObserverForTimes 的输入。最后我求助于将 [NSString valueWithCMTime:] 包装在 C 函数中并从 swift 中调用它,但是有没有办法在纯 swift 中做到这一点?

【问题讨论】:

    标签: swift avfoundation avplayer cmtime nsvalue


    【解决方案1】:

    valueWithCMTime:对应的Swift构造函数是NSValue(time:)

    import CoreMedia
    import AVFoundation
    
    let cmTime  = CMTimeMake(value: 10, timescale: 20) // Updated for Swift 3+
    let cmValue = NSValue(time: cmTime)
    // Or simply:
    let cmValue = cmTime as NSValue
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多