代码之家  ›  专栏  ›  技术社区  ›  TheGreatCornholio

Swift AVAsset naturalSize错误:表达式类型不明确,没有类型注释

  •  0
  • TheGreatCornholio  · 技术社区  · 10 月前
    let vidWidth = asset?.naturalSize()?.width
    let vidHeight = asset?.naturalSize()?.height
    

    我得到:

    Type of expression is ambiguous without a type annotation
    

    如何正确地做到这一点?

    我尝试过的:

    let vidWidth: CGFloat = asset?.naturalSize()?.width
    let vidHeight: CGFloat = asset?.naturalSize()?.height
    

    但我还是会犯同样的错误

    1 回复  |  直到 10 月前
        1
  •  0
  •   Shehata Gamal    10 月前

    如前所述 Here naturalSize 被剥夺了 AVAsset ,你需要使用 load(.naturalSize) 属于 AVAssetTrack

    Task {
        do {
            let asset:AVAsset? = nil // For testing purposes
            let size = try await asset?.load(.tracks).first?.load(.naturalSize)
            print(size?.width)
            print(size?.height)
        }
        catch {
            print(error)
        }
    }