Как проверить, использует ли другая камера / микрофон в Python Ubuntu - PullRequest
0 голосов
/ 11 декабря 2018

Я пытаюсь проверить в 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).Та же концепция должна пойти на камеру / микрофон.

Спасибо за помощь:)

1 Ответ

0 голосов
/ 11 декабря 2018

Проблема в том, что для Linux существует несколько звуковых платформ.

Самый старый, OSS, использует несколько имен устройств в /dev, которые вы должны открыть (см. Список здесь ).Маловероятно, что вы установили это на недавней Ubuntu.

Возможно, вы используете ALSA и PulseAudio.В этом случае программа, вероятно, подключается к PulseAudio через сокет UNIX (например, /run/user/1000/pulse/native), но это деталь реализации PulseAudio (в частности, она также может работать через IP).Вы должны использовать PulseAudio API, чтобы выяснить, например, если вы запускаете pactl list source-outputs, вы должны увидеть список клиентов и устройств записи, к которым они подключены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...