以下是我在Swift游乐场中运行的代码:
import Foundation
import AudioToolbox
var audioURL:NSURL = NSURL.fileURLWithPath("/path")
var audioFile:UnsafePointer<AudioFileID>
var audioCfUrl:CFURL = audioURL as CFURL
AudioFileOpenURL(audioCfUrl!, Int8(kAudioFileReadPermission), 0, &audioFile)
在最后一行,我收到错误:
'NSURL' is not a subtype of CFURL
答案 0 :(得分:6)
错误消息可能会产生误导。
audioCfUrl!
错误,因为audioCfUrl
不是可选的。AudioFileID
变量的地址。正如在(现已删除的)答案中已经说过的那样,您不必投出NSURL
到CFURL
:
let audioURL = NSURL.fileURLWithPath("/path")
var audioFile : AudioFileID = nil
let status = AudioFileOpenURL(audioURL, Int8(kAudioFileReadPermission), 0, &audioFile)