声音设备被子进程占用

keblues 2012-08-25 05:38:36
在我的一个QT应用程序中,使用QSound::Play()来播放声音,在平时运行过程中播放是正常的。
当程序在某个时候启动wifi连接时(通过调用wpa_supplicant),它会开启wpa_supplicant进程,这时如果播放声音,会出现有时声音无法播放的现象。用命令:
lsof /dev/dsp 发现如下结果:

wpa_suppl 540 root 26w CHR 14,3 0t0 213 /dev/dsp
udhcpc 561 root 26w CHR 14,3 0t0 213 /dev/dsp

可以看到声音设备 /dev/dsp 被新开启的wifi连接进程给占用了,此时若kill掉wpa_supplicant,udhcpc两个进程,则声音播放又正常了。

我的问题是如何不让新开启的子进程占用声音设备,或者如何才能保证程序在开启子进程后还能继续正常播放声音?
...全文
119 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧