一种数据旋转方法以及装置与流程

文档序号:11229987阅读:290来源:国知局
一种数据旋转方法以及装置与流程

本发明涉及计算机技术领域,尤其涉及一种数据旋转方法以及装置



背景技术:

目前的一些应用程序可以实现应用页面旋转,即用户对手机进行旋转时,手机将会根据屏幕的旋转角度对整个屏幕进行旋转,以实现应用页面的旋转(如竖屏显示旋转为横屏显示)。由于目前的这些应用程序都需要依赖于系统自带的自动旋转功能,才能实现对应用页面的旋转,所以当用户并未开启系统自带的自动旋转功能时,则无法对整个屏幕进行旋转,进而使得这些应用程序也无法实现应用页面的旋转,导致应用程序无法稳定、可靠的实现应用页面的旋转。



技术实现要素:

本发明实施例提供一种数据旋转方法以及装置,可以保证应用程序能够稳定、可靠的实现应用页面的旋转。

本发明实施例提供了一种数据旋转方法,包括:

对加速度传感器进行监听,并在监听到所述加速度传感器所采集的加速度分量发生变化时,获取所述加速度传感器所采集的当前加速度分量;

根据所述当前加速度分量计算终端对应的屏幕旋转角度;

若所述屏幕旋转角度满足预设的旋转条件,则对所述终端中的多媒体播放应用中的多媒体数据进行旋转;

其中,与旋转前的多媒体播放应用相邻显示的系统界面区域为第一区域,与旋转后的多媒体播放应用相邻显示的系统界面区域为第二区域;所述第一区域和所述第二区域相同,且所述第一区域中的内容在屏幕中的排布位置与所述第二区域中的内容在屏幕中的排布位置相同。

相应地,本发明实施例还提供了一种数据旋转装置,包括:

监听获取模块,用于对加速度传感器进行监听,并在监听到所述加速度传感器所采集的加速度分量发生变化时,获取所述加速度传感器所采集的当前加速度分量;

计算模块,用于根据所述当前加速度分量计算终端对应的屏幕旋转角度;

旋转模块,用于若所述屏幕旋转角度满足预设的旋转条件,则对所述终端中的多媒体播放应用中的多媒体数据进行旋转;

其中,与旋转前的多媒体播放应用相邻显示的系统界面区域为第一区域,与旋转后的多媒体播放应用相邻显示的系统界面区域为第二区域;所述第一区域和所述第二区域相同,且所述第一区域中的内容在屏幕中的排布位置与所述第二区域中的内容在屏幕中的排布位置相同。

本发明实施例通过对加速度传感器进行监听,并在监听到所述加速度传感器所采集的加速度分量发生变化时,获取所述加速度传感器所采集的当前加速度分量,并根据所述当前加速度分量计算终端对应的屏幕旋转角度,若所述屏幕旋转角度满足预设的旋转条件,则对所述终端中的多媒体播放应用中的多媒体数据进行旋转;其中,与旋转前的多媒体播放应用相邻显示的系统界面区域为第一区域,与旋转后的多媒体播放应用相邻显示的系统界面区域为第二区域;所述第一区域和所述第二区域相同,且所述第一区域中的内容在屏幕中的排布位置与所述第二区域中的内容在屏幕中的排布位置相同。由此可见,由于通过监听加速度传感器,可以实现仅对多媒体播放应用中的多媒体数据进行旋转,即系统界面区域无需旋转,所以本发明无需基于系统自带的自动旋转功能即可实现应用页面的旋转,从而可以保证应用程序能够稳定、可靠的实现应用页面的旋转。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种数据旋转方法的流程示意图;

图2是本发明实施例提供的一种基于加速度分量的三维坐标系的示意图;

图3是本发明实施例提供的一种计算屏幕旋转角度的坐标示意图;

图4是本发明实施例提供的一种数据旋转过程的示意图;

图5是本发明实施例提供的另一种数据旋转方法的流程示意图;

图6是本发明实施例提供的一种数据旋转装置的结构示意图;

图7是本发明实施例提供的一种监听获取模块的结构示意图;

图8是本发明实施例提供的一种计算模块的结构示意图;

图9是本发明实施例提供的一种旋转模块的结构示意图;

图10是本发明实施例提供的一种终端的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参见图1,是本发明实施例提供的一种数据旋转方法的流程示意图,所述方法可以包括:

s101,对加速度传感器进行监听,并在监听到所述加速度传感器所采集的加速度分量发生变化时,获取所述加速度传感器所采集的当前加速度分量;

具体的,终端可以将所述多媒体播放应用与传感器监听函数进行绑定,并将所述传感器监听函数与传感器事件函数进行绑定;所述传感器监听函数可以为sensoreventlistener函数,所述传感器事件函数可以为sensorevent函数。sensorevent函数可以预先与所述加速度传感器注册关联关系,当所述加速度传感器采集到的加速度分量发生变化时,所述加速度传感器可以主动将当前加速度分量通知给已注册的sensorevent函数,sensorevent函数再通过回调方式将所述当前加速度分量通知给sensoreventlistener函数,进而使得所述多媒体播放应用可以感知sensoreventlistener函数中的所述当前加速度分量,以便于后续所述多媒体播放应用可以基于所述当前加速度分量计算终端对应的屏幕旋转角度。所述当前加速度分量可以包括重力加速度投影到三维坐标系中所形成的x轴分量、y轴分量、z轴分量,其中,所述三维坐标系中的z轴垂直于所述屏幕所在平面,所述x轴和所述y轴与所述屏幕所在平面平行,且所述x轴与所述y轴垂直。当所述屏幕为竖屏放置,且所述屏幕与水平面垂直时,x轴平行于水平面,y轴垂直于水平面。

进一步的,请一并参见图2,是本发明实施例提供的一种基于加速度分量的三维坐标系的示意图,在图2中,在终端100的屏幕上具有一个三维坐标系,该三维坐标系包括x轴、y轴以及z轴,所述x轴和所述y轴与所述终端100的屏幕所在平面平行,所述z轴与所述终端100的屏幕所在平面垂直,所述x轴与所述y轴垂直,所述终端100具有一个垂直于水平面的重力加速度g,重力加速度g投影到所述x轴上形成x轴分量,重力加速度g投影到所述y轴上形成y轴分量,重力加速度g投影到所述z轴上形成z轴分量,因此,sensorevent函数可以包含该三维坐标系中的x轴分量、y轴分量以及z轴分量。

s102,根据所述当前加速度分量计算终端对应的屏幕旋转角度;

具体的,所述终端可以根据所述当前加速度分量中的x轴分量和y轴分量,计算终端对应的屏幕旋转角度。其中,所述屏幕旋转角度可以是所述屏幕的当前位置与所述屏幕的竖屏位置之间的夹角。

进一步的,请一并参见图3,是本发明实施例提供的一种计算屏幕旋转角度的坐标示意图。在图3中的坐标轴是屏幕的三维坐标轴中的x轴和y轴,即x轴可以为上述图2对应的三维坐标系中x轴,y轴可以为上述图2对应的三维坐标系中的y轴。g投影是由重力加速度g投影到x轴和y轴上所得到的,g投影在x轴和y轴上的坐标为(dx,dy),dx是g投影的横坐标,dx也是重力加速度g在x轴上的加速度分量,dy是g投影的纵坐标,dy也是重力加速度g在y轴上的加速度分量。图3中的α角度即为需要计算的屏幕旋转角度,而α角度加上90度即可得到β角度。通过反正切值atan2对(dx,dy)进行运算可以得到从x轴正方向旋转到g投影方向的旋转弧度,且旋转弧度的值域为[-∏,∏],再通过弧度到角度的单位换算公式,可以计算出β=math.atan2(dy,dx)*(180/∏),进而可以计算出屏幕旋转角度α=math.atan2(dy,dx)*(180/∏)-90。

s103,若所述屏幕旋转角度满足预设的旋转条件,则对所述终端中的多媒体播放应用中的多媒体数据进行旋转;

具体的,由于通过绑定所述传感器监听函数,可以监听到所述加速度传感器所采集到的当前加速度分量,所以无需基于系统自带的自动旋转功能也可以实现对所述多媒体播放应用中的多媒体数据的旋转,即无需进行整个屏幕旋转,仅对屏幕中的应用程序界面进行旋转。因此,与旋转前的多媒体播放应用相邻显示的系统界面区域为第一区域,与旋转后的多媒体播放应用相邻显示的系统界面区域为第二区域;所述第一区域和所述第二区域相同,且所述第一区域中的内容在屏幕中的排布位置与所述第二区域中的内容在屏幕中的排布位置相同。

进一步的,请一并参见图4,是本发明实施例提供的一种数据旋转过程的示意图。在图4中,旋转前的屏幕包括系统界面区域200、多媒体播放应用的界面300、以及位于所述多媒体播放应用的界面300内的多媒体数据400(所述多媒体数据400的展示数据包括“aaabbb”)。当所述屏幕横屏放置时,终端也同步在所述多媒体播放应用的界面300内实现数据旋转,即对多媒体数据400进行旋转和放大,以得到旋转后的多媒体数据600。所述多媒体数据600包括90度旋转且放大后的展示数据“aaabbb”,且所述多媒体数据600的显示区域的面积与所述多媒体播放应用的界面300的面积相等(即在旋转过程中,还同时对所述多媒体数据400的显示区域进行放大),且处于横屏放置的屏幕还包括系统界面区域500,所述系统界面区域500中的内容在屏幕中的排布位置与所述系统界面区域200中的内容在屏幕中的排布位置相同。

本发明实施例通过对加速度传感器进行监听,并在监听到所述加速度传感器所采集的加速度分量发生变化时,获取所述加速度传感器所采集的当前加速度分量,并根据所述当前加速度分量计算终端对应的屏幕旋转角度,若所述屏幕旋转角度满足预设的旋转条件,则对所述终端中的多媒体播放应用中的多媒体数据进行旋转;其中,与旋转前的多媒体播放应用相邻显示的系统界面区域为第一区域,与旋转后的多媒体播放应用相邻显示的系统界面区域为第二区域;所述第一区域和所述第二区域相同,且所述第一区域中的内容在屏幕中的排布位置与所述第二区域中的内容在屏幕中的排布位置相同。由此可见,由于通过监听加速度传感器,可以实现仅对多媒体播放应用中的多媒体数据进行旋转,即系统界面区域无需旋转,所以本发明无需基于系统自带的自动旋转功能即可实现应用页面的旋转,从而可以保证应用程序能够稳定、可靠的实现应用页面的旋转。

再请参见图5,是本发明实施例提供的另一种数据旋转方法的流程示意图,所述方法可以包括:

s501,对加速度传感器进行监听,并在监听到所述加速度传感器所采集的加速度分量发生变化时,获取所述加速度传感器所采集的当前加速度分量;

s502,根据所述当前加速度分量计算终端对应的屏幕旋转角度;

其中,s501-s502的具体实现方式可以参见上述图1对应实施例中的s101-s102,这里不再进行赘述。

s503,在预设的多个角度区间中确定所述屏幕旋转角度所处于的目标角度区间,并确定所述多媒体播放应用中的多媒体数据对应的当前播放模式;

具体的,终端可以预先设定多个角度区间,并为每个角度区间分别设置一种播放模式。例如,-45度至45度的角度区间对应竖屏播放模式,46-135度的角度区间对应横屏播放模式。因此,在计算出所述屏幕旋转角度后,可以在预设的多个角度区间中确定所述屏幕旋转角度所处于的目标角度区间,同时所述终端还可以确定所述多媒体播放应用中的多媒体数据对应的当前播放模式(所述当前播放模式可以为横屏播放模式或竖屏播放模式)。

s504,判断所述当前播放模式是否与所述目标角度区间对应的播放模式相同;

具体的,在确定出所述目标角度区间后,即可进一步确定所述目标角度区间对应的播放模式,进而判断所述当前播放模式是否与所述目标角度区间对应的播放模式相同。

s505,确定所述屏幕旋转角度不满足预设的旋转条件;

具体的,若s504判断为是,则确定所述屏幕旋转角度不满足预设的旋转条件,即所述终端暂时还不需要对多媒体数据进行旋转。即所述旋转条件是指在所述当前播放模式与所述目标角度区间对应的播放模式不同时触发旋转操作的条件。

s506,确定所述屏幕旋转角度满足预设的旋转条件;

具体的,若s504判断为否,则确定所述屏幕旋转角度满足预设的旋转条件,即所述终端将要对多媒体数据进行旋转。

s507,若所述当前播放模式为竖屏播放模式,且所述目标角度区间对应的播放模式为横屏播放模式,则对所述终端中的多媒体播放应用中的多媒体数据进行放大操作,并将所述多媒体数据旋转为横屏播放模式;

具体的,在s506确定所述屏幕旋转角度满足预设的旋转条件后,若所述当前播放模式为竖屏播放模式,且所述目标角度区间对应的播放模式为横屏播放模式,则所述终端可以进一步对所述终端中的多媒体播放应用中的多媒体数据进行放大操作,并将所述多媒体数据旋转为横屏播放模式;放大后的多媒体数据对应的展示区域为屏幕总区域除去所述系统界面区域之后的区域。旋转的具体过程可以参见上述图4对应实施例中的旋转过程,这里不再进行赘述。

s508,若所述当前播放模式为横屏播放模式,且所述目标角度区间对应的播放模式竖屏播放模式,则对所述终端中的多媒体播放应用中的多媒体数据进行缩小操作,并将所述多媒体数据旋转为竖屏播放模式;

具体的,在s506确定所述屏幕旋转角度满足预设的旋转条件后,若所述当前播放模式为横屏播放模式,且所述目标角度区间对应的播放模式竖屏播放模式,则对所述终端中的多媒体播放应用中的多媒体数据进行缩小操作,并将所述多媒体数据旋转为竖屏播放模式;缩小后的多媒体数据对应的展示区域处于所述多媒体播放应用的显示区域内;所述多媒体播放应用的显示区域为屏幕总区域除去所述系统界面区域之后的区域。以上述图4为例,可以将多媒体播放应用的界面300中的多媒体数据600旋转为多媒体数据400,且在旋转过程中,所述系统界面区域始终保持不变。

可选的,所述竖屏播放模式可以分为两种:正竖屏播放模式(即包含多媒体数据400的屏幕对应的播放模式)和反竖屏播放模式(即包含多媒体数据400的屏幕被180度旋转后的播放模式)。其中,所述正竖屏播放模式对应的角度区间可以为-45度至45度,所述反竖屏播放模式对应的角度区间包括-136度至-180度、136度至180度(-180度的位置和180度的位置均为y轴的反方向)。因此,若所述当前播放模式为正竖屏播放模式,且所述目标角度区间对应的播放模式为反竖屏播放模式,则对所述终端中的多媒体播放应用中的界面进行180度旋转,即将多媒体播放应用中的界面旋转为反竖屏播放模式。若所述当前播放模式为反竖屏播放模式,且所述目标角度区间对应的播放模式为正竖屏播放模式,则对所述终端中的多媒体播放应用中的界面进行180度旋转,即将多媒体播放应用中的界面旋转为正竖屏播放模式。

可选的,所述横屏播放模式也可以分为两种:左横屏播放模式(即包含多媒体数据600的屏幕对应的播放模式)和右横屏播放模式(即包含多媒体数据600的屏幕被180度旋转后的播放模式)。其中,所述左横屏播放模式对应的角度区间可以为46度至135度,所述右横屏播放模式对应的角度区间为-46度至-135度。因此,若所述当前播放模式为左横屏播放模式,且所述目标角度区间对应的播放模式为右横屏播放模式,则对所述终端中的多媒体数据进行180度旋转,即将多媒体数据旋转为右横屏播放模式。若所述当前播放模式为右横屏播放模式,且所述目标角度区间对应的播放模式为左横屏播放模式,则对所述终端中的多媒体数据进行180度旋转,即将多媒体数据旋转为左横屏播放模式。

本发明实施例通过对加速度传感器进行监听,并在监听到所述加速度传感器所采集的加速度分量发生变化时,获取所述加速度传感器所采集的当前加速度分量,并根据所述当前加速度分量计算终端对应的屏幕旋转角度,若所述屏幕旋转角度满足预设的旋转条件,则对所述终端中的多媒体播放应用中的多媒体数据进行旋转;其中,与旋转前的多媒体播放应用相邻显示的系统界面区域为第一区域,与旋转后的多媒体播放应用相邻显示的系统界面区域为第二区域;所述第一区域和所述第二区域相同,且所述第一区域中的内容在屏幕中的排布位置与所述第二区域中的内容在屏幕中的排布位置相同。由此可见,由于通过监听加速度传感器,可以实现仅对多媒体播放应用中的多媒体数据进行旋转,即系统界面区域无需旋转,所以本发明无需基于系统自带的自动旋转功能即可实现应用页面的旋转,从而可以保证应用程序能够稳定、可靠的实现应用页面的旋转。

请参见图6,是本发明实施例提供的一种数据旋转装置的结构示意图。所述数据旋转装置1可以应用于终端,且所述数据旋转装置1可以包括:监听获取模块10、计算模块20、确定模块40、判断模块50、旋转模块30;

所述监听获取模块10,用于对加速度传感器进行监听,并在监听到所述加速度传感器所采集的加速度分量发生变化时,获取所述加速度传感器所采集的当前加速度分量;

所述计算模块20,用于根据所述当前加速度分量计算终端对应的屏幕旋转角度;

其中,所述当前加速度分量包括重力加速度投影到三维坐标系中所形成的x轴分量、y轴分量、z轴分量,其中,所述三维坐标系中的z轴垂直于所述屏幕所在平面,所述x轴和所述y轴分量与所述屏幕所在平面平行。

所述确定模块40,用于在预设的多个角度区间中确定所述屏幕旋转角度所处于的目标角度区间,并确定所述多媒体播放应用中的多媒体数据对应的当前播放模式;其中,预设的各角度区间分别对应不同的播放模式。

所述判断模块50,用于判断所述当前播放模式是否与所述目标角度区间对应的播放模式相同;

所述确定模块40,还用于若所述判断模块50判断为否,则确定所述屏幕旋转角度满足预设的旋转条件;

所述确定模块40,还用于若所述判断模块50判断为是,则确定所述屏幕旋转角度不满足预设的旋转条件。

所述旋转模块30,用于若所述屏幕旋转角度满足预设的旋转条件,则对所述终端中的多媒体播放应用中的多媒体数据进行旋转;

其中,与旋转前的多媒体播放应用相邻显示的系统界面区域为第一区域,与旋转后的多媒体播放应用相邻显示的系统界面区域为第二区域;所述第一区域和所述第二区域相同,且所述第一区域中的内容在屏幕中的排布位置与所述第二区域中的内容在屏幕中的排布位置相同。

其中,所述监听获取模块10、所述计算模块20以及所述旋转模块30的具体功能实现方式可以参见上述图1对应实施例中的s101-s103,这里不再进行赘述。

所述确定模块40和所述判断模块50的具体功能实现方式可以参见上述图5对应实施例中的s503-s506,这里不再进行赘述。

进一步的,请一并参见图7,是本发明实施例提供的一种监听获取模块10的结构示意图,所述监听获取模块10可以包括:绑定单元101、获取单元102;

所述绑定单元101,用于将所述多媒体播放应用与传感器监听函数进行绑定,并将所述传感器监听函数与传感器事件函数进行绑定;

所述获取单元102,用于当所述加速度传感器所采集的加速度分量发生变化时,通过所述传感器事件函数获取所述加速度传感器所采集的当前加速度分量,所述传感器事件函数通过回调方式将所述当前加速度分量通知给所述传感器监听函数,以便于所述多媒体播放应用获取所述传感器监听函数所传输的所述当前加速度分量。

其中,所述绑定单元101和所述获取单元102的具体功能实现方式可以参见上述图1对应实施例中的s101,这里不再进赘述。

进一步的,请一并参见图8,是本发明实施例提供的一种计算模块20的结构示意图,所述计算模块20可以包括:弧度计算单元201、角度计算单元202;

所述弧度计算单元201,用于根据所述x轴分量和所述y轴分量,计算所述x轴的正方向与重力加速度投影向量之间的弧度值;所述重力加速度投影向量是由所述重力加速度投影到所述x轴和所述y轴所构成的平面坐标系中所形成的;

所述角度计算单元202,用于将所述弧度值转换为第一角度,并根据所述第一角度计算所述y轴的正方向与所述重力加速度投影向量之间的第二角度,并将所述第二角度作为终端对应的屏幕旋转角度。

其中,所述弧度计算单元201和所述角度计算单元202的具体功能实现方式可以参见上述图1对应实施例中的s102,这里不再进赘述。

进一步的,请一并参见图9,是本发明实施例提供的一种旋转模块30的结构示意图,所述旋转模块30可以包括:检测单元301、第一旋转单元302、第二旋转单元303;

所述检测单元301,用于若所述屏幕旋转角度满足预设的旋转条件,则检测所述多媒体播放应用中的多媒体数据对应的当前播放模式,并检测所述屏幕旋转角度所处于的目标角度区间对应的播放模式;

所述第一旋转单元302,用于若所述当前播放模式为竖屏播放模式,且所述目标角度区间对应的播放模式为横屏播放模式,则对所述终端中的多媒体播放应用中的多媒体数据进行放大操作,并将所述多媒体数据旋转为横屏播放模式;放大后的多媒体数据对应的展示区域为屏幕总区域除去所述系统界面区域之后的区域;

所述第二旋转单元303,用于若所述当前播放模式为横屏播放模式,且所述目标角度区间对应的播放模式竖屏播放模式,则对所述终端中的多媒体播放应用中的多媒体数据进行缩小操作,并将所述多媒体数据旋转为竖屏播放模式;缩小后的多媒体数据对应的展示区域处于所述多媒体播放应用的显示区域内;所述多媒体播放应用的显示区域为屏幕总区域除去所述系统界面区域之后的区域。

其中,所述检测单元301、所述第一旋转单元302、所述第二旋转单元303的具体功能实现方式可以参见上述图5对应实施例中的s507-s508,这里不再进行赘述。

本发明实施例通过对加速度传感器进行监听,并在监听到所述加速度传感器所采集的加速度分量发生变化时,获取所述加速度传感器所采集的当前加速度分量,并根据所述当前加速度分量计算终端对应的屏幕旋转角度,若所述屏幕旋转角度满足预设的旋转条件,则对所述终端中的多媒体播放应用中的多媒体数据进行旋转;其中,与旋转前的多媒体播放应用相邻显示的系统界面区域为第一区域,与旋转后的多媒体播放应用相邻显示的系统界面区域为第二区域;所述第一区域和所述第二区域相同,且所述第一区域中的内容在屏幕中的排布位置与所述第二区域中的内容在屏幕中的排布位置相同。由此可见,由于通过监听加速度传感器,可以实现仅对多媒体播放应用中的多媒体数据进行旋转,即系统界面区域无需旋转,所以本发明无需基于系统自带的自动旋转功能即可实现应用页面的旋转,从而可以保证应用程序能够稳定、可靠的实现应用页面的旋转。

请参见图10,是本发明实施例提供的一种终端的结构示意图。如图10所示,所述终端1000可以包括:至少一个处理器1001,例如cpu,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002,加速度传感器1006。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(display)、键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。加速度传感器1006可以采集重力加速度投影到基于屏幕的三维坐标系上的加速度分量。如图10所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。

在图10所示的终端1000中,网络接口1004主要用于连接可提供多媒体数据的业务服务器;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:

对加速度传感器1006进行监听,并在监听到所述加速度传感器1006所采集的加速度分量发生变化时,获取所述加速度传感器1006所采集的当前加速度分量;

根据所述当前加速度分量计算终端对应的屏幕旋转角度;

若所述屏幕旋转角度满足预设的旋转条件,则对所述终端中的多媒体播放应用中的多媒体数据进行旋转;

其中,与旋转前的多媒体播放应用相邻显示的系统界面区域为第一区域,与旋转后的多媒体播放应用相邻显示的系统界面区域为第二区域;所述第一区域和所述第二区域相同,且所述第一区域中的内容在屏幕中的排布位置与所述第二区域中的内容在屏幕中的排布位置相同。

在一个实施例中,所述处理器1001在执行对加速度传感器1006进行监听,并在监听到所述加速度传感器1006所采集的加速度分量发生变化时,获取所述加速度传感器1006所采集的当前加速度分量时,具体执行以下步骤:

将所述多媒体播放应用与传感器监听函数进行绑定,并将所述传感器监听函数与传感器事件函数进行绑定;

当所述加速度传感器1006所采集的加速度分量发生变化时,通过所述传感器事件函数获取所述加速度传感器1006所采集的当前加速度分量,所述传感器事件函数通过回调方式将所述当前加速度分量通知给所述传感器监听函数,以便于所述多媒体播放应用获取所述传感器监听函数所传输的所述当前加速度分量。

在一个实施例中,所述当前加速度分量包括重力加速度投影到三维坐标系中所形成的x轴分量、y轴分量、z轴分量,其中,所述三维坐标系中的z轴垂直于所述屏幕所在平面,所述x轴和所述y轴分量与所述屏幕所在平面平行;

则所述处理器1001在执行根据所述当前加速度分量计算终端对应的屏幕旋转角度时,具体执行以下步骤:

根据所述x轴分量和所述y轴分量,计算所述x轴的正方向与重力加速度投影向量之间的弧度值;所述重力加速度投影向量是由所述重力加速度投影到所述x轴和所述y轴所构成的平面坐标系中所形成的;

将所述弧度值转换为第一角度,并根据所述第一角度计算所述y轴的正方向与所述重力加速度投影向量之间的第二角度,并将所述第二角度作为终端对应的屏幕旋转角度。

在一个实施例中,所述处理器1001在执行若所述屏幕旋转角度满足预设的旋转条件,则对所述终端中的多媒体播放应用中的多媒体数据进行旋转之前,还执行以下步骤:

在预设的多个角度区间中确定所述屏幕旋转角度所处于的目标角度区间,并确定所述多媒体播放应用中的多媒体数据对应的当前播放模式;

判断所述当前播放模式是否与所述目标角度区间对应的播放模式相同;

若判断为否,则确定所述屏幕旋转角度满足预设的旋转条件;

若判断为是,则确定所述屏幕旋转角度不满足预设的旋转条件;

其中,预设的各角度区间分别对应不同的播放模式。

在一个实施例中,所述处理器1001在执行若所述屏幕旋转角度满足预设的旋转条件,则对所述终端中的多媒体播放应用中的多媒体数据进行旋转时,具体执行以下步骤:

若所述屏幕旋转角度满足预设的旋转条件,则检测所述多媒体播放应用中的多媒体数据对应的当前播放模式,并检测所述屏幕旋转角度所处于的目标角度区间对应的播放模式;

若所述当前播放模式为竖屏播放模式,且所述目标角度区间对应的播放模式为横屏播放模式,则对所述终端中的多媒体播放应用中的多媒体数据进行放大操作,并将所述多媒体数据旋转为横屏播放模式;放大后的多媒体数据对应的展示区域为屏幕总区域除去所述系统界面区域之后的区域;

若所述当前播放模式为横屏播放模式,且所述目标角度区间对应的播放模式竖屏播放模式,则对所述终端中的多媒体播放应用中的多媒体数据进行缩小操作,并将所述多媒体数据旋转为竖屏播放模式;缩小后的多媒体数据对应的展示区域处于所述多媒体播放应用的显示区域内;所述多媒体播放应用的显示区域为屏幕总区域除去所述系统界面区域之后的区域。

本发明实施例通过对加速度传感器进行监听,并在监听到所述加速度传感器所采集的加速度分量发生变化时,获取所述加速度传感器所采集的当前加速度分量,并根据所述当前加速度分量计算终端对应的屏幕旋转角度,若所述屏幕旋转角度满足预设的旋转条件,则对所述终端中的多媒体播放应用中的多媒体数据进行旋转;其中,与旋转前的多媒体播放应用相邻显示的系统界面区域为第一区域,与旋转后的多媒体播放应用相邻显示的系统界面区域为第二区域;所述第一区域和所述第二区域相同,且所述第一区域中的内容在屏幕中的排布位置与所述第二区域中的内容在屏幕中的排布位置相同。由此可见,由于通过监听加速度传感器,可以实现仅对多媒体播放应用中的多媒体数据进行旋转,即系统界面区域无需旋转,所以本发明无需基于系统自带的自动旋转功能即可实现应用页面的旋转,从而可以保证应用程序能够稳定、可靠的实现应用页面的旋转。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1