macos - 如何抑制通过访问 macOS 上的 AVAudioEngine 的 inputNode 生成的警告
问题描述
我有以下用于在 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-00039315CD46 注册工厂
2019-07-22 16:26:36.803372+03 [8111:540360] HALC_ShellDriverPlugIn::Open: 无法获得指向 Open 例程的指针
2019-07-22 16:26:36.804020+0300 realtime_mic [8111:540360] HALC_ShellDriverPlugIn::Open: 无法获得指向打开例程
这是否意味着我做错了什么?
是否可以防止这些警告显示在控制台上?
解决方案
推荐阅读
- asp.net-core - 在 asp.net core 5 中将 RazorView 呈现为字符串的简单方法
- apache-flink - Flink CepOperator
- aws-serverless - 我的无服务器部署包超过 100 MB,SLS 命令拒绝部署它
- php - 我尝试在 laravel 上使用 postgresql 但找不到驱动程序(SQL: select * from "users" where "id" = 4 limit 1)
- printing - 我想用 N 个并行进程打印 1 到 11、2 到 22 等
- c++ - 从 C++ 中的自定义异构容器打印
- pandas - pandas:在多列中找到字符串后获取下一列的值
- c++ - 多重定义错误#include -ing .h 标头
- google-bigquery - 从 GCS (load_table_from_uri) 将数据加载到 BigQuery - 最大文件?
- vector - Inkscape 矢量填充图案的语法