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)
Другие вопросы по тегам