首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何检测当前是否有视频正在播放?

如何检测当前是否有视频正在播放?
EN

Stack Overflow用户
提问于 2012-06-24 20:17:47
回答 1查看 2.2K关注 0票数 2

如何检测是否正在使用autohotkeyautoitvbscriptc#c播放视频

视频可以在任何本地播放器、基于web的播放器或html5播放器中播放/流式传输。我们不知道玩家的名字也可能不是全屏的玩家。

PS。检测CPU负载可能并不总是给出正确的结果,因此它是不可接受的。

EN

回答 1

Stack Overflow用户

发布于 2013-02-15 05:22:48

我以前在这方面做了一些工作。有一个WIN32API (老式的)可以获取/设置是否禁用屏幕保护程序(在user32.dll中,GetScreenSaverActive(),SetScreenSaverActive -参见:http://www.codeproject.com/Articles/17067/Controlling-The-Screen-Saver-With-C)。这是在播放视频时最有可能设置的标志,但它并不是100%可靠的,因为不是每个播放器都会实现它。它适用于大多数浏览器视频,无论是通过插件播放,本地播放,还是通过DirectX播放。这也适用于大多数(所有?)外部播放器,如vlc、windvd等。

但。

没有万无一失的、100%确定视频播放的方法。您不能;1.检查声音播放,因为用户可能正在使用iTunes,但并非所有视频都有声音。2.检查全屏(通常是更好的选项),因为视频可能是在浏览器中播放的。3.检查cpu/gpu负载,因为它不可靠,您没有其他方法来确定4.绝对确保播放器在最小化时没有清除/重置win32标志。

另一种选择是尝试整理所有已知播放器的潜在可执行文件名称列表(可以做到,但查找数据很耗时,特别是在较旧的版本上),并检查它们是否正在运行。这也不是100%可靠的插件,因为它是由浏览器预加载的,而不是真正在那个时刻播放视频。

简而言之,据我所知没有100%的方法,但有几种方法可以让你达到90-95%的目标。这就是知道是否有视频播放的目的?也许有一种更简单的方法可以找到你正在寻找的东西。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11177373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档