gpt4 book ai didi

linux - alsa:如何使用它的名称而不打开它以编程方式查找设备是否忙/正在使用

转载 作者:太空宇宙 更新时间:2023-11-04 09:26:32 25 4
gpt4 key购买 nike

我们有一个 Linux 设备,它有一个扬声器和 MIC 设备。这些设备在不同模块之间共享 - 例如 VOIP 调用可以使用扬声器,危险警告系统可以使用扬声器,语音提示可以使用扬声器等:

ALSA 中似乎有一个函数使用 pcm 来提供状态。int snd_pcm_status (snd_pcm_t * pcm, snd_pcm_status_t * status)

但是 *pcm 是由 snd_pcm_open 返回的。我们不想打开设备,因为我们想使用设备的“名称”了解设备的状态

Alsa API 是 here

我们如何在不打开资源/设备并使用其名称的情况下检查资源/设备是否繁忙?

最佳答案

在文件 /proc/asound/cardZ/pcmYp/subX/status 中提供了卡 Z 上设备 Y 的播放流 X 的相同信息;当设备未打开时,它只是说“关闭”。

请注意,您不能使用此信息来决定是否可以打开设备,因为某些其他进程可能会在您阅读此信息后立即打开它。检查是否可以打开它的唯一方法是实际尝试。

关于linux - alsa:如何使用它的名称而不打开它以编程方式查找设备是否忙/正在使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35772758/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com