无法使用类型的参数列表(AVAudioFrameCount)调用int类型的初始值设定项

时间:2018-03-12 06:45:11

标签: ios swift

无法使用类型为'(AVAudioFrameCount?)'的参数列表调用类型'Int'的初始值设定项

 let buffer = AVAudioPCMBuffer(pcmFormat: format!, frameCapacity: AVAudioFrameCount(file.length))
        try! file.read(into: buffer!)
        let array = Array(UnsafeBufferPointer(start:buffer?.floatChannelData![0], count:Int(buffer?.frameLength)))
        let result = snowboy.runDetection(array, length: Int32(buffer.frameLength))
        print("Snowboy result: \(result)")

1 个答案:

答案 0 :(得分:0)

请阅读Swift书中关于Optionals的部分:

https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html#//apple_ref/doc/uid/TP40014097-CH5-ID330

完成此操作后,请使用?语句替换上面代码段中的所有!if let字符,我认为您会发现问题将会出现解决。