Python: отправить команду в mplayer в подчиненном режиме

m пытается отправить команду через канал в mplayer при запуске в подчиненном режиме следующим образом:

import subprocess, time
# start mplayer
song = 'mysong.mp3'
cmd = ['mplayer', '-slave', '-quiet', song]
p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stdin=subprocess.PIPE)

# send a command every 3 seconds.
# Full command reference here: http://www.mplayerhq.hu/DOCS/tech/slave.txt 
while True:
    print('sleep 3 seconds ...')
    time.sleep(3)
    cmd = 'get_meta_artist'
    print('send command: {}'.format(cmd))
    p.stdin.write(cmd)
    output = p.communicate()[0]
    print(output)

Но на выходе ничего не было.

Я взял пример сэтот вопрос.

Запуск той же команды mplayer в терминале работает нормально. Что мне здесь не хватает?

ОБНОВИТЬ:

Я изменил мой cmd с "get_meta_artist» к "get_meta_artist» так что разрыв строки также отправляется в канал, но я все равно ничего не получил в выводе.

UPDATE2:

Я изменил cmd в "Пауза" и музыка была приостановлена. Это означает, что отправка команды через стандартный ввод работала. Это означает, что выходная строкаget_meta_artist» команда необратно, как и ожидалось ...

Ответы на вопрос(2)

Ваш ответ на вопрос