Этот скрипт многократно воспроизводит аудиофайл (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