【问题标题】:Python Play Video As Desktop BackgroundPython播放视频作为桌面背景
【发布时间】:2020-03-13 08:11:13
【问题描述】:

我正在尝试找到一种方法将视频设置为我的桌面背景,并且将来可能会从 Web url 中获取某种图像流。我在想我会尝试用 Python 来做这件事,只是因为它很容易编写。我关注了this 的回答,并找到了一种将我的桌面背景设置为来自 NASA 的每日图像 API 的图像的方法。这很有效,所以我想测试一下我是否可以多次设置它并获取视频。所以我也用this的答案来获取示例视频的每一帧并保存。然后我使用了一个while循环来连续设置我的桌面背景大约每秒20次:

import ctypes
import time


SPI_SETDESKWALLPAPER = 20

frames = 738
current_frame = 0

while 1:
    if current_frame > frames:
        current_frame = 0
    ctypes.windll.user32.SystemParametersInfoW(SPI_SETDESKWALLPAPER, 0, "C:\\Users\\Bill\\Documents\\vscode\\NASA-Web-API\\frames\\frame%d.bmp" % current_frame, 0)
    time.sleep(0.05)
    current_frame += 1

有没有办法在 Python 中做到这一点,或者我必须用 C# 或其他更适合与 Windows 交互的语言来做到这一点?我知道有一种更好的方法可以做到这一点,因为这种方法的性能似乎不是很好,并且 WallpaperEngine 和 VLC 媒体播放器等应用程序可以将视频和其他内容显示为桌面背景,而不会使用太多资源。任何帮助表示赞赏。

【问题讨论】:

    标签: python-3.x windows ctypes wallpaper


    【解决方案1】:

    只是一个理论, 如果您将 10 秒的视频剪切成 10 帧,请使用帧编号 {1..10} 保存。然后执行 SPI_SETDESKWALLPAPER == current_frame 之类的操作并设置刷新计时器,使其看起来像视频。

    怀疑这是否会有所帮助,但至少我无论如何都试图提供帮助:D

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-10
      • 2012-03-25
      • 1970-01-01
      • 1970-01-01
      • 2022-10-16
      • 1970-01-01
      • 1970-01-01
      • 2014-09-24
      相关资源
      最近更新 更多