如何判断 Totem 是否正在播放视频

如何判断 Totem 是否正在播放视频

我最近切换到了 DWM,并且一直在对其进行自定义。我已将 xautolock 设置为 5 分钟后自动锁定我的计算机。当我使用 Totem 观看电影时,这很烦人。有没有办法知道 Totem 当前是否正在播放电影,以便我可以编辑屏幕锁定脚本来检查这一点?我不想让它仅仅因为 Totem 正在运行就认为不能锁定屏幕。它需要正在播放。

答案1

您不能检查声卡上的音频输出吗?让它检查任何输出(耳机/扬声器)。我怀疑您是否会安静地看电影……

答案2

我找到了一个帖子在 Stackoverflow 上解释如何为 totem 启用 D-bus 插件。

我想到的 Python 脚本很丑陋,但它可以确保播放的电影不会锁定屏幕:

import dbus


def totem_is_playing():
    try:
        T_SERVICE_NAME = "org.mpris.Totem"
        T_OBJECT_PATH = "/Player"
        T_INTERFACE = "org.freedesktop.MediaPlayer"

        session_bus= dbus.SessionBus()

        totem = session_bus.get_object(T_SERVICE_NAME, T_OBJECT_PATH)
        totem_mediaplayer = dbus.Interface(totem, dbus_interface=T_INTERFACE)

        status = totem_mediaplayer.GetStatus()
        if status[0] == 0:
            return True
        return False
    except dbus.exceptions.DBusException:
        return False

插件 API 可以通过此处的代码审查进行解释:https://yayoutube.googlecode.com/svn-history/r50/trunk/totem/mpris/mpris.py

相关内容