本文作者:kaifamei

基于Wi-FiP2P的投屏方法和裝置與流程

更新時間:2025-12-25 17:30:30 0條評論

基于Wi-FiP2P的投屏方法和裝置與流程


基于wi-fi 的投屏方法和裝置
技術領域
1.本技術涉及投屏技術,尤其涉及一種基于wi-fi 的投屏方法和裝置。


背景技術:



2.投屏是一種多屏互動技術,投屏源設備和投屏目標設備通過網絡連接,投屏源設備作為投屏內容的源端(source端),可以將其上的內容投送到投屏目標設備,投屏目標設備作為投屏內容的目的端(sink端),由投屏目標設備在其屏幕上播放該內容,實現投屏源設備操控投屏目標設備玩游戲、看視頻、聽音樂、瀏覽照片等,投屏技術適用于玩大屏游戲、開會辦公、視頻推送、影音共享、親子互動等場景。
3.基于wi-fi 的投屏技術,環境中的wi-fi信號環境復雜,傳輸常常會受到環境干擾,對于投屏這種對于時延要求較高的應用場景會產生不少影響。


技術實現要素:



4.本技術提供一種基于wi-fi 的投屏方法和裝置,以減少投屏時延,確保video數據的傳輸性能,提高投屏畫質。
5.第一方面,本技術提供一種基于wi-fi 的投屏方法,包括:
6.投屏源設備基于wi-fi 創建與投屏目標設備之間的投屏連接,所述投屏連接包括視頻連接和音頻連接,所述視頻連接用于發送視頻數據包,所述音頻連接用于發送音頻數據包;當通過所述音頻連接發送所述音頻數據包時,所述投屏源設備判斷靜音狀態;若所述投屏源設備打開靜音,則所述投屏源設備不發送所述音頻數據包。
7.在投屏過程中,基于用戶對投屏源設備的靜音開關的設置確定是否在投屏的過程中發送audio數據,從而避免沒必要的audio數據包的發送,減少投屏時延,確保video數據的傳輸性能,提高投屏畫質。
8.在一種可能的實現方式中,所述投屏源設備基于wi-fi 創建與投屏目標設備之間的投屏連接之后,還包括:所述投屏源設備接收來自所述投屏目標設備的聲音狀態通知,所述聲音狀態通知用于指示所述投屏目標設備的音量大于設定閾值或者小于設定閾值,或者指示所述投屏目標設備為靜音或者非靜音;當通過所述音頻連接發送所述音頻數據包時,所述投屏源設備根據所述聲音狀態通知判斷所述投屏目標設備的聲音狀態;若所述投屏目標設備的音量小于設定閾值或者為靜音時,則所述投屏源設備不發送所述音頻數據包。
9.基于投屏目標設備的音量變化或靜音與否確定是否在投屏的過程中發送audio數據,從而避免沒必要的audio數據包的發送,減少投屏時延,確保video數據的傳輸性能,提高投屏畫質。
10.在一種可能的實現方式中,所述投屏源設備基于wi-fi 創建與投屏目標設備之間的投屏連接之后,還包括:當通過所述音頻連接發送所述音頻數據包時,所述投屏源設備采集設定時長內的所述音頻數據包;若所述設定時長內的所述音頻數據包中的數據為無
效值或者所述設定時長內的所述音頻數據包對應的音量小于設定閾值,則所述投屏源設備不發送所述音頻數據包。
11.在一種可能的實現方式中,所述投屏源設備基于wi-fi 創建與投屏目標設備之間的投屏連接之后,還包括:當通過所述音頻連接發送所述音頻數據包時,所述投屏源設備采集設定時長內的投屏用的數據包;若所述設定時長內的投屏用的數據包中的音頻數據為無效數據或者所述設定時長內的投屏用的數據包中的音頻數據對應的音量小于設定閾值,則所述投屏源設備不發送所述音頻數據包。
12.基于設定時長內的投屏內容是否包括audio確定是否在投屏的過程中發送audio數據,從而避免空audio數據包的發送,減少投屏時延,確保video數據的傳輸性能,提高投屏畫質。
13.在一種可能的實現方式中,所述投屏源設備基于wi-fi 創建與投屏目標設備之間的投屏連接之前,還包括:所述投屏源設備向所述投屏目標設備發送能力請求;所述投屏源設備接收所述投屏目標設備回復的能力信息;當所述能力信息不包括對應所述投屏目標設備的音頻能力的字段或者所述對應所述投屏目標設備的音頻能力的字段的值為none時,所述投屏源設備不創建所述音頻連接;所述投屏源設備創建與所述投屏目標設備之間的通信連接;所述投屏源設備通過所述通信連接向所述投屏目標設備發送音頻數據包,所述音頻數據包括所述投屏源設備上的通話和語音聊天的聲音數據。
14.在投屏前,基于投屏目標設備的能力(對應投屏目標設備的音頻能力的字段或者對應投屏目標設備的音頻能力的字段的值為none)確定不創建投屏雙方之間的音頻連接,而是重新創建二者之間的通信連接用于發送音頻數據包,這樣既可以利用原有標準投屏流程就可以不創建音頻連接,代碼修改量小,又可以用新的通信連接發送所有產生于投屏源設備上的聲音的音頻數據包,兼容性好。
15.在一種可能的實現方式中,還包括:當所述能力信息包括對應所述投屏目標設備的音頻能力的字段且值不為none時,所述投屏源設備創建所述音頻連接。
16.第二方面,本技術提供一種基于wi-fi 的投屏方法,包括:
17.投屏源設備基于wi-fi 創建與投屏目標設備之間的投屏連接之前,向所述投屏目標設備發送能力請求;所述投屏源設備接收所述投屏目標設備回復的能力信息;當所述能力信息不包括對應所述投屏目標設備的音頻能力的字段或者所述對應所述投屏目標設備的音頻能力的字段的值為none時,所述投屏源設備不創建用于發送音頻數據包的音頻連接。
18.在投屏前,基于投屏目標設備的能力(對應投屏目標設備的音頻能力的字段或者對應投屏目標設備的音頻能力的字段的值為none)確定不創建投屏雙方之間的音頻連接,從而避免空audio數據包的發送,減少投屏時延,確保video數據的傳輸性能,提高投屏畫質。
19.第三方面,本技術提供一種基于wi-fi 的投屏方法,包括:
20.投屏目標設備基于wi-fi 創建與投屏源設備之間的投屏連接,所述投屏連接包括視頻連接和音頻連接,所述視頻連接用于接收視頻數據包,所述音頻連接用于接收音頻數據包;所述投屏目標設備通過所述視頻連接接收所述視頻數據包;所述投屏目標設備根據所述視頻數據包在屏幕上播放相應的投屏畫面。
21.在一種可能的實現方式中,還包括:所述投屏目標設備向所述投屏源設備發送聲音狀態通知,所述聲音狀態通知用于指示所述投屏目標設備的音量大于設定閾值或者小于設定閾值,或者指示所述投屏目標設備為靜音或者非靜音。
22.在一種可能的實現方式中,所述投屏目標設備基于wi-fi 創建與投屏源設備之間的投屏連接之前,還包括:所述投屏目標設備接收所述投屏源設備發送的能力請求;所述投屏目標設備向所述投屏目標設備回復的能力信息;當所述能力信息不包括對應所述投屏目標設備的音頻能力的字段或者所述對應所述投屏目標設備的音頻能力的字段的值為none時,所述投屏目標設備不創建所述音頻連接,創建與所述投屏源設備之間的通信連接;所述投屏目標設備通過所述通信接收所述投屏源設備發送的音頻數據包,所述音頻數據包括所述投屏源設備上的通話和語音聊天的聲音數據。
23.在一種可能的實現方式中,還包括:當所述能力信息包括對應所述投屏目標設備的音頻能力的字段且值不為none時,所述投屏目標設備創建所述音頻連接。
24.第四方面,本技術提供一種投屏源設備,該設備具有實現上述第一至二方面中任一項所述的方法的功能。所述功能可以通過硬件實現,也可以通過硬件執行相應的軟件實現。所述硬件或軟件包括一個或多于一個與上述功能相對應的模塊。
25.第五方面,本技術提供一種投屏目標設備,該設備具有實現上述第三方面中任一項所述的方法的功能。所述功能可以通過硬件實現,也可以通過硬件執行相應的軟件實現。所述硬件或軟件包括一個或多于一個與上述功能相對應的模塊。
26.第六方面,本技術提供一種投屏源設備,其特征在于,包括:
27.一個或多個處理器;
28.存儲器,用于存儲一個或多個程序;
29.當所述一個或多個程序被所述一個或多個處理器執行,使得所述一個或多個處理器實現如上述第一至二方面中任一項所述的方法。
30.第七方面,本技術提供一種投屏目標設備,包括:
31.一個或多個處理器;
32.存儲器,用于存儲一個或多個程序;
33.當所述一個或多個程序被所述一個或多個處理器執行,使得所述一個或多個處理器實現如上述第三方面中任一項所述的方法。
34.第八方面,本技術提供一種計算機可讀存儲介質,包括計算機程序,所述計算機程序在計算機上被執行時,使得所述計算機執行上述第一至三方面中任一項所述的方法。
35.第八方面,本技術提供一種計算機程序,當所述計算機程序被計算機執行時,用于執行上述第一至三方面中任一項所述的方法。
附圖說明
36.圖1示出了投屏場景的一個示例性的示意圖;
37.圖2示出了設備200的一個示例性的結構示意圖;
38.圖3為本技術基于wi-fi 的投屏方法實施例一的流程圖;
39.圖4示出了初始設置界面的一個示例性的示意圖;
40.圖5為本技術基于wi-fi 的投屏方法實施例二的流程圖;
41.圖6為本技術投屏源設備實施例的結構示意圖;
42.圖7為本技術投屏目標設備實施例的結構示意圖。
具體實施方式
43.為使本技術的目的、技術方案和優點更加清楚,下面將結合本技術中的附圖,對本技術中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本技術一部分實施例,而不是全部的實施例?;诒炯夹g中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本技術保護的范圍。
44.本技術的說明書實施例和權利要求書及附圖中的術語“第一”、“第二”等僅用于區分描述的目的,而不能理解為指示或暗示相對重要性,也不能理解為指示或暗示順序。此外,術語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元。方法、系統、產品或設備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對于這些過程、方法、產品或設備固有的其它步驟或單元。
45.應當理解,在本技術中,“至少一個(項)”是指一個或者多個,“多個”是指兩個或兩個以上。“和/或”,用于描述關聯對象的關聯關系,表示可以存在三種關系,例如,“a和/或b”可以表示:只存在a,只存在b以及同時存在a和b三種情況,其中a,b可以是單數或者復數。字符“/”一般表示前后關聯對象是一種“或”的關系。“以下至少一項(個)”或其類似表達,是指這些項中的任意組合,包括單項(個)或復數項(個)的任意組合。例如,a,b或c中的至少一項(個),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是單個,也可以是多個。
46.投屏是一種多屏互動技術,投屏源設備和投屏目標設備通過網絡連接,投屏源設備作為投屏內容的源端(source端),可以將其上的內容投送到投屏目標設備,投屏目標設備作為投屏內容的目的端(sink端),由投屏目標設備在其屏幕上播放該內容,實現投屏源設備操控投屏目標設備玩游戲、看視頻、聽音樂、瀏覽照片等,投屏技術適用于玩大屏游戲、開會辦公、視頻推送、影音共享、親子互動等場景。
47.對等網絡(peer to peer,),即對等計算機網絡,是一種在對等節點(peer)之間分配任務和工作負載的分布式應用架構。其可以定義為:網絡的參與者共享他們所擁有的一部分硬件資源(例如處理能力、存儲能力、網絡連接能力、打印機等),這些共享資源通過網絡提供服務和內容,能被其它對等節點(peer)直接訪問而無需經過中間實體。在中的參與者既是資源、服務和內容的提供者(server),又是資源、服務和內容的獲取者(client)。無線保真直連(wireless-fidelity direct,wi-fi direct)(亦稱為wi-fi )是一種點對點連接技術,其可以在兩個節點之間直接建立傳輸控制協議/互聯協議(transmission control protocol/internet protocol,tcp/ip)鏈接,并不需要接入點(access point,ap)的參與,其中一個節點會起到傳統意義上的ap的作用,稱為組所有者(group owner,go),另外一個節點則稱為組客戶端(group client,gc),可以像接入ap一樣連接到go。go和gc不僅可以是一對一,也可以是一對多。
48.安卓系統在wi-fi 技術的基礎上實現了投屏功能,即兩個支持wi-fi 功能的設備,通過wi-fi 技術建立鏈接,其中一個設備完成錄屏、編碼、傳碼流等,是為source端,另一個設備完成碼流的接收、解碼、播放等,是為sink端。該兩個設備可以直接通
過彼此間的wi-fi 鏈路共享文件、圖片、音視頻等。例如一臺支持wi-fi 的智能手機直接連接上一臺支持wi-fi 的智能電視,智能手機(source端)將己方的屏幕連同揚聲器的媒體資源傳送給智能電視(sink端)去顯示或播放。
49.圖1示出了投屏場景的一個示例性的示意圖,如圖1所示,該場景是用戶使用投屏源設備將投屏源設備上的視頻(video)和音頻(audio)經編碼處理后傳輸至投屏目標設備(sink端),視頻的畫面可以通過投屏目標設備的屏幕播放出來,音頻的聲音可以通過投屏目標設備的揚聲器播放出來。該場景下,投屏源設備會創建video的傳輸線程和audio的傳輸線程,并把video數據和audio數據均發送給投屏用的投屏目標設備。
50.可選的,用戶還可以使用投屏源設備將投屏源設備(source端)上的視頻(video)經編碼處理后傳輸至投屏目標設備(sink端),并且將投屏源設備上的音頻(audio)經編碼處理后傳輸至音響,視頻的畫面可以通過投屏目標設備的屏幕播放出來,音頻的聲音可以通過音響的揚聲器播放出來。該場景下,投屏源設備會創建audio的傳輸線程,但不會把audio數據發送給投屏用的投屏目標設備,而是發送給音響。
51.可選的,由于基于wi-fi 技術的投屏,考慮到用戶的隱私,因此協議規定在標準投屏過程中,投屏源設備要將video數據和audio數據發送給投屏目標設備,但是針對打電話、語音聊天等過程中產生的聲音的audio數據是不向投屏目標設備投放的,只發送攜帶空audio數據的數據包。而用戶有將投屏目標設備當做投屏源設備,讓投屏目標設備完全替代投屏源設備的顯示和聲音輸出功能的需求,例如投屏目標設備在wfd_audio_codecs字段填寫none或者不回復wfd_audio_codecs,投屏源設備會認為投屏目標設備不需要空audio數據。此時用戶可以使用投屏源設備將投屏源設備(source端)上的視頻(video)經編碼處理后傳輸至投屏目標設備(sink端),而對于標準流程中發送的audio數據則做不發送處理。與此同時,投屏源設備和投屏目標設備建立新的連接(包括藍牙連接、wi-fi連接或者有線直連等),通過該新的連接,投屏源設備將產生于投屏源設備上的所有聲音的audio數據發送給投屏目標設備。這樣可以在不改變現有標準流程的基礎上,投屏目標設備可以通過揚聲器播放產生于投屏源設備上的所有聲音,包括打電話、語音聊天等過程中產生的聲音。
52.另外,投屏場景還可以是用戶使用手機將手機(source端)上的音視頻投屏至投影幕布等。本技術對于投屏場景的實現方式不做具體限定。
53.投屏源設備又可以稱之為用戶設備(user equipment,ue),可以部署在陸地上,包括室內或室外、手持或車載;也可以部署在水面上(如輪船等);還可以部署在空中(例如飛機、氣球和衛星上等)。投屏源設備可以是手機(mobile phone)、平板電腦(pad)、具備無線通訊功能的可穿戴設備(如智能手表)、具有定位功能的位置追蹤器、帶無線收發功能的電腦、虛擬現實(virtual reality,vr)設備、增強現實(augmented reality,ar)設備、工業控制(industrial control)中的無線設備、無人駕駛(self driving)中的無線設備、遠程醫療(remote medical)中的無線設備、智能電網(smart grid)中的無線設備、運輸安全(transportation safety)中的無線設備、智慧城市(smart city)中的無線設備、智慧家庭(smart home)中的無線設備等,本技術對此不作限定。
54.投屏目標設備可以是智能電視、電視盒子、投影幕布等,本技術對此不作限定。
55.投屏源設備和投屏目標設備之間的網絡可以是支持第四代(fourth generation,4g)接入技術的通信網絡,例如長期演進(long term evolution,lte)接入技術;或者,該通
信網絡也可以是支持第五代(fifth generation,5g)接入技術通信網絡,例如新無線(new radio,nr)接入技術;或者,該通信網絡也可以是支持第三代(third generation,3g)接入技術的通信網絡,例如(universal mobile telecommunications system,umts)接入技術;或者,該通信網絡還可以是支持多種無線技術的通信網絡,例如支持lte技術和nr技術的通信網絡;或者,該通信網絡還可以是支持短距離通信技術的通信網絡,例如支持無線保真(wireless-fidelity,wi-fi)技術的通信網絡;或者,支持藍牙技術的通信網絡。另外,該通信網絡也可以適用于面向未來的通信技術,本技術對此不做具體限定。。
56.圖2示出了設備200的一個示例性的結構示意圖。設備200可以是上述作為投屏內容的source端的投屏源設備,也可以是上述作為投屏內容的sink端的投屏目標設備。如圖2所示,設備200包括:應用處理器201、微控制器單元(microcontroller unit,mcu)202、存儲器203、調制解調器(modem)204、射頻(radio frequency,rf)模塊205、無線保真(wireless-fidelity,簡稱wi-fi)模塊206、藍牙模塊207、傳感器208、輸入/輸出(input/output,i/o)設備209、定位模塊210等部件。這些部件可通過一根或多根通信總線或信號線進行通信。前述通信總線或信號線可以是本技術提供的can總線。本領域技術人員可以理解,設備200可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。
57.下面結合圖2對設備200的各個部件進行具體的介紹:
58.應用處理器201是設備200的控制中心,利用各種接口和總線連接設備200的各個部件。在一些實施例中,處理器201可包括一個或多個處理單元。
59.存儲器203中存儲有計算機程序,諸如圖2所示的操作系統211和應用程序212。應用處理器201被配置用于執行存儲器203中的計算機程序,從而實現該計算機程序定義的功能,例如應用處理器201執行操作系統211從而在設備200上實現操作系統的各種功能。存儲器203還存儲有除計算機程序之外的其他數據,諸如操作系統211和應用程序212運行過程中產生的數據。存儲器203為非易失性存儲介質,一般包括內存和外存。內存包括但不限于隨機存取存儲器(random access memory,ram),只讀存儲器(read-only memory,rom),或高速緩存(cache)等。外存包括但不限于閃存(flash memory)、硬盤、光盤、通用串行總線(universal serial bus,usb)盤等。計算機程序通常被存儲在外存上,處理器在執行計算機程序前會將該程序從外存加載到內存。
60.存儲器203可以是獨立的,通過總線與應用處理器201相連接;存儲器203也可以和應用處理器201集成到一個芯片子系統。
61.mcu 202是用于獲取并處理來自傳感器208的數據的協處理器,mcu 202的處理能力和功耗小于應用處理器201,但具有“永久開啟(always on)”的特點,可以在應用處理器201處于休眠模式時持續收集以及處理傳感器數據,以極低的功耗保障傳感器的正常運行。在一個實施例中,mcu 202可以為sensor hub芯片。傳感器208可以包括光傳感器、運動傳感器。具體地,光傳感器可包括環境光傳感器及接近傳感器,其中,環境光傳感器可根據環境光線的明暗來調節顯示器2091的亮度,接近傳感器可在設備200移動到耳邊時,關閉顯示屏的電源。作為運動傳感器的一種,加速計傳感器可檢測各個方向上(一般為三軸)加速度的大小,靜止時可檢測出重力的大小及方向;傳感器208還可以包括陀螺儀、氣壓計、濕度計、溫度計、紅外線傳感器等其它傳感器,在此不再贅述。mcu 202和傳感器208可以集成到同一塊芯片上,也可以是分離的元件,通過總線連接。
62.modem 204以及射頻模塊205構成了設備200通信子系統,用于實現無線通信標準協議的主要功能。其中,modem 204用于編解碼、信號的調制解調、均衡等。射頻模塊205用于無線信號的接收和發送,射頻模塊205包括但不限于天線、至少一個放大器、耦合器、雙工器等。射頻模塊205配合modem 204實現無線通信功能。modem 204可以作為單獨的芯片,也可以與其他芯片或電路在一起形成系統級芯片或集成電路。這些芯片或集成電路可應用于所有實現無線通信功能的設備,包括:手機、電腦、筆記本、平板、路由器、可穿戴設備、汽車、家電設備等。
63.設備200還可以使用wi-fi模塊206,藍牙模塊207等來進行無線通信。wi-fi模塊206用于為設備200提供遵循wi-fi相關標準協議的網絡接入,設備200可以通過wi-fi模塊206接入到wi-fi接入點,進而訪問互聯網。在其他一些實施例中,wi-fi模塊206也可以作為wi-fi無線接入點,可以為其他設備提供wi-fi網絡接入。藍牙模塊207用于實現設備200與其他設備(例如手機、智能手表等)之間的短距離通信。本技術實施例中的wi-fi模塊206可以是集成電路或wi-fi芯片等,藍牙模塊207可以是集成電路或者藍牙芯片等。
64.定位模塊210用于確定設備200的地理位置??梢岳斫獾氖?,定位模塊210具體可以是全球定位系統(global position system,gps)或北斗衛星導航系統、俄羅斯glonass等定位系統的接收器。
65.wi-fi模塊206,藍牙模塊207和定位模塊210分別可以是單獨的芯片或集成電路,也可以集成到一起。例如,在一個實施例中,wi-fi模塊206,藍牙模塊207和定位模塊210可以集成到同一芯片上。在另一個實施例中,wi-fi模塊206,藍牙模塊207、定位模塊210以及mcu 202也可以集成到同一芯片中。
66.輸入/輸出設備209包括但不限于:顯示器2091、觸摸屏2092,以及音頻電路2093等等。
67.其中,觸摸屏2092可采集設備200的用戶在其上或附近的觸摸事件(比如用戶使用手指、觸控筆等任何適合的物體在觸摸屏2092上或在觸控屏觸摸屏2092附近的操作),并將采集到的觸摸事件發送給其他器件(例如應用處理器201)。其中,用戶在觸摸屏2092附近的操作可以稱之為懸浮觸控;通過懸浮觸控,用戶可以在不直接接觸觸摸屏2092的情況下選擇、移動或拖動目的(例如圖標等)。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型來實現觸摸屏2092。
68.顯示器(也稱為顯示屏)2091用于顯示用戶輸入的信息或展示給用戶的信息??梢圆捎靡壕э@示屏、有機發光二極管等形式來配置顯示器。觸摸屏2092可以覆蓋在顯示器2091之上,當觸摸屏2092檢測到觸摸事件后,傳送給應用處理器201以確定觸摸事件的類型,隨后應用處理器201可以根據觸摸事件的類型在顯示器2091上提供相應的視覺輸出。雖然在圖2中,觸摸屏2092與顯示器2091是作為兩個獨立的部件來實現設備200的輸入和輸出功能,但是在某些實施例中,可以將觸摸屏2092與顯示器2091集成而實現設備200的輸入和輸出功能。另外,觸摸屏2092和顯示器2091可以以全面板的形式配置在設備200的正面,以實現無邊框的結構。
69.音頻電路2093、揚聲器2094、麥克風2095可提供用戶與設備200之間的音頻接口。音頻電路2093可將接收到的音頻數據轉換后的電信號,傳輸到揚聲器2094,由揚聲器2094轉換為聲音信號輸出;另一方面,麥克風2095將收集的聲音信號轉換為電信號,由音頻電路
2093接收后轉換為音頻數據,再通過modem 204和射頻模塊205將音頻數據發送給比如另一設備,或者將音頻數據輸出至存儲器203以便進一步處理。
70.另外,設備200還可以具有指紋識別功能。例如,可以在設備200的背面(例如后置攝像頭的下方)配置指紋采集器件,或者在設備200的正面(例如觸摸屏2092的下方)配置指紋采集器件。又例如,可以在觸摸屏2092中配置指紋采集器件來實現指紋識別功能,即指紋采集器件可以與觸摸屏2092集成在一起來實現設備200的指紋識別功能。在這種情況下,該指紋采集器件配置在觸摸屏2092中,可以是觸摸屏2092的一部分,也可以以其他方式配置在觸摸屏2092中。本技術實施例中的指紋采集器件的主要部件是指紋傳感器,該指紋傳感器可以采用任何類型的感測技術,包括但不限于光學式、電容式、壓電式或超聲波傳感技術等。
71.進一步地,設備200搭載的操作系統211可以為或者其它操作系統,本技術實施例對此不作任何限制。
72.以搭載操作系統的設備200為例,設備200從邏輯上可劃分為硬件層、操作系統211,以及應用層。硬件層包括如上所述的應用處理器201、mcu 202、存儲器203、modem 204、wi-fi模塊206、傳感器208、定位模塊210等硬件資源。應用層包括一個或多個應用程序,比如應用程序212,應用程序212可以為社交類應用、電子商務類應用、瀏覽器等任意類型的應用程序。操作系統211作為硬件層和應用層之間的軟件中間件,是管理和控制硬件與軟件資源的計算機程序。
73.在一個實施例中,操作系統211包括內核,硬件抽象層(hardware abstraction layer,hal)、庫和運行時(libraries and runtime)以及框架(framework)。其中,內核用于提供底層系統組件和服務,例如:電源管理、內存管理、線程管理、硬件驅動程序等;硬件驅動程序包括wi-fi驅動、傳感器驅動、定位模塊驅動等。硬件抽象層是對內核驅動程序的封裝,向框架提供接口,屏蔽低層的實現細節。硬件抽象層運行在用戶空間,而內核驅動程序運行在內核空間。
74.庫和運行時也叫做運行時庫,它為可執行程序在運行時提供所需要的庫文件和執行環境。在一個實施例中,庫與運行時包括安卓運行時(android runtime,art),庫,以及場景包運行時。art是能夠把應用程序的字節碼轉換為機器碼的虛擬機或虛擬機實例。庫是為可執行程序在運行時提供支持的程序庫,包括瀏覽器引擎(比如webkit)、腳本執行引擎(比如javascript引擎)、圖形處理引擎等。場景包運行時是場景包的運行環境,主要包括頁面執行環境(page context)和腳本執行環境(script context),其中,頁面執行環境通過調用相應的庫解析html、css等格式的頁面代碼,腳本執行環境通過調用相應的功能庫解析執行javascript等腳本語言實現的代碼或可執行文件。
75.框架用于為應用層中的應用程序提供各種基礎的公共組件和服務,比如窗口管理、位置管理等等。在一個實施例中,框架包括地理圍欄服務,策略服務,通知管理器等。
76.以上描述的操作系統211的各個組件的功能均可以由應用處理器201執行存儲器203中存儲的程序來實現。
77.所屬領域的技術人員可以理解設備200可包括比圖2所示的更少或更多的部件,圖2所示的該設備僅包括與本技術所公開的多個實現方式更加相關的部件。
78.相關技術中,在投屏之前,投屏雙方(投屏源設備和投屏目標設備)會進行能力協
商,sink端的投屏目標設備會把己方支持的能力上報給source端的投屏源設備,前述能力例如可以包括投屏目標設備是否支持audio播放,是否支持video播放,支持的audio或video的碼流類型、編解碼格式等。source端的投屏源設備在收到前述能力之后,會將該能力和己方的投屏內容進行比較,然后通知sink端的投屏目標設備。例如,投屏源設備發消息請求投屏目標設備的音視頻編解碼能力:wfd_video_formats(對應video)/wfd_audio_codecs(對應audio)。投屏目標設備回復己方的音視頻編解碼能力:wfd_video_formats:00 00 02 0f 0001ffff 05157fff 00000fff 02 0001 0000 13none none/wfd_audio_codecs:lpcm 00000003 02,aac 00000003 00。投屏源設備接收到上述回復后,將投屏目標設備的音視頻編解碼能力與己方的音視頻編解碼能力進行比較,即從投屏目標設備的音視頻編解碼能力中選擇己方支持的,然后通知給投屏目標設備:wfd_video_formats:00 00 02 08 00000100 00000000 00000000 00 0000 0000 00none none/wfd_audio_codecs:aac 00000001 00。
79.此后source端的投屏源設備進行投屏初始化并進入投屏流程。在投屏過程中,source端的投屏源設備對投屏內容中的audio和video分別按照各自幀率將數據傳輸到sink端的投屏目標設備,從而實現投屏。如果在能力協商時,sink端的投屏目標設備回復的能力中包括己方支持audio播放的信息,那么無論投屏內容中是否包括audio,source端的投屏源設備都會按照audio的幀率啟動audio數據的傳輸,sink端的投屏目標設備也會接收該audio數據。但是,在投屏內容中不包括audio的情況下,source端的投屏源設備仍會將大量的空audio數據包傳輸到sink端的投屏目標設備,這會導致大量的空audio數據包和video數據包競爭無線空口資源(包括競爭在souce端的發送空口資源和競爭在sink端的接收空口資源)。大量的空audio數據包還會競爭系統資源和網絡資源(包括搶占cpu和搶占帶寬等)。這些競爭會增加投屏的時延,影響投屏畫質。
80.另外,source端的投屏源設備存在同時wi-fi上網和投屏的情況,因此上網的報文和投屏用的數據包會競爭同一個wi-fi空口資源。而sink端的投屏目標設備也存在同時wi-fi上網和投屏的情況,因此上網的報文和投屏用的數據包也會競爭同一個wi-fi空口資源。在投屏源設備,如果上網的報文占用著wi-fi空口資源,投屏用的數據包就發不出去,只能去搶占資源,這樣會增加發送數據包的時延。同樣投屏目標設備,如果上網的報文占用著wi-fi空口資源,收到的投屏用的數據包就存在延遲,甚至會出現擁塞、丟包的情況。可見wi-fi上網也會增加投屏的時延,影響投屏畫質。
81.本技術提供了一種投屏方法,該方法應用于上述投屏場景,通過減少沒必要的audio數據包的發送,確保投屏過程符合投屏時延需求,提高投屏畫質。
82.圖3為本技術基于wi-fi 的投屏方法實施例一的流程圖,如圖3所示,本實施例的方法可以包括:
83.步驟301、投屏目標設備設置聲音狀態。
84.通常投屏目標設備(例如智能電視)提供了兩種關于聲音的設置方式,一種是音量開關,用戶可以通過音量增大和音量減小兩個按鍵控制該設備的音量大小,當音量調到小于設定閾值時表示用戶不需要播放聲音。另一種是靜音開關,用戶可以通過靜音開關打開或關閉該設備的揚聲器。投屏目標設備可以通過檢測上述兩種開關的觸發情況獲取用戶的輸入,進而基于用戶的輸入設置聲音大小或靜音與否。
85.步驟302、投屏源設備設置聲音狀態。
86.投屏源設備可以在投屏功能開啟時,提供一個初始設置界面,該界面上有關于投屏的多個設置項目,以供用戶對投屏進行個性化設置,投屏源設備通過檢測用戶在初始設置界面上的輸入,基于用戶的輸入設置靜音與否。圖4示出了初始設置界面的一個示例性的示意圖,如圖4所示,針對多種投屏目標設備,可以分別設置是否對其靜音,如果勾選針對某一設備的靜音選項的話,表示投屏源設備在對該設備投屏時需要靜音。需要說明的是,本技術還可以在初始設置界面上提供其他的選項供用戶設置,對此不做具體限定。
87.可選的,初始設置界面上可以提供智能識別的選項,如果用戶勾選了該選項,投屏源設備可以在投屏過程中,自動識別投屏內容是否包括audio,再確定是否需要傳輸audio數據給投屏目標設備。
88.可選的,用戶還可以通過投屏源設備上的音量開關設置投屏源設備的聲音狀態,用音量增大和音量減小兩個按鍵控制投屏源設備的音量大小,當音量調到小于設定閾值時表示用戶不需要將audio數據發送給投屏目標設備。
89.需要說明的是,上述步驟301和302可以二選一,那么投屏源設備在投屏時以其中設置了的一方的聲音狀態為準,來確定是否創建audio數據的傳輸線程或者進行audio數據的收集。上述步驟301和302也可以二者皆有,投屏源設備以二者設置的聲音狀態為準,確定是否創建audio數據的傳輸線程或者進行audio數據的收集。
90.步驟303、投屏目標設備設置和投屏源設備進行能力交互。
91.投屏源設備可以在發送給投屏目標設備的能力請求中攜帶上關于audio能力和聲音狀態的請求?;谠撜埱笸镀聊繕嗽O備可以在回復給投屏源設備的能力信息中攜帶上關于audio的能力信息,以及表征聲音狀態的信息。
92.例如,投屏源設備的能力請求中包括wfd_audio_codecs和wfd_hwe_mute字段,表示投屏源設備請求投屏目標設備提供其audio能力和聲音狀態。投屏目標設備的回復中包括wfd_audio_codecs:lpcm 00000003 02,aac 00000003 00和wfd_hwe_mute:true,其中,wfd_audio_codecs字段的值表示投屏目標設備的audio的能力信息,其支持線性脈沖編碼調制(line pulse code modulation,lpcm)和高級音頻編碼(advanced audio coding,aac)的audio,wfd_hwe_mute字段的值(true)表示投屏目標設備設置了靜音或者音量小于設定閾值。收到該回復后,投屏源設備根據wfd_audio_codecs字段認為投屏目標設備具備audio處理能力,但根據true認為投屏目標設備不需要audio數據,因此投屏源設備會創建和投屏目標設備之間的音頻連接,但不會向投屏目標設備發送audio數據。
93.如果投屏目標設備的回復中包括wfd_audio_codecs:lpcm 00000003 02,aac 00000003 00和wfd_hwe_mute:false,或者回復中不包括wfd_hwe_mute字段,表示投屏目標設備設置了非靜音或者音量大于設定閾值。收到該回復后,投屏源設備根據wfd_audio_codecs字段認為投屏目標設備具備audio處理能力,且根據false或者不包括wfd_hwe_mute字段認為投屏目標設備需要audio數據,因此投屏源設備會創建和投屏目標設備之間的音頻連接,且會向投屏目標設備發送audio數據。
94.如果投屏目標設備的回復中wfd_audio_codecs字段填寫none或者回復中不包括wfd_audio_codecs字段,表示投屏目標設備不具備audio處理能力,因此投屏源設備不會創建和投屏目標設備之間的音頻連接,也不會向投屏目標設備發送audio數據。
95.上述audio的能力信息主要是指支持的audio格式,例如lpcm、aac、杜比高級編解碼3(dolby advanced codec 3,ac3)等、聲道數、取樣頻率以及位頻率等。
96.需要說明的是,本技術還可以通過其他方式或字段將己方能力發送給投屏源設備,對此不做具體限定。
97.根據投屏目標設備設置和投屏源設備的能力協商結果,在后續的投屏過程中可能會出現以下種情況:
98.(1)投屏目標設備設置了靜音或者音量小于設定閾值,和/或,投屏源設備設置了靜音或者音量小于設定閾值。此時投屏源設備不會向投屏目標設備發送audio數據。
99.(2)投屏目標設備沒有設置靜音或者音量大于設定閾值且投屏源設備沒有設置靜音或者音量大于設定閾值。此時投屏源設備會將audio數據傳輸給投屏目標設備。
100.以上步驟301-303為投屏之前投屏源設備和投屏目標設備的操作,以下步驟開始進入投屏過程。
101.進入投屏過程后,投屏源設備和投屏目標設備也可以提供聲音設置功能,以供用戶再次進行聲音狀態的設置。例如在投屏源設備上增加下拉菜單,該下拉菜單包括如圖4所示的設置選項,用戶可以根據需要進行勾選。一旦勾選針對某一設備的靜音選項的話,表示投屏源設備此后不需要再向該設備發送audio數據。又例如投屏目標設備在播放投屏內容的過程中,用戶通過音量增大和音量減小兩個按鍵控制該設備的音量大小,或者通過靜音開關打開或關閉該設備的揚聲器。
102.步驟304、投屏源設備檢測聲音狀態。
103.如上所述,進入投屏過程后,投屏源設備通過檢測用戶在聲音設置功能(例如下拉菜單)上的輸入,基于用戶的輸入檢測靜音與否。該檢測可以是周期性的,例如投屏源設備會在投屏初始創建一個循環定時器或循環計數器,一旦定時器或計數器發出提示,該設備就會如步驟302通過檢測用戶的輸入,進而基于用戶的輸入確定靜音與否。該檢測也可以是觸發式的,一旦用戶對下拉菜單進行了操作,投屏源設備就會被該操作觸發進而確定靜音與否。
104.如果用戶刪除了關于靜音的勾選,表明用戶需要將投屏內容的聲音通過投屏目標設備播放,則跳轉至步驟305;如果用戶增加了靜音勾選,表明用戶不需要將投屏內容的聲音通過投屏目標設備播放,則跳轉至步驟306。
105.步驟305、投屏源設備向投屏目標設備發送第一通知,該第一通知用于通知投屏目標設備己方關閉了靜音。
106.此時用戶需要將投屏內容的聲音通過投屏目標設備播放,因此投屏源設備要向投屏目標設備發送audio數據。投屏源設備通過第一通知告知投屏目標設備己方關閉了靜音,會有audio數據發送過去,指示投屏目標設備準備接收audio數據。此后跳轉至步驟311。
107.步驟306、投屏源設備向投屏目標設備發送第二通知,該第二通知用于通知投屏目標設備己方開啟了靜音。
108.此時用戶不需要將投屏內容的聲音通過投屏目標設備播放,因此投屏源設備不向投屏目標設備發送audio數據,投屏源設備通過第二通知告知投屏目標設備己方開啟了靜音,不會再有audio數據發送過去,指示投屏目標設備停止接收audio數據。此時跳轉至步驟310。
109.需要說明的是,步驟304-306覆蓋了整個投屏過程,當投屏源設備檢測到聲音狀態為靜音,就不向投屏目標設備發送audio數據,當投屏源設備檢測到聲音狀態為非靜音,就向投屏目標設備發送audio數據??梢詼p少己方的線程創建和處理流程,并減少沒必要的audio數據包的發送。
110.步驟307、投屏目標設備檢測聲音狀態。
111.只要沒有接收到投屏源設備發送的第二通知,投屏目標設備就會檢測己方音量的變化情況或靜音與否。該檢測可以是周期性的,例如投屏目標設備會在投屏初始創建一個循環定時器或循環計數器,一旦定時器或計數器發出提示,該設備就會通過檢測音量開關或靜音開關的觸發情況獲取用戶的輸入,進而基于用戶的輸入確定聲音大小或靜音與否。該檢測也可以是觸發式的,一旦用戶對音量開關或靜音開關進行了操作,投屏目標設備就會被該操作觸發進而確定聲音大小或靜音與否。
112.當投屏目標設備確定音量從大于設定閾值變為小于設定閾值,或者從非靜音變為靜音,表明用戶不需要通過投屏目標設備播放聲音了,跳轉至步驟308;當投屏目標設備確定音量從小于設定閾值變為大于設定閾值,或者從靜音變為非靜音,表明用戶需要通過投屏目標設備播放聲音了,跳轉至步驟309。
113.步驟308、投屏目標設備向投屏源設備發送第三通知,該第三通知用于表征投屏目標設備的音量變為小于設定閾值或調為靜音。
114.此時用戶不需要通過投屏目標設備播放聲音,即使投屏源設備仍然發送audio數據,投屏目標設備也接收了audio數據,但是這些audio數據是無用的,因此投屏目標設備通過第三通知告知投屏源設備己方的音量變為小于設定閾值或調為靜音,以指示投屏源設備可以不用發送audio數據。此時跳轉至步驟310。
115.步驟309、投屏目標設備向投屏源設備發送第四通知,該第四通知用于表征投屏目標設備的音量變為大于設定閾值或調為非靜音。
116.此時用戶需要通過投屏目標設備播放聲音了,如果投屏源設備此前不向投屏目標設備發送audio數據,此時投屏目標設備由于沒收到audio數據,無法放出聲音。因此投屏目標設備通過第四通知告知投屏源設備己方的音量變為大于設定閾值或調為非靜音,以指示投屏源設備可以發送audio數據了。此時跳轉至步驟311。
117.協議中用于能力交互的報文共有16個,m1~m16。本技術增加一個交互報文m17(wfd_trigger_mute),以用于投屏的過程中投屏目標設備設置靜音狀態或者設置音量的情況。當投屏目標設備調為靜音或者音量變為小于設定閾值時,投屏目標設備可以發送報文wfd_trigger_mute:true(相當于上述第三通知);當投屏目標設備調為非靜音或者音量變為大于設定閾值時,投屏目標設備可以發送報文wfd_trigger_mute:false(相當于上述第四通知)。
118.需要說明的是,步驟307-309覆蓋了整個投屏過程,只要投屏目標設備沒有接收到投屏源設備發送的第二通知,都會檢測己方音量的變化情況或靜音與否。而如果投屏目標設備接收到投屏源設備發送的第二通知,投屏目標設備就沒有必要再檢測己方音量的變化情況或靜音與否,直到再次接收到投屏源設備發送的第一通知,投屏目標設備再次開始檢測己方音量的變化情況或靜音與否。可以減少己方的線程創建和處理流程,并減少沒必要的audio數據包的發送。
119.步驟310、投屏源設備不向投屏目標設備發送audio數據。
120.如上述步驟304-309所述,用戶在投屏連接建立之前或投屏連接建立之后,無論是對投屏源設備的靜音選項進行操作,還是對投屏目標設備的音量開關或靜音開關進行操作,均可以控制投屏源設備是否向投屏目標設備發送audio數據。如果投屏源設備的靜音選項被勾選,或者投屏目標設備的音量從大于設定閾值變為小于設定閾值,或者從非靜音變為靜音,此時投屏用的數據包中可能包括了audio數據,但根據用戶的設置,該audio數據是不需要發送給投屏目標設備的,因此投屏源設備不會向投屏目標設備發送audio數據。可以減少沒必要的audio數據包的發送。
121.步驟311、投屏源設備向投屏目標設備發送audio數據。
122.如果投屏源設備的靜音選項沒有被勾選,或者投屏目標設備的音量從小于設定閾值變為大于設定閾值,或者從靜音變為非靜音,則投屏源設備會創建audio數據的傳輸線程或者進行audio數據的收集,向投屏目標設備發送audio數據。此時投屏用的數據包中可能不包括audio數據,但根據用戶的設置,即使沒有audio數據,投屏源設備依然會在投屏用的數據包中攜帶上空audio數據,該情況下可參照圖5所示實施例的處理。
123.需要說明的是,上述實施例中重點描述了投屏源設備和投屏目標設備關于audio數據傳輸的投屏方法,其適用的場景可以是video和audio在不同的設備上播放,即用戶使用投屏源設備將投屏源設備上的視頻的錄像(video)投屏至投屏目標設備上,該視頻的video畫面通過投屏目標設備的屏幕播放出來,用戶還可以使用投屏源設備將該視頻的聲音(audio)傳輸至音響設備,該視頻的audio聲音通過音響設備播放出來。因此投屏源設備在向投屏目標設備投屏的過程中是不需要傳輸audio數據的。通過減少沒必要的audio數據包的發送,確保投屏過程符合投屏時延需求,確保video數據的傳輸性能,提高投屏畫質。而關于video數據的傳輸可以采用相關技術的方法,本技術對此不做具體限定。
124.本實施例,通過基于用戶的輸入設置是否在投屏的過程中發送audio數據,從而避免沒必要的audio數據包的發送,減少投屏時延,確保video數據的傳輸性能,提高投屏畫質。
125.圖5為本技術基于wi-fi 的投屏方法實施例二的流程圖,如圖5所示,本實施例的方法與圖3所示方法的區別在于投屏源設備不需要靜音選項控制,投屏源設備可以根據投屏內容和投屏目標設備的聲音狀態確定是否創建audio數據的傳輸線程或者進行audio數據的收集。本實施例的方法可以包括:
126.步驟501、投屏源設備判斷投屏內容是否包括audio。
127.投屏內容可能包括video和/或audio,如果是照片、課件等,就只有video,如果是音樂、廣播等,就只有audio,如果是電影、電視等就包括video和audio。投屏內容包括的數據決定了投屏源設備創建的傳輸線程或者收集的audio數據,如果只有video,就只需要創建video數據的傳輸線程或者收集video數據,如果只有audio,就只需要創建audio數據的傳輸線程或者收集audio數據,如果有video和audio,就需要分別創建video數據和audio數據的傳輸線程或者收集video數據和audio數據。
128.當投屏內容包括audio,跳轉至步驟502;當投屏內容不包括audio,跳轉至步驟507。
129.步驟502、投屏目標設備檢測聲音狀態。
130.投屏目標設備檢測己方音量的變化情況或靜音與否。該檢測可以是周期性的,例如投屏目標設備會在投屏初始創建一個循環定時器或循環計數器,一旦定時器或計數器發出提示,該設備就會通過檢測音量開關或靜音開關的觸發情況獲取用戶的輸入,進而基于用戶的輸入確定聲音大小或靜音與否。該檢測也可以是觸發式的,一旦用戶對音量開關或靜音開關進行了操作,投屏目標設備就會被該操作觸發進而確定聲音大小或靜音與否。
131.當投屏目標設備確定音量從大于設定閾值變為小于設定閾值,或者從非靜音變為靜音,表明用戶不需要通過投屏目標設備播放聲音了,跳轉至步驟503;當投屏目標設備確定音量從小于設定閾值變為大于設定閾值,或者從靜音變為非靜音,表明用戶需要通過投屏目標設備播放聲音了,跳轉至步驟504。
132.步驟503、投屏目標設備向投屏源設備發送第一通知,該第一通知用于表征投屏目標設備的音量變為小于設定閾值或調為靜音。
133.此時用戶不需要通過投屏目標設備播放聲音,即使投屏源設備確定投屏內容包括audio,要向投屏目標設備發送audio數據,但是這些audio數據是無用的,因此投屏目標設備通過第一通知告知投屏源設備己方的音量變為小于設定閾值或調為靜音,以指示投屏源設備可以不用發送audio數據了。此時跳轉至步驟505。
134.步驟504、投屏目標設備向投屏源設備發送第二通知,該第二通知用于表征投屏目標設備的音量變為大于設定閾值或調為非靜音。
135.此時用戶需要通過投屏目標設備播放聲音了,投屏目標設備通過第二通知告知投屏源設備己方的音量變為大于設定閾值或調為非靜音,以指示投屏源設備可以發送audio數據了。此時跳轉至步驟506。
136.步驟505、投屏源設備不向投屏目標設備發送audio數據。
137.如上述步驟501-504所述,如果投屏內容包括audio,投屏源設備還需要結合投屏目標設備上關于聲音狀態的設置確定是否發送audio數據。如果投屏目標設備的音量從大于設定閾值變為小于設定閾值,或者從非靜音變為靜音,基于步驟501的判斷,此時投屏用的數據包中包括了audio數據,但根據用戶對投屏目標設備的音量或靜音的設置,該audio數據是不需要發送給投屏目標設備的,則投屏源設備不會向投屏目標設備發送audio數據??梢詼p少沒必要的audio數據包的發送。
138.步驟506、投屏源設備向投屏目標設備發送audio數據。
139.如果投屏目標設備的音量從小于設定閾值變為大于設定閾值,或者從靜音變為非靜音,基于步驟501的判斷,此時投屏用的數據包中包括了audio數據,且根據用戶對投屏目標設備的音量或靜音的設置,該audio數據需要發送給投屏目標設備,則投屏源設備會創建audio數據的傳輸線程或者進行audio數據的收集,向投屏目標設備發送audio數據。
140.步驟507、投屏源設備直接不向投屏目標設備發送audio數據。
141.如上所述,投屏內容不包括audio時,投屏源設備創建了和投屏目標設備之間的音頻連接,因此會在音頻連接上發送空audio數據包,該情況下投屏源設備不用再參考投屏目標設備的音量的變化情況或靜音與否,直接不向投屏目標設備發送audio數據即可。
142.需要說明的是,上述實施例中重點描述了投屏源設備和投屏目標設備關于audio數據傳輸的投屏方法,其適用的場景可以是video和audio在相同的設備上播放,即用戶使用投屏源設備將投屏源設備上的視頻的錄像(video)和聲音(audio)均投屏至投屏目標設
備上,該視頻的video畫面通過投屏目標設備的屏幕播放出來,audio聲音通過投屏目標設備的音響播放出來。因此投屏源設備在向投屏目標設備投屏的過程中需要把video數據和audio數據都傳輸給投屏目標設備。但如果投屏內容中不包括audio,就不需要傳輸audio數據,通過減少沒必要的audio數據包的發送,確保投屏過程符合投屏時延需求,確保video數據的傳輸性能,提高投屏畫質。而關于video數據的傳輸可以采用相關技術的方法,本技術對此不做具體限定。
143.本實施例,通過基于投屏內容是否包括audio確定是否在投屏的過程中發送audio數據,從而避免沒必要的audio數據包的發送,減少投屏時延,確保video數據的傳輸性能,提高投屏畫質。
144.圖6為本技術投屏源設備實施例的結構示意圖,如圖6所示,本實施例的裝置可以包括:處理模塊601,發送模塊602和接收模塊603,其中,處理模塊601,用于基于wi-fi 創建投屏連接,所述投屏連接包括視頻連接和音頻連接,所述視頻連接用于發送視頻數據包,所述音頻連接用于發送音頻數據包;當通過所述音頻連接發送所述音頻數據包時,判斷靜音狀態;發送模塊602,用于若所述投屏源設備打開靜音,則不發送所述音頻數據包。
145.在一種可能的實現方式中,接受模塊603,用于接收來自所述投屏目標設備的聲音狀態通知,所述聲音狀態通知用于指示所述投屏目標設備的音量大于設定閾值或者小于設定閾值,或者指示所述投屏目標設備為靜音或者非靜音;所述處理模塊601,還用于當通過所述音頻連接發送所述音頻數據包時,根據所述聲音狀態通知判斷所述投屏目標設備的聲音狀態;所述發送模塊602,還用于若所述投屏目標設備的音量小于設定閾值或者為靜音時,則不發送所述音頻數據包。
146.在一種可能的實現方式中,所述處理模塊601,還用于當通過所述音頻連接發送所述音頻數據包時,采集設定時長內的所述音頻數據包;所述發送模塊602,還用于若所述設定時長內的所述音頻數據包中的數據為無效值或者所述設定時長內的所述音頻數據包對應的音量小于設定閾值,則不發送所述音頻數據包。
147.在一種可能的實現方式中,所述發送模塊602,還用于向所述投屏目標設備發送能力請求;所述接收模塊603,還用于接收所述投屏目標設備回復的能力信息;所述處理模塊601,還用于當所述能力信息不包括對應所述投屏目標設備的音頻能力的字段或者所述對應所述投屏目標設備的音頻能力的字段的值為none時,不創建所述音頻連接;創建與所述投屏目標設備之間的通信連接;所述發送模塊602,還用于通過所述通信連接向所述投屏目標設備發送音頻數據包,所述音頻數據包括所述投屏源設備上的通話和語音聊天的聲音數據。
148.在一種可能的實現方式中,所述處理模塊601,還用于當所述能力信息包括對應所述投屏目標設備的音頻能力的字段且值不為none時,創建所述音頻連接。
149.本實施例的裝置,可以用于執行圖3或5所示方法實施例的技術方案,其實現原理和技術效果類似,此處不再贅述。
150.圖7為本技術投屏目標設備實施例的結構示意圖,如圖7所示,本實施例的裝置可以包括:處理模塊701,接收模塊702,輸出模塊703和發送模塊704。其中,處理模塊701,用于基于wi-fi 創建與投屏源設備之間的投屏連接,所述投屏連接包括視頻連接和音頻連接,所述視頻連接用于接收視頻數據包,所述音頻連接用于接收音頻數據包;接收模塊702,
用于通過所述視頻連接接收所述視頻數據包;輸出模塊703,用于根據所述視頻數據包在屏幕上播放相應的投屏畫面。
151.在一種可能的實現方式中,發送模塊704,用于向所述投屏源設備發送聲音狀態通知,所述聲音狀態通知用于指示所述投屏目標設備的音量大于設定閾值或者小于設定閾值,或者指示所述投屏目標設備為靜音或者非靜音。
152.在一種可能的實現方式中,所述接收模塊702,還用于接收所述投屏源設備發送的能力請求;所述發送模塊704,還用于向所述投屏目標設備回復的能力信息;所述處理模塊701,還用于當所述能力信息不包括對應所述投屏目標設備的音頻能力的字段或者所述對應所述投屏目標設備的音頻能力的字段的值為none時,不創建所述音頻連接,創建與所述投屏源設備之間的通信連接;所述接收模塊702,還用于通過所述通信接收所述投屏源設備發送的音頻數據包,所述音頻數據包括所述投屏源設備上的通話和語音聊天的聲音數據。
153.在一種可能的實現方式中,所述處理模塊701,還用于當所述能力信息包括對應所述投屏目標設備的音頻能力的字段且值不為none時,創建所述音頻連接。
154.本實施例的裝置,可以用于執行圖3或5所示方法實施例的技術方案,其實現原理和技術效果類似,此處不再贅述。
155.在實現過程中,上述方法實施例的各步驟可以通過處理器中的硬件的集成邏輯電路或者軟件形式的指令完成。處理器可以是通用處理器、數字信號處理器(digital signal processor,dsp)、特定應用集成電路(application-specific integrated circuit,asic)、現場可編程門陣列(field programmable gate array,fpga)或其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件。通用處理器可以是微處理器或者該處理器也可以是任何常規的處理器等。本技術實施例公開的方法的步驟可以直接體現為硬件編碼處理器執行完成,或者用編碼處理器中的硬件及軟件模塊組合執行完成。軟件模塊可以位于隨機存儲器,閃存、只讀存儲器,可編程只讀存儲器或者電可擦寫可編程存儲器、寄存器等本領域成熟的存儲介質中。該存儲介質位于存儲器,處理器讀取存儲器中的信息,結合其硬件完成上述方法的步驟。
156.上述各實施例中提及的存儲器可以是易失性存儲器或非易失性存儲器,或可包括易失性和非易失性存儲器兩者。其中,非易失性存儲器可以是只讀存儲器(read-only memory,rom)、可編程只讀存儲器(programmable rom,prom)、可擦除可編程只讀存儲器(erasable prom,eprom)、電可擦除可編程只讀存儲器(electrically eprom,eeprom)或閃存。易失性存儲器可以是隨機存取存儲器(random access memory,ram),其用作外部高速緩存。通過示例性但不是限制性說明,許多形式的ram可用,例如靜態隨機存取存儲器(static ram,sram)、動態隨機存取存儲器(dynamic ram,dram)、同步動態隨機存取存儲器(synchronous dram,sdram)、雙倍數據速率同步動態隨機存取存儲器(double data rate sdram,ddr sdram)、增強型同步動態隨機存取存儲器(enhanced sdram,esdram)、同步連接動態隨機存取存儲器(synchlink dram,sldram)和直接內存總線隨機存取存儲器(direct rambus ram,dr ram)。應注意,本文描述的系統和方法的存儲器旨在包括但不限于這些和任意其它適合類型的存儲器。
157.本領域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結合來實現。這些功能究竟
以硬件還是軟件方式來執行,取決于技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本技術的范圍。
158.所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統、裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
159.在本技術所提供的幾個實施例中,應該理解到,所揭露的系統、裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
160.所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
161.另外,在本技術各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。
162.所述功能如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本技術的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(個人計算機,服務器,或者網絡設備等)執行本技術各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:u盤、移動硬盤、只讀存儲器(read-only memory,rom)、隨機存取存儲器(random access memory,ram)、磁碟或者光盤等各種可以存儲程序代碼的介質。
163.以上所述,僅為本技術的具體實施方式,但本技術的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本技術揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本技術的保護范圍之內。因此,本技術的保護范圍應以所述權利要求的保護范圍為準。

技術特征:


1.一種基于wi-fi 的投屏方法,其特征在于,包括:投屏源設備基于wi-fi 創建與投屏目標設備之間的投屏連接,所述投屏連接包括視頻連接和音頻連接,所述視頻連接用于發送視頻數據包,所述音頻連接用于發送音頻數據包;所述投屏源設備接收來自所述投屏目標設備的聲音狀態通知,所述聲音狀態通知用于指示所述投屏目標設備的音量大于設定閾值或者小于設定閾值,或者指示所述投屏目標設備為靜音或者非靜音;當通過所述音頻連接發送所述音頻數據包時,所述投屏源設備根據所述聲音狀態通知判斷所述投屏目標設備的聲音狀態;若所述投屏目標設備的音量小于設定閾值或者為靜音時,則所述投屏源設備不發送所述音頻數據包。2.根據權利要求1所述的方法,其特征在于,所述投屏源設備基于wi-fi 創建與投屏目標設備之間的投屏連接之后,還包括:當通過所述音頻連接發送所述音頻數據包時,所述投屏源設備判斷靜音狀態;若所述投屏源設備打開靜音,則所述投屏源設備不發送所述音頻數據包。3.根據權利要求1或2所述的方法,其特征在于,所述投屏源設備基于wi-fi 創建與投屏目標設備之間的投屏連接之后,還包括:當通過所述音頻連接發送所述音頻數據包時,所述投屏源設備采集設定時長內的所述音頻數據包;若所述設定時長內的所述音頻數據包中的數據為無效值或者所述設定時長內的所述音頻數據包對應的音量小于設定閾值,則所述投屏源設備不發送所述音頻數據包。4.根據權利要求1-3中任一項所述的方法,其特征在于,所述投屏源設備基于wi-fi 創建與投屏目標設備之間的投屏連接之前,還包括:所述投屏源設備向所述投屏目標設備發送能力請求;所述投屏源設備接收所述投屏目標設備回復的能力信息;當所述能力信息不包括對應所述投屏目標設備的音頻能力的字段或者所述對應所述投屏目標設備的音頻能力的字段的值為none時,所述投屏源設備不創建所述音頻連接;所述投屏源設備創建與所述投屏目標設備之間的通信連接;所述投屏源設備通過所述通信連接向所述投屏目標設備發送音頻數據包,所述音頻數據包括所述投屏源設備上的通話和語音聊天的聲音數據。5.根據權利要求4所述的方法,其特征在于,還包括:當所述能力信息包括對應所述投屏目標設備的音頻能力的字段且值不為none時,所述投屏源設備創建所述音頻連接。6.一種基于wi-fi 的投屏方法,其特征在于,包括:投屏目標設備基于wi-fi 創建與投屏源設備之間的投屏連接,所述投屏連接包括視頻連接和音頻連接,所述視頻連接用于接收視頻數據包,所述音頻連接用于接收音頻數據包;所述投屏目標設備向所述投屏源設備發送第二聲音狀態通知,所述第二聲音狀態通知用于指示所述投屏目標設備的音量大于設定閾值或者小于設定閾值,或者指示所述投屏目
標設備為靜音或者非靜音,還用于指示所述投屏源設備不發送所述音頻數據包;所述投屏目標設備通過所述視頻連接接收所述視頻數據包;所述投屏目標設備根據所述視頻數據包在屏幕上播放相應的投屏畫面。7.根據權利要求6所述的方法,其特征在于,還包括:所述投屏目標設備接收來自所述投屏源設備的第一聲音狀態通知,所述第一聲音狀態通知用于指示所述投屏源設備為靜音,所述投屏源設備不發送所述音頻數據包。8.根據權利要求6或7所述的方法,其特征在于,所述投屏目標設備基于wi-fi 創建與投屏源設備之間的投屏連接之前,還包括:所述投屏目標設備接收所述投屏源設備發送的能力請求;所述投屏目標設備向所述投屏目標設備回復的能力信息;當所述能力信息不包括對應所述投屏目標設備的音頻能力的字段或者所述對應所述投屏目標設備的音頻能力的字段的值為none時,所述投屏目標設備不創建所述音頻連接,創建與所述投屏源設備之間的通信連接;所述投屏目標設備通過所述通信接收所述投屏源設備發送的音頻數據包,所述音頻數據包括所述投屏源設備上的通話和語音聊天的聲音數據。9.根據權利要求8所述的方法,其特征在于,還包括:當所述能力信息包括對應所述投屏目標設備的音頻能力的字段且值不為none時,所述投屏目標設備創建所述音頻連接。10.一種投屏源設備,其特征在于,包括:處理模塊,用于基于wi-fi 創建投屏連接,所述投屏連接包括視頻連接和音頻連接,所述視頻連接用于發送視頻數據包,所述音頻連接用于發送音頻數據包;當通過所述音頻連接發送所述音頻數據包時,判斷靜音狀態;接受模塊,用于接收來自所述投屏目標設備的聲音狀態通知,所述聲音狀態通知用于指示所述投屏目標設備的音量大于設定閾值或者小于設定閾值,或者指示所述投屏目標設備為靜音或者非靜音;所述處理模塊,還用于當通過所述音頻連接發送所述音頻數據包時,根據所述聲音狀態通知判斷所述投屏目標設備的聲音狀態;發送模塊,用于若所述投屏目標設備的音量小于設定閾值或者為靜音時,則不發送所述音頻數據包。11.根據權利要求10所述的設備,其特征在于,所述發送模塊,還用于若所述投屏源設備打開靜音,則不發送所述音頻數據包。12.根據權利要求10或11所述的設備,其特征在于,所述處理模塊,還用于當通過所述音頻連接發送所述音頻數據包時,采集設定時長內的所述音頻數據包;所述發送模塊,還用于若所述設定時長內的所述音頻數據包中的數據為無效值或者所述設定時長內的所述音頻數據包對應的音量小于設定閾值,則不發送所述音頻數據包。13.根據權利要求10-12中任一項所述的設備,其特征在于,所述發送模塊,還用于向所述投屏目標設備發送能力請求;所述接收模塊,還用于接收所述投屏目標設備回復的能力信息;所述處理模塊,還用于當所述能力信息不包括對應所述投屏目標設備的音頻能力的字
段或者所述對應所述投屏目標設備的音頻能力的字段的值為none時,不創建所述音頻連接;創建與所述投屏目標設備之間的通信連接;所述發送模塊,還用于通過所述通信連接向所述投屏目標設備發送音頻數據包,所述音頻數據包括所述投屏源設備上的通話和語音聊天的聲音數據。14.根據權利要求13所述的設備,其特征在于,所述處理模塊,還用于當所述能力信息包括對應所述投屏目標設備的音頻能力的字段且值不為none時,創建所述音頻連接。15.一種投屏目標設備,其特征在于,包括:處理模塊,用于基于wi-fi 創建與投屏源設備之間的投屏連接,所述投屏連接包括視頻連接和音頻連接,所述視頻連接用于接收視頻數據包,所述音頻連接用于接收音頻數據包;發送模塊,用于向所述投屏源設備發送第二聲音狀態通知,所述第二聲音狀態通知用于指示所述投屏目標設備的音量大于設定閾值或者小于設定閾值,或者指示所述投屏目標設備為靜音或者非靜音,還用于指示所述投屏源設備不發送所述音頻數據包;接收模塊,用于通過所述視頻連接接收所述視頻數據包;輸出模塊,用于根據所述視頻數據包在屏幕上播放相應的投屏畫面。16.根據權利要求15所述的設備,其特征在于,所述接收模塊,還用于接收來自所述投屏源設備的第一聲音狀態通知,所述第一聲音狀態通知用于指示所述投屏源設備為靜音,所述投屏源設備不發送所述音頻數據包。17.根據權利要求15或16所述的設備,其特征在于,所述接收模塊,還用于接收所述投屏源設備發送的能力請求;所述發送模塊,還用于向所述投屏目標設備回復的能力信息;所述處理模塊,還用于當所述能力信息不包括對應所述投屏目標設備的音頻能力的字段或者所述對應所述投屏目標設備的音頻能力的字段的值為none時,不創建所述音頻連接,創建與所述投屏源設備之間的通信連接;所述接收模塊,還用于通過所述通信接收所述投屏源設備發送的音頻數據包,所述音頻數據包括所述投屏源設備上的通話和語音聊天的聲音數據。18.根據權利要求17所述的設備,其特征在于,所述處理模塊,還用于當所述能力信息包括對應所述投屏目標設備的音頻能力的字段且值不為none時,創建所述音頻連接。19.一種投屏源設備,其特征在于,包括:一個或多個處理器;存儲器,用于存儲一個或多個程序;當所述一個或多個程序被所述一個或多個處理器執行,使得所述一個或多個處理器實現如權利要求1-5中任一項所述的方法。20.一種投屏目標設備,其特征在于,包括:一個或多個處理器;存儲器,用于存儲一個或多個程序;當所述一個或多個程序被所述一個或多個處理器執行,使得所述一個或多個處理器實現如權利要求6-9中任一項所述的方法。21.一種計算機可讀存儲介質,其特征在于,包括計算機程序,所述計算機程序在計算機上被執行時,使得所述計算機執行權利要求1-9中任一項所述的方法。

技術總結


本申請提供一種基于Wi-Fi P2P的投屏方法和裝置。本申請基于Wi-Fi P2P的投屏方法,包括:投屏源設備基于Wi-Fi P2P創建與投屏目標設備之間的投屏連接,所述投屏連接包括視頻連接和音頻連接,所述視頻連接用于發送視頻數據包,所述音頻連接用于發送音頻數據包;當通過所述音頻連接發送所述音頻數據包時,所述投屏源設備判斷靜音狀態;若所述投屏源設備打開靜音,則所述投屏源設備不發送所述音頻數據包。本申請減少投屏時延,確保video數據的傳輸性能,提高投屏畫質。提高投屏畫質。提高投屏畫質。


技術研發人員:

黃記

受保護的技術使用者:

華為技術有限公司

技術研發日:

2020.01.21

技術公布日:

2022/12/9


文章投稿或轉載聲明

本文鏈接:http://m.newhan.cn/zhuanli/patent-1-48110-0.html

來源:專利查詢檢索下載-實用文體寫作網版權所有,轉載請保留出處。本站文章發布于 2022-12-19 01:33:09

發表評論

驗證碼:
用戶名: 密碼: 匿名發表
評論列表 (有 條評論
,2人圍觀
參與討論