Этот скрипт многократно воспроизводит аудиофайл (melody1.mp3) в цикле с заданным интервалом (60 секунд). Он также устанавливает блокировку с помощью команды termux-wake-lock, чтобы предотвратить переход телефона в спящий режим во время цикла.
import time import os import signal filename = "melody1.mp3" duration = 1800 interval = 60 os.system("termux-wake-lock") # Define a signal handler function to release wakelock on SIGINT def signal_handler(sig, frame): os.system("termux-wake-unlock") print("\nWakelock released. Exiting...") exit(0) # Register the signal handler function for SIGINT signal.signal(signal.SIGINT, signal_handler) # Start the countdown loop for i in range(duration, 0, -interval): print(f"{i//60} minutes remaining...") os.system("play " + filename) time.sleep(interval) # Release wakelock at the end of the loop os.system("termux-wake-unlock")
Цикл выполняется в течение заданной продолжительности 1800 секунд (30 минут) и отображает обратный отсчет оставшегося времени в минутах на каждой итерации. После завершения цикла сценарий снимает блокировку с помощью команды termux-wake-unlock.
Сценарий также включает функцию обработки сигнала, зарегистрированную для сигнала SIGINT (обычно запускается нажатием CTRL+C в терминале). Если сценарий прерывается пользователем вручную, обработчик сигналов снимает блокировку пробуждения и корректно завершает выполнение сценария.
В целом, этот сценарий предназначен для многократного воспроизведения аудиофайла, поддерживая телефон в бодрствующем состоянии, и включает обработку ошибок, чтобы гарантировать, что блокировка пробуждения будет снята правильно, когда сценарий будет прерван.
Запуск выполняется командойpython namescript.py