在网上苦苦搜索后,我似乎仍然找不到这么简单的问题的答案。我正在用audio录音机录制音频,目前我的音频会话设置中有一个频道,因为我的录制是“单声道”。我的设置如下所示:
try session.setCategory(AVAudioSessionCategoryAmbient)
try session.overrideOutputAudioPort(AVAudioSessionPortOverride.speaker)
try session.setActive(true)
let settings = [
AVFormatIDKey: Int(kAudioFormatMPEG4AAC),
AVSampleRateKey: 12000,
AVNumberOfChannelsKey: 1,
AVEncoderAudioQualityKey: AVAudioQuality.high.rawValue
]
audioRecorder = try AVAudioRecorder(url: audioFileName, settings: settings)
audioRecorder.delegate = self
audioRecorder.isMeteringEnabled = true我只想做以下几件事
audioRecorder.averagePower(forChannel: 1)出于某种原因,我总是
fatal error: unexpectedly found nil while unwrapping an Optional value顺便说一句,当我尝试播放刚刚录制的声音时,这在使用simulator...even时会显示出来,它工作起来没有问题。
有人知道为什么吗?
非常感谢!
发布于 2018-12-12 22:19:35
与索引一样,第一个通道是0。只需使用:
audioRecorder.averagePower(forChannel: 0)发布于 2017-01-25 23:32:06
你只有一个频道
因此,请使用以下命令:
audioRecorder.updateMeters()
let normalizedValue = pow(10, audioRecorder.averagePower(forChannel: 0) / 20)https://stackoverflow.com/questions/41731152
复制相似问题