iOS - AudioKit:输入和输出的不同设备

gol*_*alk 5 ios swift audiokit

我正在尝试使用内置麦克风录制音频并通过远程扬声器同时播放。我使用 AudioKit 的方式如下:

import UIKit
import AudioKit

class ViewController: UIViewController {
    let session = AVAudioSession.sharedInstance()
    let mic = AKMicrophone()
    let reverb = AKReverb()

    override func viewDidLoad() {
        super.viewDidLoad()

        mic >>> reverb
        AudioKit.output = reverb
        AKSettings.ioBufferDuration = 0.002
    }

    @IBAction func buttonWasPressed() {
        printDevices()
        try! AudioKit.start()
        printDevices()
    }

    @IBAction func buttonWasReleased() {
        try! AudioKit.stop()
    }

    func printDevices() {
        // List of output devices:
        if let outputs = AudioKit.outputDevices {
            print("Outputs:")
            dump(outputs)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是,即使在执行后连接蓝牙扬声器,AudioKit.start()唯一可用的输出设备也是内置接收器(因此,无法更改AudioKit.output属性)。

另一个问题是,应用程序启动后,它也无法确定输出设备中的远程扬声器,一旦重新打开它就开始正常工作。所以我想知道是否有办法同时使用内置麦克风和远程扬声器?..还有一种方法可以在每次启动后停止重新打开应用程序?-_-

预先非常感谢!