This is how I would change the volume as well as left/right playlist:
import evdev,time,glob
from omxplayer.player import OMXPlayer
# pip3 install omxplayer-wrapper
def playerExit(code):
print('exit',code)
global playing
playing=False
def playFile(file):
global player,playing
if player==None:
player=OMXPlayer(file)
player.set_volume(volume)
player.exitEvent += lambda _, exit_code: playerExit(exit_code)
else:
player.load(file)
print('Playing:',file)
playing=True
def quitPlayer():
if player!=None:
player.quit()
def getDevice():
for fn in evdev.list_devices():
device = evdev.InputDevice(fn)
caps = device.capabilities()
if evdev.events.EV_KEY in caps:
if evdev.ecodes.KEY_1 in caps[evdev.events.EV_KEY]:
return device
raise IOError('No keyboard found')
dev = getDevice()
print(dev)
#print(dev.capabilities(verbose=True))
player = None
files = glob.glob('/home/pi/Music/*.mp3')
print(files)
print(len(files))
file=0
volume=0.2
for ev in dev.read_loop():
#print(ev)
if ev.type == evdev.ecodes.EV_KEY:
#print(evdev.categorize(ev))
active=dev.active_keys()
if evdev.ecodes.KEY_LEFTCTRL in active and (evdev.ecodes.KEY_X in active or evdev.ecodes.KEY_C in active):
quitPlayer()
print('Exit')
break
if ev.code == evdev.ecodes.KEY_LEFT and ev.value == 1:
print('left')
file-=1
if file<0:
file=len(files)
playFile(files[file])
if ev.code == evdev.ecodes.KEY_RIGHT and ev.value == 1:
print('right')
file+=1
if file>len(files)-1:
file=0
playFile(files[file])
if ev.code == evdev.ecodes.KEY_UP and ev.value == 1:
volume+=0.1
if volume>1:
volume=1
print('up',volume)
if player!=None:
player.set_volume(volume)
if ev.code == evdev.ecodes.KEY_DOWN and ev.value == 1:
volume-=0.1
if volume<0:
volume=0
print('down',volume)
if player!=None:
player.set_volume(volume)