音视频播放方法和多媒体播放器的制造方法_3

文档序号:9814821阅读:来源:国知局
发生变化,即一直在黑屏状态即关闭状态下进行音视频播放,则无需执行步骤S212以及步骤S214。
[0063]通过本发明实施例提供的音视频播放方法,除具有实施例一中所示的音视频播放方法所具有的有益效果外,还可以在检测到设备屏幕的当前状态发生变化时,适应性地进行操作系统前台、后台工作权限的切换,以实现根据屏幕的当前状态来适应性的调整播放策略的目的,能够提升用户的使用体验。
[0064]下面参照图3,以一具体实例对本发明实施例提供的音视频播放方法进行说明。
[0065]图3示出了多媒体播放器的架构图,如图3所示,本具体实例中的多媒体播放器在现有的播放器架构的基础上引入了屏幕检测模块。当屏幕检测模块发现屏幕已经关闭即屏幕黑屏时,多路分解器则申请系统的唤醒时钟,保证音频的解码还能在操作系统的后台工作。反之,当屏幕检测模块发现屏幕开启即屏幕亮屏时,多媒体播放器则按照原有路径工作,在操作系统的前台进行音视频解码工作,以保证同时播放声音和视频。
[0066]如图3所示,本具体实例的多媒体播放器主要包括:屏幕检测模块和多路分解器。
[0067]屏幕检测模块主要以后台服务的形式存在,屏幕检测模块主要包括两个功能模块:屏幕监听模块以及通信模块,其中屏幕监听模块用于监听来自操作系统的屏幕状态事件,如:操作系统发送的回调信息,通过回调信息确定设备屏幕的当前状态并保存;通信模块用于与多路分解器进行通信,主要负责解析来自多路分解器发送的状态请求,并响应多路分解器的状态请求,将屏幕的当前状态发送至多路分解器。
[0068]多路分解器也是以后台服务的形式存在。它主要由设备的声卡的时钟触发,然后从网络上获取音视频码流即数据源,并分解音频码流和视屏码流,分别输出给音频解码器和视频解码器。
[0069]本具体实例中在多路分解器增加一个判断模块,主要用于依据接收到的屏幕的当前状态判断屏幕是开启还是关闭,如果判断出屏幕已关闭,则停止把视频码流输出给视频解码器,而仅是将音频码流输出给音频解码器,由音频解码器对音频码流进行解码,然后将解码后的数据进行音频渲染,最后将渲染后的音频数据发送至声卡进行声音播放。如果屏幕没有关闭即屏幕亮屏,则把视频码流输出给视频解码器,由视频解码器对视频码流进行解码,然后将解码后的数据进行视频渲染,然后将渲染后的视频数据发送至视频显示器进行视频播放。同时将音频码流输出给音频解码器,由音频解码器对音频码流进行解码,然后将解码后的数据进行音频渲染并将渲染后的音频数据发送至声卡进行声音播放。多路分解器还增加了一个请求模块,用于在判断出屏幕关闭即黑屏时向操作系统电源管理模块申请唤醒时钟,保证操作系统的后台服务不会在屏幕关闭的时候被系统默认停止,以实现在操作系统后台进行音频码流的解码。
[0070]本具体实例中的多媒体播放器能在屏幕黑屏状态(即特殊情况)下和屏幕亮屏状态(即正常情况)下进行切换,并能自动适应设备的特性根据屏幕的状态自动进行音视频的播放方案。即:在关闭屏幕(即屏幕黑屏)的情况下,多媒体播放器可以继续播放,并只播放声音。在打开屏幕(即屏幕亮屏)的情况下,多媒体播放器可以播放声音和视频。
[0071 ] 实施例三
[0072]参照图4,示出了本发明实施例三提供的多媒体播放器的结构框图。
[0073]本发明实施例提供的多媒体播放器包括:屏幕检测模块402和多路分解器404;其中,所述屏幕检测模块402包括:屏幕监听子模块4022,用于按照设定规则确定设备屏幕的当前状态;通信子模块4024,用于接收多路分解器发送的屏幕当前状态获取请求,响应所述请求并将所述屏幕的当前状态发送至所述多路分解器;当屏幕的当前状态为关闭状态时,所述多路分解器404用于向操作系统申请后台工作权限,以在后台进行音频码流解码;并仅将分解的音频码流发送至音频解码器进行解码,以仅进行音频播放。
[0074]通过本发明实施例提供的多媒体播放器,通过屏幕检测模块检测设备屏幕的当前状态,并将屏幕的当前状态发送至多路分解器由多路分解器来判断屏幕的当前状态为关闭或者开启。当屏幕的当前状态为黑屏即屏幕关闭时,多路分解器向操作系统申请后台工作权限,此时在后台即可通过音频解码器对音频码流进行解码,以实现在屏幕关闭状态下仅播放声音的目的。可见,本发明实施例提供的多媒体播放器,能够满足用户的个性化需求,在设备屏幕关闭的情况下,只播放声音而不播放视频。
[0075]实施例四
[0076]参照图5,示出了本发明实施例四提供的一种多媒体播放器的结构框图。
[0077]本发明实施例的多媒体播放器是对实施例三中的多媒体播放器的进一步优化,优化后的多媒体播放器包括:屏幕检测模块502和多路分解器504;其中,所述屏幕检测模块502包括:屏幕监听子模块5022,用于按照设定规则确定设备屏幕的当前状态;通信子模块5024,用于接收多路分解器发送的屏幕当前状态获取请求,响应所述请求并将所述屏幕的当前状态发送至所述多路分解器;当屏幕的当前状态为关闭状态时,所述多路分解器504用于向操作系统申请后台工作权限,以在后台进行音频码流解码;并仅将分解的音频码流发送至音频解码器进行解码,以仅进行音频播放。
[0078]优选地,所述屏幕监听子模块5022按照设定规则确定所述屏幕的当前状态时:按照设定时间间隔监听操作系统返回的回调信息,其中,所述回调信息中携带有用于指示所述屏幕的当前状态的信息;并依据所述回调信息确定所述屏幕的当前状态。
[0079]优选地,所述多路分解器504包括:请求子模块5042,用于所述多路分解器向操作系统申请后台工作权限时,向操作系统的电源管理模块申请唤醒时钟,以向操作系统申请在后台调用音频解码器进行音频码流解码。
[0080]优选地,所述多路分解器504还包括:切换子模块5044,用于当屏幕的当前状态转为开启时,唤醒由声卡控制的时钟,向操作系统申请前台工作权限,以在前台进行视频码流以及音频码流的解码。
[0081 ] 优选地,所述多路分解器504还包括:判断子模块5046,用于在所述切换子模块向操作系统申请前台工作权限之后,分别将视频码流发送至视频解码器进行解码,将音频码流发送至音频解码器进行解码。
[0082]本发明实施例的多媒体播放器用于实现前述实施例一、二中相应的音视频播放方法,并具有与方法实施例相应的有益效果,在此不再赘述。
[0083]对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0084]在此提供的音视频播放方案不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造具有本发明方案的系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0085]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1