如何检查python ubuntu中是否有其他程序在使用摄像头/麦克风

2024-09-29 01:36:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试检查python(ubuntu)中是否有其他程序正在使用我电脑的摄像头/麦克风。 我想到了访问摄像头/麦克风时使用的系统调用。 我知道正在使用syscalls“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\u calls\u list)。然后我检查它是否有一个带有特定参数的特定syscall(open)。如果没有,我可以知道我正在检查的文件添加了新文件,然后将其路径附加到另一个列表(添加了新文件的程序)。同样的概念也适用于相机/麦克风

感谢您的帮助:)


Tags: 文件path程序列表参数ubuntu系统open
1条回答
网友
1楼 · 发布于 2024-09-29 01:36:14

问题是Linux有多个音频框架

最老的OSS在/dev下使用多个设备名,您应该打开这些设备名(请参见list here)。你不太可能在最近的Ubuntu上安装这个

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

相关问题 更多 >