一種視頻屏幕旋轉方法和裝置與流程
2023-06-04 02:41:31 1

本發明屬於通信技術領域,特別涉及一種視頻屏幕旋轉方法和裝置。
背景技術:
隨著移動網際網路行業的蓬勃發展,越來越多的用戶用手機代替電腦,其中很大一部分人喜歡用手機看視頻、看電影。但是由於移動端的局限性,視頻沒辦法像電腦那樣觀看,所以通過一系列方法,讓用戶有更好的體驗,就成為了開發者的難題。
現在一些主流的app雖然有全屏播放的功能,但是都是基於系統的豎排方向鎖定功能,而有時候用戶只希望在觀看該app的時候能夠將屏幕橫屏全屏播放,當手機退到後臺的時候,不影響其他應用,這個是辦不到的,因為這個功能是系統級別的,這樣就影響了其他app。其存在以下兩個缺陷:
1、只有通過系統設置,才能對屏幕橫屏播放,無法準確的獲知手機當前的屏幕朝向,自動旋轉屏幕;
2、在上述系統應用中,如果退出當前的視頻播放,屏幕橫屏播放的設置還在,如果進入其它app,不需要屏幕橫屏播放,需要重新更改系統設置,進行豎排方向鎖定,造成用戶操作上的不便。
技術實現要素:
為了解決現有技術存在的上述問題,本發明提供了一種視頻屏幕旋轉方法和裝置,以解決現有技術中移動終端只有通過系統設置才能旋轉手機屏幕的技術問題。
本發明所採用的技術方案為:提供一種視頻屏幕旋轉方法,包括:獲取當前視頻播放時的屏幕三維數據;根據所述當前視頻播放時的屏幕三維數據,計算獲取當前屏幕朝向;根據所述當前屏幕朝向旋轉屏幕。
優選地,所述獲取當前視頻播放時的屏幕三維數據為:採用三軸加速度傳感器獲取當前視頻播放時的屏幕在三維方向上的加速度。
優選地,所述獲取當前視頻播放時的屏幕三維數據,為調用所述移動終端系統的屏幕三維數據。
優選地,所述根據所述當前視頻播放時的屏幕三維數據,計算獲取當前屏幕朝向,包括:默認所述當前屏幕朝向為豎屏朝上,三維數據分別為x、y、z;當z的絕對值小於臨界值時,開始計算,並進行如下判斷:如果y的絕對值大於x的絕對值,判斷當前屏幕在z朝向是豎著的,此時如果y值大於0,表示當前屏幕方向朝下,y值小於0,表示當前屏幕方向朝上;如果y的絕對值小於x的絕對值,判斷當前屏幕在z朝向是橫向的,此時如果x值大於0,表示當前屏幕方向朝左,x值小於0,表示當前屏幕方向朝右。
優選地,所述根據所述當前屏幕朝向旋轉屏幕為:調用所述移動終端系統的屏幕控制接口,根據所述當前屏幕朝向旋轉屏幕。
本發明還提供一種視頻屏幕旋轉裝置,應用於移動終端,包括:屏幕數據獲取單元,用於獲取當前視頻播放時的屏幕三維數據;屏幕朝向計算單元,用於根據所述當前視頻播放時的屏幕三維數據,計算獲取當前屏幕朝向;屏幕旋轉單元,用於根據所述當前屏幕朝向旋轉屏幕。
優選地,所述屏幕數據獲取單元為:採用三軸加速度傳感器獲取當前視頻播放時的屏幕在三維方向上的加速度。
優選地,所述三軸加速度傳感器為陀螺儀。
優選地,所述屏幕朝向計算單元,包括:初始化模塊,用於設置所述當前屏幕朝向默認朝向為豎屏朝上,三維數據分別為x、y、z;屏幕朝向計算單元,用於當z的絕對值小於臨界值時,開始計算,並進行如下判斷:如果y的絕對值大於x的絕對值,判斷當前屏幕在z朝向是豎著的,此時如果y值大於0,表示當前屏幕方向朝下,y值小於0,表示當前屏幕方向朝上;如果y的絕對值小於x的絕對值,判斷當前屏幕在z朝向是橫向的,此時如果x值大於0,表示當前屏幕方向朝左,x值小於0,表示當前屏幕方向朝右。
優選地,所述屏幕旋轉單元,包括:調用模塊,用於連接所述移動終端系統的屏幕控制接口;旋轉模塊,用於通過調用模塊,根據所述當前屏幕朝向來旋轉屏幕。
由上可見,應用本發明技術方案,由於通過獲取當前視頻播放時的屏幕三維數據來計算獲取當前屏幕朝向,可以準確的獲知手機當前的屏幕朝向;根據當前屏幕朝向旋轉屏幕,不需要通過系統設置,一樣可以取得橫屏播放的效果,而且在退出視頻播放時,也不需要再更改系統設置,可以達到自動旋轉屏幕的技術效果。因此,獲取當前視頻播放時的屏幕三維數據;根據當前視頻播放時的屏幕三維數據,計算獲取當前屏幕朝向;根據當前屏幕朝向旋轉屏幕,更加適應用戶的體驗需求,更加人性化,符合實際應用。
附圖說明
圖1示出了根據本發明一個實施例的視頻屏幕旋轉方法的流程圖;
圖2示出了根據本發明一個實施例的視頻屏幕旋轉裝置的結構圖。
具體實施方式
本發明提供一種方法和裝置,以解決現有技術中的只有通過系統設置才能旋轉手機屏幕的技術問題。
本申請實施例中的技術方案為解決上述的技術問題,總體思路如下:在不通過系統級別操作的情況下,根據陀螺儀計算出手機朝向,並自動旋轉手機屏幕。
為了更好的理解上述技術方案,下面通過附圖以及具體實施例對本發明技術方案做詳細的說明,應當理解本發明實施例以及實施例中的具體特徵是對本發明技術方案的詳細的說明,而不是對本發明技術方案的限定,在不衝突的情況下,本發明實施例以及實施例中的技術特徵可以相互組合。
實施例1
如圖1所示,本實施例提供一種方法視頻屏幕旋轉方法,應用於手機,包括如下步驟:
s1、獲取當前視頻播放時的屏幕三維數據;
s2、根據該當前視頻播放時的屏幕三維數據,計算獲取當前屏幕朝向;
s3、根據該當前屏幕朝向旋轉屏幕。
考慮到用戶只希望在觀看app視頻的時候能夠將屏幕橫屏全屏播放,故本實施例只在視頻播放時才獲取屏幕三維數據;根據屏幕三維數據來計算獲取當前屏幕朝向,可以準確的獲知手機當前的屏幕朝向;根據當前屏幕朝向旋轉屏幕,不需要通過系統設置,一樣可以取得橫屏播放的效果,而且在退出視頻播放時,也不需要再更改系統設置,可以達到自動旋轉屏幕的技術效果。
作為上述實施例的一種優選方案,步驟s1可以採用三軸加速度傳感器獲取當前視頻播放時的屏幕在三維方向上的加速度。三軸加速度傳感器例如陀螺儀等。
作為上述實施例的另一種優選方案,步驟s1可以是調用手機系統的屏幕三維數據。
在本發明人在研究本發明的深入研究中發現,可以通過調用手機系統自帶的一些方法來持續獲取陀螺儀的數據。例如,蘋果手機系統自帶陀螺儀,可以獲知手機的三維數據,也就是說我們可以根據它的坐標系中的x,y,z三個值,來判斷設備的朝向。
陀螺儀的主要作用,是基於角動量守恆原理,沿著某個特定的坐標軸測量旋轉速率。在使用中,陀螺儀的轉子在告訴旋轉時,始終指向一個固定的方向,當運動物體的運動方向偏離預定方向時,陀螺儀就可以感受出來。
也就是說,我們可以通過一個全局的變量讓視頻控制器對屏幕三維數據進行強引用,就可以在app運行期間保證可以持續得到陀螺儀的數據。這樣做還有一個好處,讓視頻控制器強引用他,當我們退出視頻播放界面的時候,視頻控制器會銷毀掉,那麼他所強引用的所有對象都會銷毀,這樣可以節省很多內存空間,讓app更加輕量級,處理速度更快。
優選地,所述根據所述當前視頻播放時的屏幕三維數據,計算獲取當前屏幕朝向,包括:每次進入新的app視頻播放時,默認所述當前屏幕朝向為豎屏朝上,三維數據分別為x、y、z;持續獲得三維數據,當z的絕對值小於臨界值時,開始計算,並進行如下判斷:如果y的絕對值大於x的絕對值,判斷當前屏幕在z朝向是豎著的,此時如果y值大於0,表示當前屏幕方向朝下,y值小於0,表示當前屏幕方向朝上;如果y的絕對值小於x的絕對值,判斷當前屏幕在z朝向是橫向的,此時如果x值大於0,表示當前屏幕方向朝左,x值小於0,表示當前屏幕方向朝右。
具體算法如下:
a.定義一個枚舉類型的值:value,來記錄設備朝向,該值默認是豎屏朝上的;
b.當z的絕對值小於0.5的時候開始計算(0.5是臨界值,代表設備開始旋轉)
c.判斷,如果y的絕對值大於x的絕對值,那麼證明設備是豎著的,此時只需要比較y值是否大於0.如果y值大於0,表示設備方向朝下,y值小於0,表示設備方向朝上;
d.如果y的絕對值小於x的絕對值,那麼證明設備是橫向的,此時需要比較x值是否大於0.如果x值大於0,表示設備方向朝左,x值小於0,表示設備方向朝右。
優選地,根據當前屏幕朝向旋轉屏幕為:調用該移動終端系統的屏幕控制接口,根據該當前屏幕朝向旋轉屏幕。經過本發明人的深入研究發現,對於手機系統自帶陀螺儀,獲知手機設備朝向後,可以通過[[uidevicecurrentdevice]setvalue:valueforkey:@"orientation"]方法來旋轉屏幕。
特別指出的是,上述方法步驟不一定按照編號順序執行,之所以用編號只是為了表述的方便,只要能實現本發明的目的,任何步驟上的改變都應在本發明的權利要求保護範圍內。
實施例2
如圖2所示,本實施例提供一種應用上述方法的視頻屏幕旋轉裝置,應用於移動終端,包括:屏幕數據獲取單元10,用於獲取當前視頻播放時的屏幕三維數據;屏幕朝向計算單元20,用於根據所述當前視頻播放時的屏幕三維數據,計算獲取當前屏幕朝向;屏幕旋轉單元30,用於根據所述當前屏幕朝向旋轉屏幕。
優選地,屏幕數據獲取單元10為:採用三軸加速度傳感器獲取當前視頻播放時的屏幕在三維方向上的加速度。
優選地,三軸加速度傳感器為陀螺儀。
優選地,屏幕朝向計算單元20,包括:初始化模塊,用於設置所述當前屏幕朝向默認朝向為豎屏朝上,三維數據分別為x、y、z;屏幕朝向計算單元,用於當z的絕對值小於臨界值時,開始計算,並進行如下判斷:如果y的絕對值大於x的絕對值,判斷當前屏幕在z朝向是豎著的,此時如果y值大於0,表示當前屏幕方向朝下,y值小於0,表示當前屏幕方向朝上;如果y的絕對值小於x的絕對值,判斷當前屏幕在z朝向是橫向的,此時如果x值大於0,表示當前屏幕方向朝左,x值小於0,表示當前屏幕方向朝右。
優選地,屏幕旋轉單元30,包括:調用模塊,用於連接所述移動終端系統的屏幕控制接口;旋轉模塊,用於通過調用模塊,根據所述當前屏幕朝向來旋轉屏幕。
其具體工作原理具體可以但不限於參見實施例1中的相應描述。
由上述實施例可見,本發明產生的有益效果是:由於通過獲取當前視頻播放時的屏幕三維數據來計算獲取當前屏幕朝向,可以準確的獲知手機當前的屏幕朝向;根據當前屏幕朝向旋轉屏幕,不需要通過系統設置,一樣可以取得橫屏播放的效果,而且在退出視頻播放時,也不需要再更改系統設置,可以達到自動旋轉屏幕的技術效果。因此,獲取當前視頻播放時的屏幕三維數據;根據當前視頻播放時的屏幕三維數據,計算獲取當前屏幕朝向;根據當前屏幕朝向旋轉屏幕,更加適應用戶的體驗需求,更加人性化,符合實際應用。
儘管已描述了本發明的優選實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權利要求意欲解釋為包括優選實施例以及落入本發明範圍的所有變更和修改。
顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和範圍。這樣,倘若本發明的這些修改和變型屬於本發明權利要求及其等同技術的範圍之內,則本發明也意圖包含這些改動和變型在內。