autohotkey、autoit、vbscript、c#、またはcを使用して現在再生中のビデオがあるかどうかを検出する方法は?
ビデオは、任意のローカル プレーヤー、Web ベースのプレーヤー、または html5 プレーヤーで再生/ストリーミングできます。プレーヤーの名前もわかりません。また、プレーヤーが全画面表示されていない可能性があります。
PS。CPU 負荷を検出しても常に正しい結果が得られるとは限らないため、受け入れられません。
autohotkey、autoit、vbscript、c#、またはcを使用して現在再生中のビデオがあるかどうかを検出する方法は?
ビデオは、任意のローカル プレーヤー、Web ベースのプレーヤー、または html5 プレーヤーで再生/ストリーミングできます。プレーヤーの名前もわかりません。また、プレーヤーが全画面表示されていない可能性があります。
PS。CPU 負荷を検出しても常に正しい結果が得られるとは限らないため、受け入れられません。
私はその日にこれについて少し仕事をしました。スクリーンセーバーを無効にするかどうかを取得/設定する WIN32API (古い学校) があります (user32.dll、GetScreenSaverActive()、SetScreenSaverActive - 参照: http://www.codeproject.com/Articles/17067/Controlling-The -Screen-Saver-With-C )。これは、動画の再生中に設定される可能性が最も高いフラグですが、すべてのプレーヤーが実装するわけではないため、100% 信頼できるわけではありません。プラグイン、ネイティブ、または DirectX 経由で再生するかどうかに関係なく、ほとんどのブラウザー ビデオで機能します。これは、vlc、windvd などのほとんどの (すべての?) 外部プレーヤーでも機能します。
しかし。
動画の再生を確実に判断する 100% の方法はありません。それはいけません; 1. ユーザーが iTunes を使用している可能性があり、すべてのビデオにサウンドが含まれているわけではないため、サウンドの再生を確認します。信頼性が高く、他に決定する方法がない 4. プレーヤーが最小化されたときに win32 フラグをクリア/リセットしていないことを絶対に確認してください
もう 1 つのオプションは、既知のすべてのプレーヤーの実行可能ファイル名のリストを作成して照合し (実行可能ですが、特に古いバージョンではデータを見つけるのに時間がかかります)、それらが実行されているかどうかを確認することです。これは、プリロードされたプラグインとしてもブラウザとしても 100% 信頼できるわけではありませんが、その時点で実際にビデオを再生するわけではありません。
要するに、私が知っている 100% の方法はありませんが、90 ~ 95% 達成できる方法はいくつかあります。それは、再生中のビデオがあるかどうかを知る目的ですか? 探しているものを簡単に見つける方法があるかもしれません...