当我使用代码时:
@IBAction func recordAudio(sender: UIButton) {
recordButton.enabled = false
stopButton.hidden = false
recordingInProgress.hidden = false
//recording the user's voice
let dirPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String
let recordingName = "my_audio.wav"
let pathArray = [dirPath, recordingName]
let filePath = NSURL.fileURLWithPathComponents(pathArray)
print(filePath)
let session = AVAudioSession.sharedInstance()
try! session.setCategory(AVAudioSessionCategoryPlayAndRecord)
try! audioRecorder = AVAudioRecorder(URL: filePath!, settings: [:])
audioRecorder.delegate = self
audioRecorder.meteringEnabled = true
audioRecorder.prepareToRecord()
audioRecorder.record()
}
我得到一个错误返回:
2016-01-23 23:42:04.338 Pitch Perfect[3608:1266093] 23:42:04.338 ERROR: 1066: AudioConverterNew returned -50
打印出7次。所有这些错误都被最后两行抛出(至少,当我使用随机打印语句进行故障排除时,它会出现这种情况)。 [Pitch Perfect是我的应用程序的名称]。
以下行引发了其中六条错误消息:
audioRecorder.prepareToRecord()
以下行引发了以下错误消息之一:
audioRecorder.record()
有谁知道为什么会这样?我正在使用运行OS X 10.11.3的Mac。我正在运行Xcode 7.2。
我想到的一个想法是,我的麦克风可能无法正常工作。我找不到任何讨论错误1066或AudioConverterNew返回-50的地方,所以我真的不知道。
答案 0 :(得分:1)
解决了我自己的问题。在继续对我的代码进行错误检查之后,我确定这不是代码错误,而是系统错误。我的MacBook Pro附带了一个外接显示器。快速查看系统偏好设置 - >声音 - >输入显示我的Mac设置为使用外接显示器上的麦克风(它没有...)。我选择“内部麦克风”作为我的INPUT设备,然后在模拟器中重建我的代码。中提琴!它工作!!