我現在有一個程式A,會不停地打開視頻。windows media player 會默認播放被最新打開的那一個視頻,也就是,前一個還沒播完,新打開了一個視頻,就開始播下一個了。
現在我想有另外一個程式B,控制media player先把正在播放的播放完,再播放最新被打開的視頻(播放程序中被A打開的視頻就被自動忽略,不進行播放)
跪求大神指條明路…有沒有不呼叫程式A的介面的方法
uj5u.com熱心網友回復:
樓主能不能描述清楚一點,你這描述能力,實在是讓人無法理解啊uj5u.com熱心網友回復:
如果它是直接呼叫媒體播放器來播放,那可能就不行。如果它是用類似于“ShellExecute”之類的東東、讓系統以默認播放器來播放,那你的想法就有可能實作了。
這個你可以驗證:
系統中安裝有其它的播放器,把程式A打開的視頻型別改為默認用第三方播放器播放;
如果這時程式A打開視頻變成用第三方播放器播放了,就說明你的想法有希望實作;
如果仍然用媒體播放器打開的,那就可能沒轍了。
除非能夠把系統的wmplayer.exe改名、然后用自己的程式改成wmplayer.exe 替代它,
但因為瘟到死有“系統檔案保護”機制,這個方法恐怕也夠嗆。
在“你的想法有希望實作”的條件下,要真正實作,另外一個條件就是:
你必須能夠檢測到播放器的播放狀態(播放中,還是暫停、播放結束、空閑等等),
這樣你的程式才能夠按播放器狀態,來實作讓播放器放“下一個視頻”,還是忽略掉它。
uj5u.com熱心網友回復:
當然如果“能夠實作”,你也許可以把程式A打開的視頻全部記錄下來,讓播放器一個一個的挨著播放完。

uj5u.com熱心網友回復:
那種都有辦法
看你想不想弄了
你可以用鉤子啊
鉤住這個程式的打開檔案的API
然后當打開的時候判斷一下播放完成沒有就可以了啊.
uj5u.com熱心網友回復:
http://www.nirsoft.net/utils/opened_files_view.htmluj5u.com熱心網友回復:
問題是,你能不能檢測“瘟到死”媒體播放器的播放狀態啊。

注意我說的是系統中的那個程式,不是自己程式中的控制元件。
不過現在高版本WMP.dll介面“很豐富”,只是不知道能否實作“與現有實體物件通訊”。
uj5u.com熱心網友回復:
如果它是直接呼叫媒體播放器來播放,那可能就不行。
如果它是用類似于“ShellExecute”之類的東東、讓系統以默認播放器來播放,那你的想法就有可能實作了。
這個你可以驗證:
系統中安裝有其它的播放器,把程式A打開的視頻型別改為默認用第三方播放器播放;
如果這時程式A打開視頻變成用第三方播放器播放了,就說明你的想法有希望實作;
如果仍然用媒體播放器打開的,那就可能沒轍了。
除非能夠把系統的wmplayer.exe改名、然后用自己的程式改成wmplayer.exe 替代它,
但因為瘟到死有“系統檔案保護”機制,這個方法恐怕也夠嗆。
在“你的想法有希望實作”的條件下,要真正實作,另外一個條件就是:
你必須能夠檢測到播放器的播放狀態(播放中,還是暫停、播放結束、空閑等等),
這樣你的程式才能夠按播放器狀態,來實作讓播放器放“下一個視頻”,還是忽略掉它。
那種都有辦法
看你想不想弄了
你可以用鉤子啊
鉤住這個程式的打開檔案的API
然后當打開的時候判斷一下播放完成沒有就可以了啊.
問題是,你能不能檢測“瘟到死”媒體播放器的播放狀態啊。
注意我說的是系統中的那個程式,不是自己程式中的控制元件。
不過現在高版本WMP.dll介面“很豐富”,只是不知道能否實作“與現有實體物件通訊”。
可以過濾系統訊息
還有,我記得可以替換那個媒體播放器檔案的,用MPC之類的替換了檔案也可以達到效果的.
uj5u.com熱心網友回復:
使用webbrowser來播放,很好控制的轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/68584.html
標籤:多媒體
上一篇:VB6.0 問題 關于listview顯示map里面layer的屬性問題
下一篇:同時呼叫vbs為什么沒反應
