Я работаю над приложением, которое записывает аудиофайлы CAF или WAVE с маркерами в определенных точках (не петлями, просто сигналами), запускаемыми командой MIDI.Как мне записать информацию маркера в файл?
В настоящее время я использую AVFoundation, чтобы получить записанный звук в файл.Я вижу, что в AudioToolbox есть структура AudioFileMarker, но я не вижу, как записать эту информацию в файл.
Это то, что мне нужно, чтобы начать запись, и она работает:
func startRecording() {
let audioFilename = fileURL.appendingPathExtension("wav")
audioRecorder = try AVAudioRecorder(url: audioFilename, settings: audioSettings)
audioRecorder.delegate = self
audioRecorder.isMeteringEnabled = true
audioRecorder.prepareToRecord()
audioRecorder.record()
}
}
Это то, что я должен остановить запись, и это также работает:
func stopRecording() {
audioRecorder.stop()
audioRecorder = nil
}
Если звук записывается в течение примерно 12 секунд, а MIDI-сигнал для добавления маркера принимается примерно через 1 секунду (причастота дискретизации 96000 Гц, кадр будет 96000), как сохранить маркер при вызове stopRecording ()?