使用 mplayer 在 python 脚本中播放 m4a
Play m4a in python script with mplayer
我正在 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 为我工作。
我看到的唯一相关问题建议将 nolirc=yes 添加到 mplayer 配置文件中。没有帮助。
如有任何帮助,我们将不胜感激。
最糟糕的方法,但可能有用:
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()
尝试使用文件的绝对路径。如果您在 IDE 或调试器中 运行 此脚本,有时它会弄乱相对路径。
我会尝试:
import os
from mplayer import Player
player = Player()
abspath = os.path.join(os.path.dirname(__file__), 'asdf.m4a')
player.loadfile(abspath)
我正在 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 为我工作。
我看到的唯一相关问题建议将 nolirc=yes 添加到 mplayer 配置文件中。没有帮助。
如有任何帮助,我们将不胜感激。
最糟糕的方法,但可能有用:
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()
尝试使用文件的绝对路径。如果您在 IDE 或调试器中 运行 此脚本,有时它会弄乱相对路径。
我会尝试:
import os
from mplayer import Player
player = Player()
abspath = os.path.join(os.path.dirname(__file__), 'asdf.m4a')
player.loadfile(abspath)