提问人:Чайка 提问时间:10/28/2023 更新时间:10/28/2023 访问量:110
CoreAudio 简单麦克风输入代码冷不工作
CoreAudio simple mic input code cold not work
问:
对点击操作程序进行简单的麦克风输入。
但说engine.start()
The operation couldn’t be completed. (com.apple.coreaudio.avfaudio error -10875.)
我怎么了?
代码是
var microphone: AudioObjectID = 93
if engine.inputNode.outputFormat(forBus: 0).sampleRate == 0 { exit(0) }
let size = UInt32(MemoryLayout<AudioDeviceID>.size)
if let audioUnit = engine.inputNode.audioUnit {
let error = AudioUnitSetProperty(audioUnit, kAudioOutputUnitProperty_CurrentDevice, kAudioUnitScope_Global, 0, µphone, size)
print("Set Property error : \(error)")
}
print ( engine.inputNode.auAudioUnit.deviceID)
do {
let format = engine.inputNode.outputFormat(forBus: 0)
engine.mainMixerNode.installTap(onBus: 0, bufferSize: 1024, format: nil) { [weak self] (buffer: AVAudioPCMBuffer, when: AVAudioTime) in
guard let weakSelf = self else { return }
print("tap working")
}
// try engine.outputNode.auAudioUnit.setDeviceID(129 as AudioObjectID)
engine.connect(engine.inputNode, to: engine.mainMixerNode, format: format)
engine.connect(engine.mainMixerNode, to: engine.outputNode, format: format)
print( engine.inputNode.auAudioUnit.deviceID)
print( engine.outputNode.auAudioUnit.deviceID)
engine.prepare()
try engine.start()
print("start success")
print("running? \(engine.isRunning)")
} catch let error {
print(error.localizedDescription)
}
答: 暂无答案
评论