2012-06-24 184 views
0

如何檢測是否有任何視頻正在播放使用,,,如何檢測是否有任何視頻正在播放?

視頻可以在任何本地播放器,網絡播放器或html5播放器中播放/流式播放。我們不知道玩家的名字,玩家也可能不是全屏。

PS。檢測CPU負載可能無法始終給出正確的結果,因此不能接受。

+1

這不會讓我儘可能遠程準確。你爲什麼想這樣做? –

+1

我的猜測是,如果不涉及猜測,這是不可能的。 (在打開的文件句柄/ HTTP連接中檢查已知的視頻文件擴展名,然後查看訪問視頻文件的進程是否具有高負載的CPU)。 – millimoose

+1

什麼是「正在播放的視頻」?哪裏?互聯網上的任何地方?這個問題是不可能回答的。 -1。 –

回答

2

我在這一天背上做了一些小小的工作。有一個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%的範圍內。這是知道是否有視頻播放的目的?也許有一種更簡單的方法來找到你要找的東西...

+0

只有在啓用屏保後才能使用。 –

+0

@ Bonner웃,true。這回到我的觀點,那就是沒有100%確實的做法 – DiskJunky

相關問題