funkwlmpv/src/android_termux_api.py

43 lines
1.2 KiB
Python

import subprocess
import os
import json
import threading
import time
from src.mpv_control import player
from loguru import logger
'''Warning! This module can be very battery drain'''
@logger.catch
def handle_vol_lvl_as_switch_track():
volume_diff = []
while True:
for a in range(2): # ~2 secs
volume = subprocess.Popen("termux-volume", stdout=subprocess.PIPE).stdout
json_volume = json.loads(volume.read())
time.sleep(0.300)
for i in json_volume:
if i['stream'] == 'music':
volume_diff.append(i['volume'])
if len(volume_diff) == 2:
before, after = volume_diff
difference = after - before
if difference == 2:
try:
player.playlist_next()
except:
pass
os.system(f'termux-volume music {before}')
elif difference == -2:
try:
player.playlist_prev()
except:
pass
os.system(f'termux-volume music {before}')
volume_diff = []
handle_vol_lvl = threading.Thread(
target=handle_vol_lvl_as_switch_track, daemon=True)
handle_vol_lvl.start()