使用portaudio回调已连接/未连接的设备?

Posted

技术标签:

【中文标题】使用portaudio回调已连接/未连接的设备?【英文标题】:Callback for connected/unconnected device using portaudio? 【发布时间】:2015-06-14 18:06:10 【问题描述】:

是否有回调知道设备列表何时更新?

如果没有,有没有办法检测它(最好是跨平台)?

目前我发现的唯一方法是重新初始化 PortAudio。

ps: 我试图在 PortAudio 文档中找到“回调”文档,但没有找到。

【问题讨论】:

【参考方案1】:

如果您的操作系统是 Linux,您可以使用 inotify() 系统调用,并查看 /dev 目录或子目录。不过,我不了解 Windows。

【讨论】:

很高兴知道!可能是找出它是如何在每个操作系统上工作的,然后只有一个经典的“开关”:P【参考方案2】:

是否有回调知道设备列表何时更新?

不在主行代码中。在某些平台上有一个支持此功能的分支。总是欢迎新的贡献者帮助完成这项工作。这是一个非常需要的功能。

请注意,设备列表从不在调用Pa_Initialize()Pa_Terminate() 之间更新。这是 API 的基本不变量。该分支还支持refresh 调用。

使用当前版本的方法是使用特定于平台的检查,然后按照您的建议调用Pa_Terminate();Pa_Initialize();

【讨论】:

我们实现了终止/初始化,它足够快!

以上是关于使用portaudio回调已连接/未连接的设备?的主要内容,如果未能解决你的问题,请参考以下文章

Flutter 连接错误回调

未使用 CoreBluetooth (iPhone 6) 接收外围设备发现回调

AVAudioSession 未检测到连接的蓝牙设备

android的蓝牙匹配连接

WebRTC 数据通道未连接或未调用回调

iPod 在 iTunes 中恢复:但现在在 Xcode 中:未连接预置的 iOS 设备