我具有以下用于在macOS上获取实时麦克风输入的测试代码:
import AVFoundation // for AVAudioEngine
class Mic
{
public let audioEngine = AVAudioEngine()
func startRecording() throws
{
print("- - -")
let inputNode = audioEngine.inputNode
print("- - -")
if inputNode.inputFormat(forBus: 0).sampleRate == 0 {
exit(0);
}
let recordingFormat = inputNode.outputFormat(forBus: 0)
inputNode.installTap(onBus: 0, bufferSize: 1024, format: recordingFormat) { (buffer: AVAudioPCMBuffer, when: AVAudioTime) in
print( "YES! Got some samples!")
}
audioEngine.prepare()
try audioEngine.start()
}
func stopRecording()
{
audioEngine.stop()
}
}
我得到输出:
2019-07-22 16:26:36.773244 + 0300 realtime_mic [8111:540360] [插件] AddInstanceForFactory:没有工厂注册ID为F8BB1C28-BAE8-11D6-9C31-00039315CD462019-07-22 16:26:36.803372 + 0300 realtime_mic [8111:540360] HALC_ShellDriverPlugIn :: Open:无法获得指向Open例程的指针2019-07-22 16:26:36.804020 + 0300 realtime_mic [8111:540360] HALC_ShellDriverPlugIn :: Open:无法获得指向Open例程的指针
这是否表示我做错了?
是否可以防止这些警告显示在控制台上?
我也是。
[当我使用[[NSSound soundNamed:@"Pop"] play];
时会收到警告。