用mplayer在python脚本中播放m4a

时间:2015-02-22 23:41:16

标签: python raspbian mplayer m4a

我发布到URL,下载音频文件(m4a)并尝试使用Python脚本从终端播放。当我输入

mplayer asdf.m4a 

在终端中播放正常。但是当我执行以下代码时

from mplayer import Player

player = Player()
player.loadfile('asdf.m4a')

如mplayer指南所示,我收到以下错误:

mplayer: could not connect to socket
mplayer: No such file or directory

我一直试图解决这个问题几天,看起来应该很简单。我不知道出了什么问题。我能够使用pygame来播放mp3和ogg,但我需要玩m4a而我似乎无法让mplayer为我工作。

我见过的唯一相关问题建议在mplayer配置文件中添加nolirc = yes。没有帮助。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

最糟糕的方式,但可能有用:

from subprocess import Popen, PIPE

pipes = dict(stdin=PIPE, stdout=PIPE, stderr=PIPE)
mplayer = Popen(["mplayer", "asdf.m4a"], **pipes)

# to control u can use Popen.communicate
mplayer.communicate(input=b">")
sys.stdout.flush()

答案 1 :(得分:0)

尝试使用文件的绝对路径。如果您在IDE或调试器中运行此脚本,有时它可能会弄乱相对路径。

我会尝试:

import os
from mplayer import Player

player = Player()
abspath = os.path.join(os.path.dirname(__file__), 'asdf.m4a')
player.loadfile(abspath)