mplayer не работает, когда скрипт Python запускается в фоновом режиме
У меня есть сценарий Python, который воспроизводит некоторые аудиофайлы с mplayer. Вот как я называю mplayer в коде:
subprocess.call(["mplayer","-msglevel","all=-1",audiofile])
это работает нормально, если я запускаю скрипт на переднем плане... Однако, если я запускаю скрипт в фоновом режиме, как
sudo python script.py &
Я не могу получить звук... почему? Как это исправить?
1 ответ
Решение
Согласно Mplayer FAQ:
Q: Как я могу запустить MPlayer в фоновом режиме?
A: использовать:
mplayer options filename < /dev/null &
В питоне используйте stdin
аргумент для передачи нулевого файла.
import os
import subprocess
with open(os.devnull, 'wb') as nul:
subprocess.call(['mplayer', '-msglevel', 'all=-1', audiofile], stdin=nul)