AVAudioRecorder
でオーディオを録音しようとしています。ユーザが、円はユーザの音声のレベルを示しているマイクに向かって話すときiOS:シンプルなオーディオ波形アニメーションを作成する
:私はこのような単純な波形を作成する必要があります。私はこのコードを使用して音声を測定しようとしましたが、コードは、任意のバッファを検出していないと動作しませんでした:
func levelTimerCallback(timer:Timer) {
//we have to update meters before we can get the metering values
audioRecorder.updateMeters()
//print to the console if we are beyond a threshold value. Here I've used -7
if audioRecorder.averagePower(forChannel: 1) > -7 {
print(" level I'm hearin' you in dat mic ")
print(audioRecorder.averagePower(forChannel: 0))
}
}
録音音声:私は見ることができます
func startRecording() {
let audioSession = AVAudioSession.sharedInstance()
do {
// Audio Settings
settings = [
AVFormatIDKey: Int(kAudioFormatMPEG4AAC),
AVSampleRateKey: 12000,
AVNumberOfChannelsKey: 1,
AVEncoderAudioQualityKey: AVAudioQuality.high.rawValue
]
audioRecorder = try AVAudioRecorder(url: self.directoryURL(), settings: settings)
audioRecorder.delegate = self
audioRecorder.prepareToRecord()
audioRecorder.isMeteringEnabled = true
} catch {
finishRecording(success: false)
}
do {
try audioSession.setActive(true)
audioRecorder.record()
TIMERRRRR = Timer.scheduledTimer(timeInterval: 0.02, target: self, selector: #selector(ViewController.levelTimerCallback), userInfo: nil, repeats: true)
} catch {
}
}
私は右に近いと思うの答えに何かを追加しました。 –
編集したコードを確認するには1つの問題がありますか? –
あなたの割合が0と1の間であれば、それは私には大丈夫です。 –