我的记录函数出现错误“类型 'String' 的值没有成员 'URLbyAppending'”
Error " Value of type 'String' has no member 'URLbyAppending' " with my Record Function
我的录音功能出现错误...
它说“ 'String' 类型的值没有成员 'URLbyAppending' “
func startRecording() {
let audioFilename = getDocumentsDirectory().URLbyAppending("recording.m4a")
let audioURL = NSURL(fileURLWithPath: audioFilename)
let settings = [
AVFormatIDKey: Int(kAudioFormatMPEG4AAC),
AVSampleRateKey: 12000.0,
AVNumberOfChannelsKey: 1 as NSNumber,
AVEncoderAudioQualityKey: AVAudioQuality.High.rawValue
]
这很烦人,因为以前用我的 Xcode 6 它工作得很好...
我需要一些帮助...谢谢
编辑
这是我的 getDocumentsDirectory 函数
func getDocumentsDirectory() -> String {
let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)
let documentsDirectory = paths[0]
return documentsDirectory
你的 getDocumentsDirectory
函数,你应该包含它,显然 return 是一个字符串,而不是 URL。使用 stringByAppendingPathComponent
.
修复它
或者,您可以直接将 getDocumentsDirectory
函数更改为 return a url,并将调用更改为:
func getDocumentsDirectory() throws -> NSURL {
return try NSFileManager.defaultManager().URLForDirectory(.DocumentDirectory, inDomain: .UserDomainMask, appropriateForURL: nil, create: true)
}
let audioUrl = try getDocumentsDirectory().URLByAppendingPathComponent("recording.m4a")
请注意,由于 getDocumentsDirectory 可以抛出(URLForDirectory 可以抛出)getDocumentsDirectory 必须用 try 调用。
我的录音功能出现错误... 它说“ 'String' 类型的值没有成员 'URLbyAppending' “
func startRecording() {
let audioFilename = getDocumentsDirectory().URLbyAppending("recording.m4a")
let audioURL = NSURL(fileURLWithPath: audioFilename)
let settings = [
AVFormatIDKey: Int(kAudioFormatMPEG4AAC),
AVSampleRateKey: 12000.0,
AVNumberOfChannelsKey: 1 as NSNumber,
AVEncoderAudioQualityKey: AVAudioQuality.High.rawValue
]
这很烦人,因为以前用我的 Xcode 6 它工作得很好...
我需要一些帮助...谢谢
编辑
这是我的 getDocumentsDirectory 函数
func getDocumentsDirectory() -> String {
let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)
let documentsDirectory = paths[0]
return documentsDirectory
你的 getDocumentsDirectory
函数,你应该包含它,显然 return 是一个字符串,而不是 URL。使用 stringByAppendingPathComponent
.
或者,您可以直接将 getDocumentsDirectory
函数更改为 return a url,并将调用更改为:
func getDocumentsDirectory() throws -> NSURL {
return try NSFileManager.defaultManager().URLForDirectory(.DocumentDirectory, inDomain: .UserDomainMask, appropriateForURL: nil, create: true)
}
let audioUrl = try getDocumentsDirectory().URLByAppendingPathComponent("recording.m4a")
请注意,由于 getDocumentsDirectory 可以抛出(URLForDirectory 可以抛出)getDocumentsDirectory 必须用 try 调用。