DzenIT

HOME ZEN IT SOFT APK LIVE GAME OTHER W CONTACT SEARCH

Скрипт Python для воспроизведения аудиофайла в цикле с Wakelock в Termux

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


github