ios - 在 iOS AudioKit 上使用外部麦克风录制立体声
问题描述
我正在尝试将 AudioKit 集成到我们的应用程序中以进行音频处理。音频来自馈入 iOS 设备的麦克风输入,我们对 iPhone 上的集成麦克风没有任何问题。但是,我们正在尝试获得立体声输入,因此我们使用了插入照明端口的外部麦克风。麦克风是舒尔 MV88。我们得到的输入是双单声道而不是立体声。我们需要在代码中切换或更改设置以获得立体声吗?我尝试将 channelCount 设置为 2,但这并没有什么不同。
编辑:我们如何使用 AudioKit 来捕获麦克风输入的一些代码:
AKSettings.useBluetooth = true
AKSettings.bluetoothOptions = [.allowBluetoothA2DP, .allowAirPlay]
// Configure AudioKit for low latency
AKSettings.bufferLength = .medium
AKSettings.sampleRate = 16000
AKSettings.audioInputEnabled = true
AKSettings.channelCount = 2
AKSettings.defaultToSpeaker = false
mic = AKMicrophone()
AudioKit.output = mic
let format = [
AVLinearPCMBitDepthKey: 32,
AVLinearPCMIsBigEndianKey: 0,
AVNumberOfChannelsKey: 2,
AVFormatIDKey: 1819304813,
AVSampleRateKey: 16000,
AVLinearPCMIsNonInterleaved: 1,
AVLinearPCMIsFloatKey: 1
]
// Install input tap
do {
inputFile = try AVAudioFile(forWriting: inputPath, settings: format)
} catch {
AKLog("Error with output file: \(error)")
}
mic.avAudioNode.installTap(onBus: 0,
bufferSize: 4096,
format: mic.avAudioNode.outputFormat(forBus: 0),
block: { (buffer: AVAudioPCMBuffer!, _) -> Void in
do {
try self.inputFile.write(from: buffer)
} catch {
print(NSString(string: "Write failed: \(error)"))
}
})
do {
try AudioKit.start()
} catch {
AKLog("AudioKit did not start")
}
解决方案
推荐阅读
- ssl - 从 GoDaddy 颁发的私钥和通配符证书创建 PFX 文件
- python-3.x - 如何从dict列表中获取列表值
- javascript - 如何在javascript中按日期范围从对象数组中获取唯一数据
- python - 根据多个条件拆分 DF 中的列
- python - browsermobproxy的python客户端可以在真机上使用吗?[解决]
- android - 迁移到 ViewBinding 后无法切换片段(未找到视图 nav_host_fragment)
- huawei-mobile-services - 如何使用 DevEco Studio 在华为手机上运行我的应用程序?
- python - Python CLR WinForms - 从现有表单打开另一个
- r - 使用 R 中的几行代码获取提供者和状态的平均金额
- python - PyAutoGUI Shift-Down 什么都不做