как записать микрофон и пианино одновременно - PullRequest
0 голосов
/ 29 ноября 2018

Я пытаюсь создать приложение, которое может записывать звук пианино, созданный 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?Любые советы и предложения будут с благодарностью.

1 Ответ

0 голосов
/ 29 ноября 2018

Для записи разных узлов AudioKit используйте AKNodeRecorder.В AudioKit включен пример проекта «Рекордер»:

https://github.com/AudioKit/AudioKit/blob/master/Examples/iOS/Recorder/Recorder/ViewController.swift

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...