gpt4 book ai didi

python - 如何在 python ubuntu 中检查其他程序是否正在使用相机/麦克风

转载 作者:行者123 更新时间:2023-12-04 18:33:41 29 4
gpt4 key购买 nike

如果另一个程序正在使用我计算机的摄像头/麦克风,我正在尝试检查 python (ubuntu)。
我想到了访问相机/麦克风时正在使用哪些系统调用。
我知道正在使用系统调用“access”和“open”,但可能有特定的参数。
如果我知道正在使用哪些系统调用,我怎么能知道
程序正在使用那些特定的系统调用?

我有一个示例代码,我在其中检查 file.exe 是否添加了任何新文件:

if "open(\"" + file_path + "\", O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = 3" in system_calls_list:
programs_which_added_new_files.append(file_path)

首先,我创建了一个添加新文件的文件,然后将文件的所有系统调用写入列表(system_calls_list)。而且我正在检查它是否具有带有特定参数的特定系统调用(打开)。如果确实如此,我可以知道我正在检查的文件添加了新文件,而不是将其路径附加到不同的列表(programs_which_added_new_files)。同样的概念应该适用于相机/麦克风。

谢谢您的帮助 :)

最佳答案

问题在于 Linux 存在多个音频框架。

最早的 OSS 使用 /dev 下的多个设备名称你应该打开的(见 list here )。您不太可能在最近的 Ubuntu 上安装它。

您可能使用的是 ALSA 和 PulseAudio。在这种情况下,程序可能通过 UNIX 套接字(例如 /run/user/1000/pulse/native)连接到 PulseAudio,但这是 PulseAudio 的实现细节(特别是它也可以通过 IP 工作)。您应该使用 PulseAudio API 来查找,例如,如果您运行 pactl list source-outputs您应该会看到客户端列表和它们连接的记录设备。

关于python - 如何在 python ubuntu 中检查其他程序是否正在使用相机/麦克风,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53716162/

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