Подпроцесс Python, процесс уничтожения после временной задержки
Я впервые работаю с Python и Raspberry Pi (это Pi 2) и пытается запустить набор команд с заданным временем. Я многое из этого понял, кроме самого конца, где я хочу убить все процессы.
Логика такова:
– Запуск звукового файла (.wav), называемого «обратный отсчет»,
– Запустить другой звуковой файл (.wav) под названием «dixie»
– В то время как dixie запускает команду wget для запуска фотографии на моей камере
– Продолжайте играть в "dixie", пока предыдущий wget не завершит выполнение
– Когда wget заканчивает выполнение, прекратите играть в "dixie"
– Trigger final audio file (.wav), называемый «аплодисменты»,
– Остановить звук
По сути, wget является важным, для воспроизведения аудиофайлов просто для создания музыки, пока камера снимает фотографию. Когда wget закончил, а аплодисменты заканчиваются, я хочу убить все аудио, но команда subprocess.Popen для «dixie» продолжает играть (это около 40 секунд). Как я могу убить этот процесс в конце?
Вот мой код:
import os import time import subprocess subprocess.call(["aplay countdown.wav"], shell=True) subprocess.Popen(["aplay dixie.wav"], shell=True) subprocess.call(["wget 'http://10.5.5.9/camera/SH?t=12345678&p=%01' -O-"], shell=True) time.sleep(5) subprocess.call(["aplay applause.wav"], shell=True) subprocess.Popen.kill(["aplay dixie.wav"], shell=True)
Я хочу убить «дикси», как только «аплодисменты» закончили играть.
Мой код дает ошибку:
"unbound method kill() must be called with Popen instance as first argument (got list instance instead)"
Есть ли какие-нибудь предложения?
- редактирование wav-файлов с помощью python
- Python: Какова самая многофункциональная библиотека для загрузки звуковых метаданных из разных форматов?
- Обрезание вершин волновых форм в Python
- Записанный звук одной заметки создает несколько периодов начала
- Сделать кнопку по-разному, если нажать второй раз (Python)
Я бы предложил сделать это:
proc = subprocess.Popen(["aplay dixie.wav"], shell=True) # do something proc.terminate()
- Tensorflow занимает слишком много времени, чтобы прочитать файл tfrecord
- Передача переменной сеанса между шаблонами в колбе
- Как создать pysub AudioSegment с использованием массива numpy?
- Самый простой способ создания гитарных аккордов в Linux и / или python
- Как играть вектор в Python?
- Python: midi to audio stream
- Использование pyDub для измельчения длинного аудиофайла
- Управление свойствами звука в python
- Python импортирует звуковое устройство в виде sd (ImportError: имя модуля без звука)
- Проверка ogg-файлов с помощью Python на OSX и Linux
- Модуль Python для воспроизведения звуковых данных с индикатором выполнения?