本發(fā)明涉及播放器,尤其涉及一種基于vlc或mpv播放器的動態(tài)背景設(shè)置方法。
背景技術(shù):
1、目前窗口背景通常使用靜態(tài)圖片或顏色填充,或雖然已有將視頻作為桌面背景的實(shí)現(xiàn)方式,但這種方式通常涉及系統(tǒng)級別的操作,對于普通應(yīng)用程序窗口并不適用,而且對系統(tǒng)資源消耗較大。。
2、因此,現(xiàn)有技術(shù)存在缺陷,需要改進(jìn)。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明要解決的技術(shù)問題是:提供一種基于vlc或mpv播放器的動態(tài)背景設(shè)置方法,解決現(xiàn)有技術(shù)中窗口背景缺乏動態(tài)性及性能差的問題,不區(qū)分窗口類型,可以充分利用gpu性能。
2、本發(fā)明的技術(shù)方案如下:提供一種基于vlc或mpv播放器的動態(tài)背景設(shè)置方法,包括以下步驟。
3、s1:初始化窗口:創(chuàng)建或查找一個應(yīng)用程序窗口w,并設(shè)置應(yīng)用程序窗口w的基本屬性,所述基本屬性包括:大小、位置,將應(yīng)用程序窗口w標(biāo)記為wid。
4、s2:集成視頻播放器:初始化mpv或vlc播放器實(shí)例,此時設(shè)置視頻輸出渲染視口為第一步創(chuàng)建或查詢到的窗口句柄wid。
5、s3:加載視頻:使用mpv或vlc播放器加載并解碼視頻文件或視頻流。
6、s4:播放視頻:在應(yīng)用程序窗口w中播放視頻,此時播放的畫面已經(jīng)作為應(yīng)用程序窗口w的背景。
7、s5:處理播放事件:監(jiān)聽mpv或vlc播放器的播放事件,以便在需要時進(jìn)行相應(yīng)的窗口操作。
8、s6:同步匹配:mpv或vlc播放器播放的視頻與應(yīng)用程序窗口w的基本屬性同步更新,確保應(yīng)用程序窗口w與渲染區(qū)域相匹配,實(shí)現(xiàn)無縫集成。
9、在步驟s1中,如果是查找的窗口,在windows下查找桌面句柄,依次查找桌面句柄findwindowex(progman->shelldll_defview->workerw),可找到桌面背景窗口有效wid;如果是創(chuàng)建的窗口,生成獨(dú)立背景窗口wbackground作為背景,遮罩窗口需要透明的布局到另外一個平行窗口wforeground里面,然后處理程序的鼠標(biāo)移動、窗體大小屬性變化事件,確保操作窗口wforeground始終保持與wbackground的一致的幾何位置及形狀。
10、在步驟s2中,使用libvlc_media_player_set_hwnd或mpv_set_option(mpv,"wid",mpv_format_int64,&wid)來設(shè)置,此時mpv或vlc播放器會根據(jù)機(jī)器性能、硬件能力、渲染視頻能力自動匹配合適硬件加速方案。
11、所述播放事件包括:播放開始、暫停、停止。
12、在步驟s6中,還包括:添加交互功能:響應(yīng)用戶的鼠標(biāo)點(diǎn)擊事件、鼠標(biāo)拖動事件、鍵盤輸入事件。
13、采用上述方案,本發(fā)明提供一種基于vlc或mpv播放器的動態(tài)背景設(shè)置方法,利用成熟的mpv或vlc播放器作為視頻播放引擎,保證了視頻播放的穩(wěn)定性和兼容性。同時,通過將播放器與窗口對象集成,實(shí)現(xiàn)了在普通應(yīng)用程序窗口中展示動態(tài)背景的功能,無需修改系統(tǒng)級別的設(shè)置,減少甚至不需要cpu參與,保證了對用戶系統(tǒng)的影響降到最低。
14、本發(fā)明還具有以下效果:
15、(1)動態(tài)背景能夠吸引用戶的注意力,提升應(yīng)用程序的吸引力和趣味性。
16、(2)可根據(jù)應(yīng)用程序的需求和主題,選擇合適的視頻作為背景,增強(qiáng)應(yīng)用程序的個性化。
17、(3)背景視頻可與應(yīng)用程序的其他元素進(jìn)行交互,實(shí)現(xiàn)更豐富的視覺效果和用戶體驗(yàn)。
18、(4)充分利用顯卡性能。
1.一種基于vlc或mpv播放器的動態(tài)背景設(shè)置方法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的一種基于vlc或mpv播放器的動態(tài)背景設(shè)置方法,其特征在于,在步驟s1中,
3.根據(jù)權(quán)利要求1所述的一種基于vlc或mpv播放器的動態(tài)背景設(shè)置方法,其特征在于,在步驟s2中,使用libvlc_media_player_set_hwnd或mpv_set_option(mpv,"wid",mpv_format_int64,&wid)來設(shè)置,此時mpv或vlc播放器會根據(jù)機(jī)器性能、硬件能力、渲染視頻能力自動匹配合適硬件加速方案。
4.根據(jù)權(quán)利要求1所述的一種基于vlc或mpv播放器的動態(tài)背景設(shè)置方法,其特征在于,所述播放事件包括:播放開始、暫停、停止。
5.根據(jù)權(quán)利要求1所述的一種基于vlc或mpv播放器的動態(tài)背景設(shè)置方法,其特征在于,在步驟s6中,還包括:添加交互功能:響應(yīng)用戶的鼠標(biāo)點(diǎn)擊事件、鼠標(biāo)拖動事件、鍵盤輸入事件。