【发布时间】:2015-06-24 20:56:38
【问题描述】:
我正在尝试制作一个简单的录音机。我正在使用 Xcode-beta 7,我的代码基于这三个来源。
- AVFoundation Audio Recording With Swift
- AVAudioRecorder Reference 查看初始化器的输入。
- Recording audio in Swift 获取我应该使用的设置
我正在使用以下代码:
var recordSettings = [
AVFormatIDKey: kAudioFormatAppleIMA4,
AVLinearPCMIsBigEndianKey: 0,
AVLinearPCMIsFloatKey: 0,
AVNumberOfChannelsKey: 2,
AVSampleRateKey: 32000
]
var session = AVAudioSession.sharedInstance()
do{
try session.setCategory(AVAudioSessionCategoryPlayAndRecord)
recorder = AVAudioRecorder(URL: filePath, settings: recordSettings, error: nil)
}catch{
print("Error")
}
但它说“找不到接受类型为 '(URL:NSURL?, settings:[String:AudioFormatID], error:nil)' 的参数列表的类型 'AVAudioRecorder' 的初始化程序”
我的输入不正是文档要求的吗?
【问题讨论】:
-
我现在也遇到了同样的问题!当我创建 recordSettings 字典时,我收到错误“AudioFormatID 不符合协议'AnyObject'”。你也有这个问题吗?
-
因为您传递的是 Int 而不是对象。尝试创建一个 NSNumber,而不是像我在答案中显示的那样: NSNumber(integer: kAudioFormatAppleIMA4)
标签: ios swift avaudiorecorder