本公開涉及信息技術(shù)領(lǐng)域,尤其涉及屏幕投影方法及裝置。
背景技術(shù):
mircast技術(shù)是wi-fi(wirelessfidelity,無線保真技術(shù))和多媒體技術(shù)結(jié)合的產(chǎn)物。wi-fip2p(peer-to-peer,點對點)協(xié)議可以允許源(source)端和接受(sink)端不在同一個wi-fi網(wǎng)絡(luò),甚至可以允許源端和接受端不用連接到ap(accesspoint,接入點)進(jìn)行互相發(fā)現(xiàn)連接以在連接的基礎(chǔ)上通過流媒體協(xié)議將源端的鏡像在接受端進(jìn)行顯示。
mircast是基于wi-fip2p協(xié)議的一個多媒體應(yīng)用,mircast可以用于將手機(jī)或者平板電腦上的視頻、圖片等投影到大屏幕上。mircast的基本原理是源端對數(shù)據(jù)進(jìn)行編碼、打包成流媒體并發(fā)送至接受端,接收端通過播放系統(tǒng)進(jìn)行實時解碼并播放。目前,mircast在主流的電視和盒子上都得到了支持,源端成為了android系統(tǒng)默認(rèn)的功能。
例如,在企業(yè)內(nèi)部開會的時候,演講人可以通過mircast無線連接到投影儀或者電視,如果有其他人想投影演示,則當(dāng)前演講人需要斷開連接而把連接給他人使用,也就是說,相關(guān)技術(shù)中的屏幕投影技術(shù)無法實現(xiàn)多人同時連接。
技術(shù)實現(xiàn)要素:
為克服相關(guān)技術(shù)中存在的問題,本公開提供一種屏幕投影方法及裝置。
根據(jù)本公開實施例的第一方面,提供一種屏幕投影方法,所述方法應(yīng)用于接受端中,所述方法包括:
將所述接受端設(shè)置為無線保真技術(shù)wi-fi點對點組的組所有者,并將源端設(shè)置為所述wi-fi點對點組的組客戶端;
通過會議管理模塊監(jiān)測每個所述源端與所述接受端的連接狀態(tài)以及每個所述源端的顯示狀態(tài);
根據(jù)每個所述源端與所述接受端的連接狀態(tài)以及每個所述源端的顯示狀態(tài),確定當(dāng)前需要隱藏的源端以及當(dāng)前需要演示的源端。
對于上述方法,在一種可能的實現(xiàn)方式中,根據(jù)每個所述源端與所述接受端的連接狀態(tài)以及每個所述源端的顯示狀態(tài),確定當(dāng)前需要隱藏的源端以及當(dāng)前需要演示的源端,包括:
將顯示狀態(tài)為顯示的源端確定為當(dāng)前需要演示的源端,并對于當(dāng)前需要演示的源端調(diào)用第一函數(shù);
將連接狀態(tài)為連接且顯示狀態(tài)為不顯示的源端確定為當(dāng)前需要隱藏的源端,并對于當(dāng)前需要隱藏的源端調(diào)用第二函數(shù)。
對于上述方法,在一種可能的實現(xiàn)方式中,在根據(jù)每個所述源端與所述接受端的連接狀態(tài)以及每個所述源端的顯示狀態(tài),確定當(dāng)前需要隱藏的源端以及當(dāng)前需要演示的源端之后,所述方法還包括:
獲取當(dāng)前需要隱藏的源端的互聯(lián)網(wǎng)協(xié)議ip地址以及當(dāng)前需要演示的源端的ip地址;和/或,
獲取當(dāng)前需要隱藏的源端的名稱以及當(dāng)前需要演示的源端的名稱。
對于上述方法,在一種可能的實現(xiàn)方式中,在根據(jù)每個所述源端與所述接受端的連接狀態(tài)以及每個所述源端的顯示狀態(tài),確定當(dāng)前需要隱藏的源端以及當(dāng)前需要演示的源端之后,所述方法還包括:
通過中間層控制實時流傳輸協(xié)議rtsp層的暫停播放;
通過所述中間層創(chuàng)建圖像顯示的緩沖區(qū)。
根據(jù)本公開實施例的第二方面,提供一種屏幕投影方法,所述方法應(yīng)用于接受端中,所述方法包括:
通過會議管理模塊監(jiān)測每個所述源端與所述接受端的連接狀態(tài)以及每個所述源端的顯示狀態(tài);
將顯示狀態(tài)為顯示且尚未進(jìn)行投影的源端確定為當(dāng)前需要演示的源端;
將顯示狀態(tài)為不顯示且當(dāng)前正在演示的源端確定為當(dāng)前需要隱藏的源端。
對于上述方法,在一種可能的實現(xiàn)方式中,所述方法還包括:
在源端的顯示狀態(tài)發(fā)生變化的情況下,將顯示狀態(tài)最新切換為顯示的源端確定為當(dāng)前需要演示的源端。
對于上述方法,在一種可能的實現(xiàn)方式中,在將顯示狀態(tài)為不顯示且當(dāng)前正在演示的源端確定為當(dāng)前需要隱藏的源端之后,所述方法還包括:
獲取當(dāng)前需要演示的源端的ip地址以及當(dāng)前需要隱藏的源端的ip地址;和/或,
獲取當(dāng)前需要演示的源端的名稱以及當(dāng)前需要隱藏的源端的名稱。
對于上述方法,在一種可能的實現(xiàn)方式中,在將顯示狀態(tài)為不顯示且當(dāng)前正在演示的源端確定為當(dāng)前需要隱藏的源端之后,所述方法還包括:
通過中間層控制實時流傳輸協(xié)議rtsp層的暫停播放;
通過所述中間層創(chuàng)建圖像顯示的緩沖區(qū)。
根據(jù)本公開實施例的第三方面,提供一種屏幕投影裝置,包括:
wi-fi點對點組設(shè)置模塊,用于將接受端設(shè)置為wi-fi點對點組的組所有者,并將源端設(shè)置為所述wi-fi點對點組的組客戶端;
會議管理模塊,用于監(jiān)測每個所述源端與所述接受端的連接狀態(tài)以及每個所述源端的顯示狀態(tài);
確定模塊,用于根據(jù)每個所述源端與所述接受端的連接狀態(tài)以及每個所述源端的顯示狀態(tài),確定前需要隱藏的源端以及當(dāng)前需要演示的源端。
對于上述裝置,在一種可能的實現(xiàn)方式中,所述確定模塊包括:
第一確定子模塊,用于將顯示狀態(tài)為顯示的源端確定為當(dāng)前需要演示的源端,并對于當(dāng)前需要演示的源端調(diào)用第一函數(shù);
第二確定子模塊,用于將連接狀態(tài)為連接且顯示狀態(tài)為不顯示的源端確定為當(dāng)前需要隱藏的源端,并對于當(dāng)前需要隱藏的源端調(diào)用第二函數(shù)。
對于上述裝置,在一種可能的實現(xiàn)方式中,所述裝置還包括:
ip地址獲取模塊,用于獲取當(dāng)前需要隱藏的源端的互聯(lián)網(wǎng)協(xié)議ip地址以及當(dāng)前需要演示的源端的ip地址;和/或,
名稱獲取模塊,用于獲取當(dāng)前需要隱藏的源端的名稱以及當(dāng)前需要演示的源端的名稱。
對于上述裝置,在一種可能的實現(xiàn)方式中,所述裝置還包括:
暫停播放控制模塊,用于通過中間層控制實時流傳輸協(xié)議rtsp層的暫停播放;
緩沖區(qū)創(chuàng)建模塊,用于通過所述中間層創(chuàng)建圖像顯示的緩沖區(qū)。
根據(jù)本公開實施例的第四方面,提供一種屏幕投影裝置,包括:
會議管理模塊,用于監(jiān)測每個所述源端與所述接受端的連接狀態(tài)以及每個所述源端的顯示狀態(tài);
第一確定模塊,用于將顯示狀態(tài)為顯示且尚未進(jìn)行投影的源端確定為當(dāng)前需要演示的源端;
第二確定模塊,用于將顯示狀態(tài)為不顯示且當(dāng)前正在演示的源端確定為當(dāng)前需要隱藏的源端。
對于上述裝置,在一種可能的實現(xiàn)方式中,所述裝置還包括:
切換模塊,用于在源端的顯示狀態(tài)發(fā)生變化的情況下,將顯示狀態(tài)最新切換為顯示的源端確定為當(dāng)前需要演示的源端。
對于上述裝置,在一種可能的實現(xiàn)方式中,所述裝置還包括:
ip地址獲取模塊,用于獲取當(dāng)前需要演示的源端的ip地址以及當(dāng)前需要隱藏的源端的ip地址;和/或,
名稱獲取模塊,用于獲取當(dāng)前需要演示的源端的名稱以及當(dāng)前需要隱藏的源端的名稱。
對于上述裝置,在一種可能的實現(xiàn)方式中,所述裝置還包括:
暫停播放控制模塊,用于通過中間層控制實時流傳輸協(xié)議rtsp層的暫停播放;
緩沖區(qū)創(chuàng)建模塊,用于通過所述中間層創(chuàng)建圖像顯示的緩沖區(qū)。
根據(jù)本公開實施例的第五方面,提供一種屏幕投影裝置,包括:
處理器;
用于存儲處理器可執(zhí)行指令的存儲器;
其中,所述處理器被配置為:
將所述接受端設(shè)置為無線保真技術(shù)wi-fi點對點組的組所有者,并將源端設(shè)置為所述wi-fi點對點組的組客戶端;
通過會議管理模塊監(jiān)測每個所述源端與所述接受端的連接狀態(tài)以及每個所述源端的顯示狀態(tài);
根據(jù)每個所述源端與所述接受端的連接狀態(tài)以及每個所述源端的顯示狀態(tài),確定當(dāng)前需要隱藏的源端以及當(dāng)前需要演示的源端。
根據(jù)本公開實施例的第六方面,提供一種屏幕投影裝置,包括:
處理器;
用于存儲處理器可執(zhí)行指令的存儲器;
其中,所述處理器被配置為:
通過會議管理模塊監(jiān)測每個所述源端與所述接受端的連接狀態(tài)以及每個所述源端的顯示狀態(tài);
將顯示狀態(tài)為顯示且尚未進(jìn)行投影的源端確定為當(dāng)前需要演示的源端;
將顯示狀態(tài)為不顯示且當(dāng)前正在演示的源端確定為當(dāng)前需要隱藏的源端。
本公開的實施例提供的技術(shù)方案可以包括以下有益效果:通過將接受端設(shè)置為wi-fi點對點組的組所有者,并將源端設(shè)置為wi-fi點對點組的組客戶端,通過會議管理模塊監(jiān)測每個源端與接受端的連接狀態(tài)以及每個源端的顯示狀態(tài),并根據(jù)每個源端與接受端的連接狀態(tài)以及每個源端的顯示狀態(tài),確定當(dāng)前需要隱藏的源端以及當(dāng)前需要演示的源端,根據(jù)本公開的實施例提供的屏幕投影方法及裝置能夠?qū)崿F(xiàn)多個源端同時與接受端進(jìn)行連接,由此在需要切換演講人的情況下,無需斷開上一個演講人對應(yīng)的源端與接受端的連接,從而能夠提高屏幕投影的靈活性與便捷性。
應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本公開。
附圖說明
此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本公開的實施例,并與說明書一起用于解釋本公開的原理。
圖1是根據(jù)一示例性實施例示出的一種屏幕投影方法的流程圖;
圖2是根據(jù)一示例性實施例的一個示例示出的一種屏幕投影方法步驟s13的流程圖;
圖3是根據(jù)一示例性實施例的一個示例示出的一種屏幕投影方法的流程圖;
圖4是根據(jù)另一示例性實施例示出的一種屏幕投影方法的實現(xiàn)流程圖;
圖5是根據(jù)一示例性實施例示出的一種屏幕投影裝置框圖;
圖6是根據(jù)一示例性實施例的一個示例示出的一種屏幕投影裝置框圖;
圖7是根據(jù)另一示例性實施例示出的一種屏幕投影裝置框圖;
圖8是根據(jù)一示例性實施例的一個示例示出的一種屏幕投影裝置框圖;
圖9是根據(jù)一示例性實施例示出的一種用于屏幕投影的裝置800的框圖。
具體實施方式
這里將詳細(xì)地對示例性實施例進(jìn)行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本公開相一致的所有實施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本公開的一些方面相一致的裝置和方法的例子。
圖1是根據(jù)一示例性實施例示出的一種屏幕投影方法的流程圖。該方法應(yīng)用于接受(sink)端中,例如,接受端可以為計算機(jī)、電視機(jī)或者電視盒子等終端,在此不作限定。該方法可以應(yīng)用于android操作系統(tǒng)中,在此不作限定。該方法可以應(yīng)用于mircast中,在此不作限定。該方法包括以下步驟。
在步驟s11中,將接受端設(shè)置為wi-fi點對點組的組所有者,并將源端設(shè)置為wi-fi點對點組的組客戶端。
wi-fi(wirelessfidelity,無線保真技術(shù))p2p(peer-to-peer,點對點)組中包括組所有者(groupowner)和組客戶端(groupclient)。在本實施例中,將接受端設(shè)置為wi-fi點對點組的組所有者,并將源(source)端設(shè)置為wi-fi點對點組的組客戶端。其中,源端可以為計算機(jī)、手機(jī)或者平板電腦等終端,在此不作限定。
作為本實施例的一個示例,在android中,可以通過修改wifidisplaycontroller.java文件中控制wfd.sink.go_intent的字段,設(shè)置其為15,以強(qiáng)制接受端作為組所有者。
在步驟s12中,通過會議管理模塊監(jiān)測每個源端與接受端的連接狀態(tài)以及每個源端的顯示狀態(tài)。
在本實施例中,可以首先啟動會議管理模塊,每次有新的組客戶端與組所有者連接后,可以自動加入會議管理模塊中。會議管理模塊還可以監(jiān)測每次投影的狀態(tài)變化。
在一種可能的實現(xiàn)方式中,在源端連接到接受端之后,無論源端是否進(jìn)行演示,都可以保持源端與接受端的連接,除非p2p連接出現(xiàn)問題。
由于默認(rèn)的android系統(tǒng)從wifidisplaycontroller每次只能啟動一個remotedisplay,為了支持多個源端同時與接受端進(jìn)行連接,在實施例中,可以定義全局的會話管理數(shù)組,從而能夠避免在下一個源端與接受端連接時,之前與接受端連接的源端被迫斷開連接。例如,可以在android平臺中增加一個全局的remotedisplay數(shù)組,該全局的remotedisplay數(shù)組可以用于支持多個remotedisplay和wifidisplaysink對象的創(chuàng)建管理。
在步驟s13中,根據(jù)每個源端與接受端的連接狀態(tài)以及每個源端的顯示狀態(tài),確定當(dāng)前需要隱藏的源端以及當(dāng)前需要演示的源端。
作為本實施例的一個示例,可以在mircast的rtsp(realtimestreamingprotocol,實時流傳輸協(xié)議)的交互部分增加對會議管理(meetingsmanagement,mm)模塊的支持。例如,可以在wifidisplaysink的ongetparameterrequest函數(shù)中增加會議管理模塊字段的支持,同時可以通過該字段告訴會議管理模塊通信所用的端口號。其中,rtsp是源端和接受端進(jìn)行多媒體播放控制的協(xié)議,通過此協(xié)議源端和接受端可以交互mircast協(xié)議的m1-m16信息。
在本實施例中,會議管理模塊可以用于監(jiān)測源端與接受端的連接狀態(tài)以及源端的顯示狀態(tài)。作為本實施例的一個示例,會議管理模塊可以通過websocket(網(wǎng)頁套接字)與每個源端對應(yīng)的循環(huán)(loop)線程進(jìn)行通信。循環(huán)線程調(diào)用websocket,將源端與接受端的連接狀態(tài)以及源端的顯示狀態(tài)發(fā)送給會議管理模塊。由于采用websocket通信,因此可以借助jansson庫來實現(xiàn),例如,可以通過線程監(jiān)測各個源端與接受端的連接狀態(tài)以及每個源端的顯示狀態(tài)。
根據(jù)本實施例提供的屏幕投影方法能夠在android等操作系統(tǒng)上實現(xiàn)多個源端同時與接受端進(jìn)行連接,由此在需要切換演講人的情況下,無需斷開上一個演講人對應(yīng)的源端與接受端的連接,從而能夠提高屏幕投影的靈活性與便捷性。
圖2是根據(jù)一示例性實施例的一個示例示出的一種屏幕投影方法步驟s13的流程圖。如圖2所示,根據(jù)每個源端與接受端的連接狀態(tài)以及每個源端的顯示狀態(tài),確定當(dāng)前需要隱藏的源端以及當(dāng)前需要演示的源端,包括:
在步驟s21中,將顯示狀態(tài)為顯示的源端確定為當(dāng)前需要演示的源端,并對于當(dāng)前需要演示的源端調(diào)用第一函數(shù)。
在確定當(dāng)前需要演示的源端后,可以實時接收當(dāng)前需要演示的源端的數(shù)據(jù)(例如視頻、圖片對應(yīng)的編碼數(shù)據(jù)),并對來自于當(dāng)前需要演示的源端的數(shù)據(jù)進(jìn)行實時解碼并播放。
例如,第一函數(shù)可以為setshowsurface函數(shù)。
在步驟s22中,將連接狀態(tài)為連接且顯示狀態(tài)為不顯示的源端確定為當(dāng)前需要隱藏的源端,并對于當(dāng)前需要隱藏的源端調(diào)用第二函數(shù)。
例如,第二函數(shù)可以為sethidesurface函數(shù)。
在一種可能的實現(xiàn)方式中,在根據(jù)每個源端與接受端的連接狀態(tài)以及每個源端的顯示狀態(tài)確定當(dāng)前需要隱藏的源端以及當(dāng)前需要演示的源端之后,該方法還包括:獲取當(dāng)前需要隱藏的源端的ip(internetprotocol,互聯(lián)網(wǎng)協(xié)議)地址以及當(dāng)前需要演示的源端的ip地址。其中,當(dāng)前需要隱藏的源端的ip地址以及當(dāng)前需要演示的源端的ip地址可以通過會議管理模塊獲取。例如,可以通過websocket的傳輸內(nèi)容確定當(dāng)前需要隱藏的源端的ip地址以及當(dāng)前需要演示的源端的ip地址。通過獲取當(dāng)前需要隱藏的源端的ip地址以及當(dāng)前需要演示的源端的ip地址,能夠在檢測到當(dāng)前正在演示的源端的ip地址與websocket傳輸?shù)漠?dāng)前需要演示的源端的ip地址不同時,確定要切換當(dāng)前需要演示的源端。
作為本實施例的一個示例,會議管理模塊若檢測到當(dāng)前正在演示的源端的ip地址與websocket傳輸?shù)漠?dāng)前需要演示的源端的ip地址不同,則表明要切換當(dāng)前需要演示的源端。在這種情況下,可以通知播放系統(tǒng)暫停當(dāng)前播放,并可以啟動新的wifidisplaysink,以播放websocket傳輸?shù)漠?dāng)前需要演示的源端對應(yīng)的畫面。
在一種可能的實現(xiàn)方式中,在每次檢測到新的ip地址與接受端連接的情況下,可以創(chuàng)建該新的ip地址對應(yīng)的wifidisplaysink對象。
在一種可能的實現(xiàn)方式中,在根據(jù)每個源端與接受端的連接狀態(tài)以及每個源端的顯示狀態(tài)確定當(dāng)前需要隱藏的源端以及當(dāng)前需要演示的源端之后,該方法還可以包括:獲取當(dāng)前需要隱藏的源端的名稱以及當(dāng)前需要演示的源端的名稱。其中,當(dāng)前需要隱藏的源端的名稱以及當(dāng)前需要演示的源端的名稱可以通過會議管理模塊獲取。例如,可以通過websocket的傳輸內(nèi)容確定當(dāng)前需要隱藏的源端的名稱以及當(dāng)前需要演示的源端的名稱。通過獲取當(dāng)前需要演示的源端的名稱以及當(dāng)前需要隱藏的源端的名稱,能夠使接受端對應(yīng)的用戶(例如主持人)容易確定各個源端相應(yīng)的用戶,由此便于接受端對應(yīng)的用戶確定當(dāng)前需要演示的源端對應(yīng)的用戶以及當(dāng)前需要隱藏的源端對應(yīng)的用戶,從而能夠提高用戶體驗。
圖3是根據(jù)一示例性實施例的一個示例示出的一種屏幕投影方法的流程圖。如圖3所示,該方法包括:
在步驟s31中,將接受端設(shè)置為wi-fi點對點組的組所有者,并將源端設(shè)置為wi-fi點對點組的組客戶端。
在步驟s32中,啟動會議管理模塊。
在步驟s33中,通過會議管理模塊監(jiān)測每個源端與接受端的連接狀態(tài)以及每個源端的顯示狀態(tài)。
在步驟s34中,根據(jù)每個源端與接受端的連接狀態(tài)以及每個源端的顯示狀態(tài),確定當(dāng)前需要隱藏的源端以及當(dāng)前需要演示的源端。
在步驟s35中,獲取當(dāng)前需要隱藏的源端的互聯(lián)網(wǎng)協(xié)議ip地址以及當(dāng)前需要演示的源端的ip地址。
在步驟s36中,獲取當(dāng)前需要隱藏的源端的名稱以及當(dāng)前需要演示的源端的名稱。
例如,可以獲取接受端(owner)的ip地址、當(dāng)前需要演示的源端(presenter)的ip地址、當(dāng)前需要隱藏的源端(connected_sources)的ip地址及名稱,其中,接受端可以作為主持人的角色。例如:
在一種可能的實現(xiàn)方式中,在根據(jù)每個源端與接受端的連接狀態(tài)以及每個源端的顯示狀態(tài)確定當(dāng)前需要隱藏的源端以及當(dāng)前需要演示的源端之后,該方法還可以包括:通過中間層控制rtsp層的暫停播放;通過中間層創(chuàng)建圖像顯示的緩沖區(qū)。在該實現(xiàn)方式中,通過中間層(例如wifidisplaysink層)創(chuàng)建緩沖區(qū)(buffer),而不是通過應(yīng)用層創(chuàng)建緩沖區(qū),從而能夠根據(jù)當(dāng)前需要演示的源端的不同來切換畫面。
在一種可能的實現(xiàn)方式中,還可以設(shè)置一個函數(shù)用于控制當(dāng)前需要演示的源端對應(yīng)的畫面在接受端的顯示位置,從而能夠提高屏幕投影的靈活性。
圖4是根據(jù)另一示例性實施例示出的一種屏幕投影方法的實現(xiàn)流程圖。該方法應(yīng)用于接受端中,例如,接受端可以為計算機(jī)、電視機(jī)或者電視盒子等終端,在此不作限定。該方法可以應(yīng)用于android操作系統(tǒng)中,在此不作限定。該方法可以應(yīng)用于mircast中,在此不作限定。該方法包括以下步驟。
在步驟s41中,通過會議管理模塊監(jiān)測每個源端與接受端的連接狀態(tài)以及每個源端的顯示狀態(tài)。
源端與接受端的連接狀態(tài)可以包括連接狀態(tài)和非連接狀態(tài),源端的顯示狀態(tài)可以包括顯示狀態(tài)和非顯示狀態(tài)。
作為本實施例的一個示例,會議管理模塊可以通過websocket與每個源端對應(yīng)的循環(huán)線程進(jìn)行通信。循環(huán)線程調(diào)用websocket,將源端與接受端的連接狀態(tài)以及源端的顯示狀態(tài)發(fā)送給會議管理模塊。由于采用websocket通信,因此可以借助jansson庫來實現(xiàn),例如,可以通過線程監(jiān)測各個源端與接受端的連接狀態(tài)以及每個源端的顯示狀態(tài)。
在步驟s42中,將顯示狀態(tài)為顯示且尚未進(jìn)行投影的源端確定為當(dāng)前需要演示的源端。
在確定當(dāng)前需要演示的源端后,可以實時接收當(dāng)前需要演示的源端的數(shù)據(jù)(例如視頻、圖片對應(yīng)的編碼數(shù)據(jù)),并對來自于當(dāng)前需要演示的源端的數(shù)據(jù)進(jìn)行實時解碼并播放。
作為本實施例的一個示例,對于當(dāng)前需要演示的源端可以調(diào)用第一函數(shù)。例如,第一函數(shù)可以為setshowsurface函數(shù)。
在步驟s43中,將顯示狀態(tài)為不顯示且當(dāng)前正在演示的源端確定為當(dāng)前需要隱藏的源端。
作為本實施例的一個示例,對于當(dāng)前需要隱藏的源端可以調(diào)用第二函數(shù)。例如,第二函數(shù)可以為sethidesurface函數(shù)。
本實施例提供的屏幕投影方法能夠?qū)崿F(xiàn)多個源端同時與接受端進(jìn)行連接,由此在需要切換演講人的情況下,無需斷開上一個演講人對應(yīng)的源端與接受端的連接,從而能夠提高屏幕投影的靈活性與便捷性。
在一種可能的實現(xiàn)方式中,該方法還包括:在源端的顯示狀態(tài)發(fā)生變化的情況下,將顯示狀態(tài)最新切換為顯示的源端確定為當(dāng)前需要演示的源端。例如,在會議管理模塊監(jiān)測到源端的顯示狀態(tài)發(fā)生變化的情況下,將顯示狀態(tài)最新切換為顯示的源端確定為當(dāng)前需要演示的源端。
在一種可能的實現(xiàn)方式中,在將顯示狀態(tài)為不顯示且當(dāng)前正在演示的源端確定為當(dāng)前需要隱藏的源端之后,該方法還包括:獲取當(dāng)前需要演示的源端的ip地址以及當(dāng)前需要隱藏的源端的ip地址。通過獲取當(dāng)前需要隱藏的源端的ip地址以及當(dāng)前需要演示的源端的ip地址,能夠在檢測到當(dāng)前正在演示的源端的ip地址與websocket傳輸?shù)漠?dāng)前需要演示的源端的ip地址不同時,確定要切換當(dāng)前需要演示的源端。
在一種可能的實現(xiàn)方式中,在將顯示狀態(tài)為不顯示且當(dāng)前正在演示的源端確定為當(dāng)前需要隱藏的源端之后,該方法還包括:獲取當(dāng)前需要演示的源端的名稱以及當(dāng)前需要隱藏的源端的名稱。通過獲取當(dāng)前需要演示的源端的名稱以及當(dāng)前需要隱藏的源端的名稱,能夠使接受端對應(yīng)的用戶(例如主持人)容易確定各個源端相應(yīng)的用戶,由此便于接受端對應(yīng)的用戶確定當(dāng)前需要演示的源端對應(yīng)的用戶以及當(dāng)前需要隱藏的源端對應(yīng)的用戶,從而能夠提高用戶體驗。
在一種可能的實現(xiàn)方式中,在將顯示狀態(tài)為不顯示且當(dāng)前正在演示的源端確定為當(dāng)前需要隱藏的源端之后,該方法還包括:通過中間層控制實時流傳輸協(xié)議rtsp層的暫停播放;通過中間層創(chuàng)建圖像顯示的緩沖區(qū)。在該實現(xiàn)方式中,通過中間層(例如wifidisplaysink層)創(chuàng)建緩沖區(qū),而不是通過應(yīng)用層創(chuàng)建緩沖區(qū),從而能夠根據(jù)當(dāng)前需要演示的源端的不同來切換畫面。
圖5是根據(jù)一示例性實施例示出的一種屏幕投影裝置框圖。參照圖5,該裝置包括wi-fi點對點組設(shè)置模塊51、會議管理模塊52和確定模塊53。該wi-fi點對點組設(shè)置模塊51被配置為將接受端設(shè)置為wi-fi點對點組的組所有者,并將源端設(shè)置為所述wi-fi點對點組的組客戶端。該會議管理模塊52被配置為監(jiān)測每個所述源端與所述接受端的連接狀態(tài)以及每個所述源端的顯示狀態(tài)。該確定模塊53被配置為根據(jù)每個所述源端與所述接受端的連接狀態(tài)以及每個所述源端的顯示狀態(tài),確定前需要隱藏的源端以及當(dāng)前需要演示的源端。
圖6是根據(jù)一示例性實施例的一個示例示出的一種屏幕投影裝置框圖。如圖6所示:
在一種可能的實現(xiàn)方式中,所述確定模塊53包括第一確定子模塊531和第二確定子模塊532。該第一確定子模塊531被配置為將顯示狀態(tài)為顯示的源端確定為當(dāng)前需要演示的源端,并對于當(dāng)前需要演示的源端調(diào)用第一函數(shù)。該第二確定子模塊532被配置為將連接狀態(tài)為連接且顯示狀態(tài)為不顯示的源端確定為當(dāng)前需要隱藏的源端,并對于當(dāng)前需要隱藏的源端調(diào)用第二函數(shù)。
在一種可能的實現(xiàn)方式中,所述裝置還包括ip地址獲取模塊54和/或名稱獲取模塊55。該ip地址獲取模塊54被配置為獲取當(dāng)前需要隱藏的源端的互聯(lián)網(wǎng)協(xié)議ip地址以及當(dāng)前需要演示的源端的ip地址。該名稱獲取模塊55被配置為獲取當(dāng)前需要隱藏的源端的名稱以及當(dāng)前需要演示的源端的名稱。
在一種可能的實現(xiàn)方式中,所述裝置還包括暫停播放控制模塊56和緩沖區(qū)創(chuàng)建模塊57。該暫停播放控制模塊56被配置為通過中間層控制實時流傳輸協(xié)議rtsp層的暫停播放。該緩沖區(qū)創(chuàng)建模塊57被配置為通過所述中間層創(chuàng)建圖像顯示的緩沖區(qū)。
關(guān)于上述實施例中的裝置,其中各個模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實施例中進(jìn)行了詳細(xì)描述,此處將不做詳細(xì)闡述說明。
根據(jù)本實施例提供的屏幕投影裝置能夠?qū)崿F(xiàn)多個源端同時與接受端進(jìn)行連接,由此在需要切換演講人的情況下,無需斷開上一個演講人對應(yīng)的源端與接受端的連接,從而能夠提高屏幕投影的靈活性與便捷性。
圖7是根據(jù)另一示例性實施例示出的一種屏幕投影裝置框圖。參照圖7,該裝置包括會議管理模塊71、第一確定模塊72和第二確定模塊73。該會議管理模塊71被配置為監(jiān)測每個所述源端與所述接受端的連接狀態(tài)以及每個所述源端的顯示狀態(tài)。該第一確定模塊72被配置為將顯示狀態(tài)為顯示且尚未進(jìn)行投影的源端確定為當(dāng)前需要演示的源端。第二確定模塊73被配置為將顯示狀態(tài)為不顯示且當(dāng)前正在演示的源端確定為當(dāng)前需要隱藏的源端。
圖8是根據(jù)一示例性實施例的一個示例示出的一種屏幕投影裝置框圖。如圖8所示:
在一種可能的實現(xiàn)方式中,所述裝置還包括切換模塊74。該切換模塊被配置為在源端的顯示狀態(tài)發(fā)生變化的情況下,將顯示狀態(tài)最新切換為顯示的源端確定為當(dāng)前需要演示的源端。
在一種可能的實現(xiàn)方式中,所述裝置還包括:所述裝置還包括ip地址獲取模塊75和/或名稱獲取模塊76。該ip地址獲取模塊75被配置為獲取當(dāng)前需要演示的源端的ip地址以及當(dāng)前需要隱藏的源端的ip地址。該名稱獲取模塊76被配置為獲取當(dāng)前需要演示的源端的名稱以及當(dāng)前需要隱藏的源端的名稱。
在一種可能的實現(xiàn)方式中,所述裝置還包括暫停播放控制模塊77和緩沖區(qū)創(chuàng)建模塊78。該暫停播放控制模塊77被配置為通過中間層控制實時流傳輸協(xié)議rtsp層的暫停播放。該緩沖區(qū)創(chuàng)建模塊78被配置為通過所述中間層創(chuàng)建圖像顯示的緩沖區(qū)。
根據(jù)本實施例提供的屏幕投影裝置能夠?qū)崿F(xiàn)多個源端同時與接受端進(jìn)行連接,由此在需要切換演講人的情況下,無需斷開上一個演講人對應(yīng)的源端與接受端的連接,從而能夠提高屏幕投影的靈活性與便捷性。
圖9是根據(jù)一示例性實施例示出的一種用于屏幕投影的裝置800的框圖。例如,裝置800可以是計算機(jī),電視機(jī),電視盒子,移動電話,數(shù)字廣播終端,消息收發(fā)設(shè)備,游戲控制臺,平板設(shè)備,醫(yī)療設(shè)備,健身設(shè)備,個人數(shù)字助理等。
參照圖9,裝置800可以包括以下一個或多個組件:處理組件802,存儲器804,電源組件806,多媒體組件808,音頻組件810,輸入/輸出(i/o)的接口812,傳感器組件814,以及通信組件816。
處理組件802通??刂蒲b置800的整體操作,諸如與顯示,電話呼叫,數(shù)據(jù)通信,相機(jī)操作和記錄操作相關(guān)聯(lián)的操作。處理組件802可以包括一個或多個處理器820來執(zhí)行指令,以完成上述的方法的全部或部分步驟。此外,處理組件802可以包括一個或多個模塊,便于處理組件802和其他組件之間的交互。例如,處理組件802可以包括多媒體模塊,以方便多媒體組件808和處理組件802之間的交互。
存儲器804被配置為存儲各種類型的數(shù)據(jù)以支持在裝置800的操作。這些數(shù)據(jù)的示例包括用于在裝置800上操作的任何應(yīng)用程序或方法的指令,聯(lián)系人數(shù)據(jù),電話簿數(shù)據(jù),消息,圖片,視頻等。存儲器804可以由任何類型的易失性或非易失性存儲設(shè)備或者它們的組合實現(xiàn),如靜態(tài)隨機(jī)存取存儲器(sram),電可擦除可編程只讀存儲器(eeprom),可擦除可編程只讀存儲器(eprom),可編程只讀存儲器(prom),只讀存儲器(rom),磁存儲器,快閃存儲器,磁盤或光盤。
電源組件806為裝置800的各種組件提供電力。電源組件806可以包括電源管理系統(tǒng),一個或多個電源,及其他與為裝置800生成、管理和分配電力相關(guān)聯(lián)的組件。
多媒體組件808包括在所述裝置800和用戶之間的提供一個輸出接口的屏幕。在一些實施例中,屏幕可以包括液晶顯示器(lcd)和觸摸面板(tp)。如果屏幕包括觸摸面板,屏幕可以被實現(xiàn)為觸摸屏,以接收來自用戶的輸入信號。觸摸面板包括一個或多個觸摸傳感器以感測觸摸、滑動和觸摸面板上的手勢。所述觸摸傳感器可以不僅感測觸摸或滑動動作的邊界,而且還檢測與所述觸摸或滑動操作相關(guān)的持續(xù)時間和壓力。在一些實施例中,多媒體組件808包括一個前置攝像頭和/或后置攝像頭。當(dāng)裝置800處于操作模式,如拍攝模式或視頻模式時,前置攝像頭和/或后置攝像頭可以接收外部的多媒體數(shù)據(jù)。每個前置攝像頭和后置攝像頭可以是一個固定的光學(xué)透鏡系統(tǒng)或具有焦距和光學(xué)變焦能力。
音頻組件810被配置為輸出和/或輸入音頻信號。例如,音頻組件810包括一個麥克風(fēng)(mic),當(dāng)裝置800處于操作模式,如呼叫模式、記錄模式和語音識別模式時,麥克風(fēng)被配置為接收外部音頻信號。所接收的音頻信號可以被進(jìn)一步存儲在存儲器804或經(jīng)由通信組件816發(fā)送。在一些實施例中,音頻組件810還包括一個揚聲器,用于輸出音頻信號。
i/o接口812為處理組件802和外圍接口模塊之間提供接口,上述外圍接口模塊可以是鍵盤,點擊輪,按鈕等。這些按鈕可包括但不限于:主頁按鈕、音量按鈕、啟動按鈕和鎖定按鈕。
傳感器組件814包括一個或多個傳感器,用于為裝置800提供各個方面的狀態(tài)評估。例如,傳感器組件814可以檢測到裝置800的打開/關(guān)閉狀態(tài),組件的相對定位,例如所述組件為裝置800的顯示器和小鍵盤,傳感器組件814還可以檢測裝置800或裝置800一個組件的位置改變,用戶與裝置800接觸的存在或不存在,裝置800方位或加速/減速和裝置800的溫度變化。傳感器組件814可以包括接近傳感器,被配置用來在沒有任何的物理接觸時檢測附近物體的存在。傳感器組件814還可以包括光傳感器,如cmos或ccd圖像傳感器,用于在成像應(yīng)用中使用。在一些實施例中,該傳感器組件814還可以包括加速度傳感器,陀螺儀傳感器,磁傳感器,壓力傳感器或溫度傳感器。
通信組件816被配置為便于裝置800和其他設(shè)備之間有線或無線方式的通信。裝置800可以接入基于通信標(biāo)準(zhǔn)的無線網(wǎng)絡(luò),如wifi,2g或3g,或它們的組合。在一個示例性實施例中,通信組件816經(jīng)由廣播信道接收來自外部廣播管理系統(tǒng)的廣播信號或廣播相關(guān)信息。在一個示例性實施例中,所述通信組件816還包括近場通信(nfc)模塊,以促進(jìn)短程通信。例如,在nfc模塊可基于射頻識別(rfid)技術(shù),紅外數(shù)據(jù)協(xié)會(irda)技術(shù),超寬帶(uwb)技術(shù),藍(lán)牙(bt)技術(shù)和其他技術(shù)來實現(xiàn)。
在示例性實施例中,裝置800可以被一個或多個應(yīng)用專用集成電路(asic)、數(shù)字信號處理器(dsp)、數(shù)字信號處理設(shè)備(dspd)、可編程邏輯器件(pld)、現(xiàn)場可編程門陣列(fpga)、控制器、微控制器、微處理器或其他電子元件實現(xiàn),用于執(zhí)行上述方法。
在示例性實施例中,還提供了一種包括指令的非臨時性計算機(jī)可讀存儲介質(zhì),例如包括指令的存儲器804,上述指令可由裝置800的處理器820執(zhí)行以完成上述方法。例如,所述非臨時性計算機(jī)可讀存儲介質(zhì)可以是rom、隨機(jī)存取存儲器(ram)、cd-rom、磁帶、軟盤和光數(shù)據(jù)存儲設(shè)備等。
本領(lǐng)域技術(shù)人員在考慮說明書及實踐這里公開的發(fā)明后,將容易想到本公開的其它實施方案。本申請旨在涵蓋本公開的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本公開的一般性原理并包括本公開未公開的本技術(shù)領(lǐng)域中的公知常識或慣用技術(shù)手段。說明書和實施例僅被視為示例性的,本公開的真正范圍和精神由下面的權(quán)利要求指出。
應(yīng)當(dāng)理解的是,本公開并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本公開的范圍僅由所附的權(quán)利要求來限制。