Я пытаюсь создать приложение, которое может записывать звук пианино, созданный AudioKit AKOscillatorBank, и вокал с микрофона одновременно в swift 4. Я попробовал AVAudioRecorder от AVFoundation, но он не удался, когда я играл на пианино.Я пытался использовать AVAudioSessionCategoryPlayAndRecord, но он все еще кажется не работает:
func startRecording() {
fileName = String(format:"AudioFile%d.m4a",k)
k = k+1
let audioFilename = getDocumentsDirectory().appendingPathComponent(fileName)
address.append("\(audioFilename)")
print("adress = %s",address[num])
num = num + 1
let settings = [
AVFormatIDKey: Int(kAudioFormatMPEG4AAC),
AVSampleRateKey: 12000,
AVNumberOfChannelsKey: 2,
AVEncoderAudioQualityKey: AVAudioQuality.high.rawValue
]
do {
try session.setCategory(AVAudioSessionCategoryPlayAndRecord, with:AVAudioSessionCategoryOptions.defaultToSpeaker)
try session.setActive(true)
SoundRecorder = try AVAudioRecorder(url: audioFilename, settings: settings)
SoundRecorder.isMeteringEnabled = true
SoundRecorder.prepareToRecord()
SoundRecorder.delegate = self
SoundRecorder.record()
} catch {
}
}
У меня нет идеи, что я могу сделать, есть ли способ сделать это с помощью быстрой или объективной C?Любые советы и предложения будут с благодарностью.