【问题标题】:Trying to pause whilst running mplayer from webserver从网络服务器运行 mplayer 时尝试暂停
【发布时间】:2014-03-06 01:51:38
【问题描述】:

您好,我正在使用 python 创建自己的用户界面。 在此,我目前使用 nohup 通过单击运行 mplayer(以免弄乱正在运行的服务器),我想做的是添加一个暂停按钮。

这在运行 nohup 时是否可行,或者有更好的方法吗?

那么努力

os.system("nohup mplayer file.mp3 &")

据我所知,不允许暂停。

那么;

os.system("rm /tmp/mplayer")
os.system("mkfifo /tmp/mplayer")
os.system("nohup mplayer -slave -input file=/tmp/mplayer file.mp3 &")

然后我的暂停按钮是使用创建的;

os.system("echo pause > /tmp/mplayer") ##click again to unplay

如果在新终端中键入可以工作,但在玩游戏时会杀死我的网络服务器。所以不能从网络服务器工作。

目前正在使用 Flask/Python 和 jinja 模板。

非常感谢

【问题讨论】:

    标签: mplayer


    【解决方案1】:

    您不使用python-mplayer 包装器从python 控制mplayer 是否有任何具体原因?该模块非常完整,可让您控制包括暂停在内的播放功能。

    编辑: 对于非标准的mplayer二进制位置可能需要调用自省方法(基于wiki entry from official page。

    from mplayer import Player
    
    # First, specify the correct path to the MPlayer executable
    Player.exec_path = '/actual/path/to/the/mplayer-bin'
    
    # Then, manually call the introspect() class method
    Player.introspect()
    
    
    # Since autospawn is True by default, no need to call player.spawn() manually
    player = Player()
    
    # Play a file
    player.loadfile('/path/to/file.mkv')
    
    # Pause playback
    player.pause()
    

    【讨论】:

    • 我以前从未见过这个,听起来很完美,但很难让它发挥作用(文档似乎有些缺乏)。
    • 我从未在 linux 上使用过它,但是如果您有兴趣,应该有一些 windows 示例。
    • 会很棒,我最大的问题是如何将它与我现有的项目合并。即在哪里放置 mplayer 文件夹等,以便我可以将其导入到我的脚本中。
    • 您可以将可执行文件放在您想要的任何位置,只需在实例化播放器对象之前将exec_path 类属性设置为指向可执行文件即可。看看这里:code.google.com/p/python-mplayer/wiki/Player 并修改 exec_path 与示例中修改 cmd_prefix 的方式相同。如果我没记错的话,默认情况下,包装器会在工作目录中搜索可执行文件。
    • 我以为我的头是蟒蛇,但这让我很难过。在 linux 中,您只需键入“mplayer file.mp3”即可播放。如此挣扎,将继续前进,因为如果我能完成这项工作,它应该会让其余的工作变得更容易。干杯
    猜你喜欢
    • 2020-01-22
    • 1970-01-01
    • 2011-11-16
    • 1970-01-01
    • 2014-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-02
    相关资源
    最近更新 更多