【问题标题】:Subprocess Popen couldn't find 'play'子进程 Popen 找不到“播放”
【发布时间】:2019-06-06 09:30:00
【问题描述】:

来自子进程的 Popen 找不到 'play' 或 'aplay'。

我的操作系统是 Mac10.13.6,当我从 subprocess.py 调用 Popen 并执行流动代码时

import platform
from subprocess import Popen

player = 'play' if platform.system() == 'Darwin' else 'aplay'
Popen([player, '-q', filename])

我收到以下错误

  File "/Users/lyuzhiliang/mycroft-precise/precise/util.py", line 78, in play_audio
    Popen([player, '-q', filename])
  File "/Users/lyuzhiliang/anaconda3/lib/python3.6/subprocess.py", line 709, in __init__
    restore_signals, start_new_session)
  File "/Users/lyuzhiliang/anaconda3/lib/python3.6/subprocess.py", line 1344, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'play': 'play'

我需要安装一些依赖项吗?

【问题讨论】:

    标签: python-3.x subprocess popen


    【解决方案1】:

    我不完全确定,我认为它必须是 afplay。也许尝试给出完整的路径并自己寻找二进制文件。 (我认为 /usr/bin/afplay)

    【讨论】:

    • 当然,我是 StackOverflow 的新手,对此感到抱歉,再次感谢。
    猜你喜欢
    • 2018-12-05
    • 2014-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-20
    • 1970-01-01
    • 2014-09-15
    • 1970-01-01
    相关资源
    最近更新 更多