CoreAudio 简单麦克风输入代码冷不工作

CoreAudio simple mic input code cold not work

提问人:Чайка 提问时间:10/28/2023 更新时间:10/28/2023 访问量:110

问:

对点击操作程序进行简单的麦克风输入。 但说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, &microphone, 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)
}
macOS Core-音频

评论


答: 暂无答案