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

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

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

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

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

【问题讨论】:

    标签: c++ audio portaudio


    【解决方案1】:

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

    【讨论】:

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

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

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

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

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

    【讨论】:

    • 我们实现了终止/初始化,它足够快!
    猜你喜欢
    • 2021-07-10
    • 2020-06-09
    • 1970-01-01
    • 2011-04-10
    • 2016-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-24
    相关资源
    最近更新 更多