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

时间:2015-06-14 18:06:11

标签: c++ audio portaudio

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

如果没有,有没有办法检测它(理想情况下是跨平台)?

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

PS: 我试图找到"回调"有关PortAudio文档的文档,但我找不到它。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

  

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

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

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

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