Доброго времени суток, форумчане. Снова обращаюсь к вам за помощью. Итак, входные данные: - RPi mod B под управлением Rasbian - тактовые кнопки (пока, в дальнейшем будут сухие контакты автоматического управления) - несколько видео Задача: 1. Вместе со стартом системы запускается скрипт, который циклически воспроизводит видео1 до тех пор, пока не будет нажата кнопка1 2. При нажатии кнопки1 запускается видео2 и воспроизводится циклически до нажатия кнопки2. ..... n. При нажатии кнопки(n-1) в любой момент времени происходит сброс и перезапуск скрипта. На питоне написал вот такое убожество (для начала): Код (Python): import RPi.GPIO as GPIO import time import os GPIO.setmode (GPIO.BCM) GPIO.setup (4, GPIO.IN) GPIO.setup (17, GPIO.IN) while True: inputValue1 = GPIO.input (4) inputValue2 = GPIO.input (17) os.system ("omxplayer --win '0 0 100 120' 000.mp4 --loop --font-size 1") if (inputValue2 == True): os.system ("omxplayer --win '0 0 100 120' 111.avi --loop --font-size 1") if (inputValue1 == True): os.system ("omxplayer --win '0 0 100 100' 222.mp4 --loop --font-size 1") time.sleep(.01) При нажатии кнопки ничего не происходит, первое видео воспроизводится по кругу, как так и надо. Пробовал удалять из кода запуск видео 000.mp4 - кнопки срабатывают корректно, но суть та же - воспроизводится только то видео, которое соответствует нажатой кнопке, однако другое не запускается при нажатии другой кнопки. Подскажите, пожалуйста, что я сделаю не так и куда смотреть. P.S. да, в программировании, тем более, в Питоне, я нуб, тапками просьба не кидаться. Заранее спасибо.
Для начала -- Вы запускаете новые экземпляры 'omxplayer' без завершения уже работающих (поэтому первое видео и крутится постоянно). Логика должна быть примерно следующей: при старте системы запускаете экземпляр 'omxplayer' и сохраняете его PID; при нажатии кнпки завершаете запущенный эекземпляр и запускаете новый (с новым видео) с сохранением PID (шаг 2 повторяется при нажатии кнопок). Хотя возможно есть другой способ смены воиспроизводимого видео в 'omxplayer'. PS: это первые мысли....