显示终端信源切换方法及装置的制造方法

文档序号:10516382阅读:203来源:国知局
显示终端信源切换方法及装置的制造方法
【专利摘要】本发明公开了一种显示终端信源切换方法,该方法包括:监测是否收到用户输入的信源切换指令;当监测到信源切换指令时,强制停止处于运行状态的底层播放器,并释放底层播放器占用的硬件资源;关闭当前信源,并将显示终端信源切换至信源切换指令对应的目标信源。本发明还公开一种显示终端信源切换装置。本发明在监测到信源切换指令时,及时关闭当前处于运行状态的底层播放器,及时释放该底层播放器所占用的硬件资源,从而显示终端切换至目标信源后能够顺利申请到硬件资源,及时播放出目标信源提供的影音数据,避免出现智能电视切换信源申请不到硬件资源的情形,进而解决了显示终端切换信源播放模式容易出现黑屏无声的技术问题。
【专利说明】
显示终端信源切换方法及装置
技术领域
[0001]本发明涉及显示器技术领域,尤其涉及一种显示终端信源切换方法及装置。
【背景技术】
[0002]随着显示技术的不断发展,越来越多的显示终端(例如智能电视、平板电脑、智能手机等)能够同时支持多媒体信源播放模式和基于电视信源的电视信源播放模式,当显示终端处于多媒体信源播放模式时,显示终端播放网络在线视频、用户推送视频、本地存储视频;当显示终端处于电视信源播放模式时,显示终端根据电视信源播放电视节目。但是,当显示终端从多媒体信源播放模式直接切换至电视信源播放模式,或者从电视信源播放模式切换至多媒体信源播放模式时,显示终端往往由于资源冲突的原因,导致显示终端底层播放器无法及时获取支持多媒体播放或电视节目播放的硬件资源(例如音视频解码芯片、显存等),从而显示终端容易容易出现因无信号输入而导致的黑屏无声的问题。

【发明内容】

[0003]本发明的主要目的在于提供一种应用列表同步方法及装置,旨在解决显示终端切换信源播放模式容易出现黑屏无声的技术问题。
[0004]为实现上述目的,本发明提供的一种显示终端信源切换方法,该显示终端信源切换方法包括:
[0005]监测是否收到用户输入的信源切换指令;
[0006]当监测到所述信源切换指令时,强制停止处于运行状态的底层播放器,并释放所述底层播放器占用的硬件资源;及
[0007]当所述硬件资源释放完成或释放硬件资源的时间超出预设时长时,切换所述显示终端的信源至与所述信源切换指令对应的目标信源。
[0008]优选地,该方法还包括:
[0009]在所述显示终端进入安卓系统,且开启多媒体服务进程时,监测该显示终端是否收到用户输入的信源切换指令。
[0010]优选地,该方法还包括:
[0011]分别创建表示信源切换动作开始和完成信源属性值,表示底层播放器运行和停止的播放器属性值。
[0012]优选地,该方法还包括:
[0013]在监测到所述信源切换指令时,将所述信源属性值置为预设开始标志值;
[0014]在信源切换完成时,将所述信源属性值置为预设结束标志值;
[0015]在底层播放器开始运行时,将所述播放器属性值置为预设运行标志值;
[0016]在底层播放器占用的硬件资源释放完成或释放硬件资源的时间超出预设时长时,将所述播放器属性值置为预设结束标志值。
[0017]优选地,该方法包括:
[0018]监测所述信源属性值是否被置为预设开始标志值;
[0019]在所述信源属性值被置为预设开始标志值时,强制停止播放器属性值被置为预设运行标志值的底层播放器,并释放所述底层播放器占用的硬件资源;及
[0020]在所述信源属性值被置为预设结束标志值时,切换所述显示终端的信源至与所述信源切换指令对应的目标信源。
[0021]本发明还提供一种显示终端信源切换装置,该显示终端信源切换装置包括:
[0022]指令监测模块,用于监测是否收到用户输入的信源切换指令;
[0023]资源释放模块,用于当监测到所述信源切换指令时,强制停止处于运行状态的底层播放器,并释放所述底层播放器占用的硬件资源;
[0024]信源切换模块,用于当所述硬件资源释放完成或释放硬件资源的时间超过预设时长时,切换所述显示终端的信源至所述信源切换指令对应的目标信源。
[0025]优选地,所述指令监测模块还用于:
[0026]在所述显示终端进入安卓系统,且开启多媒体服务进程时,监测该显示终端是否收到用户输入的信源切换指令。
[0027]优选地,所述显示终端信源切换装置还包括:
[0028]属性创建模块,用于分别创建表示信源切换动作开始和完成信源属性值,表示底层播放器运行和停止的播放器属性值。
[0029]优选地,所述显示终端信源切换装置还包括属性设置模块,所述属性设置模块包括:
[0030]第一设置单元,用于在监测到所述信源切换指令时,将所述信源属性值置为预设开始标志值;
[0031]第二设置单元,用于在信源切换完成时,将所述信源属性值置为预设结束标志值;
[0032]第三设置单元,用于在底层播放器开始运行时,将所述播放器属性值置为预设运行标志值;
[0033]第四设置单元,用于在底层播放器占用的硬件资源释放完成或释放硬件资源的时间超出预设时长时,将所述播放器属性值置为预设结束标志值。
[0034]优选地,所述资源释放模块包括:
[0035]监测单元,用于监测所述信源属性值是否被置为预设开始标志值;
[0036]释放单元,用于在所述信源属性值被置为预设开始标志值时,强制停止播放器属性值被置为预设运行标志值的底层播放器,并释放所述底层播放器占用的硬件资源;
[0037]所述信源切换模块,用于在所述信源属性值被置为预设结束标志值时,切换所述显示终端的信源至与所述信源切换指令对应的目标信源。
[0038]本发明通过实时监测是否收到用户输入的信源切换指令,当监测到信源切换指令时,强制停止处于运行状态的底层播放器,并释放底层播放器占用的硬件资源,然后关闭当前信源,并将显示终端信源切换至信源切换指令对应的目标信源,从而在监测到信源切换指令时,及时关闭当前处于运行状态的底层播放器,及时释放该底层播放器所占用的硬件资源,从而显示终端切换至目标信源后能够顺利申请到硬件资源,及时播放出目标信源提供的影音数据,避免出现智能电视切换信源申请不到硬件资源的情形,进而解决了显示终端切换信源播放模式容易出现黑屏无声的技术问题。
【附图说明】
[0039]图1为本发明显示终端信源切换方法第一实施例的流程示意图;
[0040]图2为本发明显示终端信源切换方法第二实施例的流程示意图;
[0041]图3为本发明显示终端信源切换方法第三实施例的流程示意图;
[0042]图4为本发明显示终端一实施例中安卓系统播放视频的框架图;
[0043]图5为本发明显示终端信源切换装置第一实施例的功能模块示意图;
[0044]图6为本发明显示终端信源切换装置第三实施例的功能模块示意图。
[0045]本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
【具体实施方式】
[0046]应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0047]本发明提供一种显示终端信源切换方法,在本发明显示终端信源切换方法的第一实施例中,参照图1,该显示终端信源切换方法包括:
[0048]步骤S10,监测是否收到用户输入的信源切换指令;
[0049]本申请中的显示终端可以为智能电视、平板电脑、电脑显示器等,以下以智能电视为例,智能电视一般包括多媒体信源播放模式和电视信源播放模式。智能电视处于多媒体信源播放模式下,智能电视获取待播放视频主要有网络获取途径和本地获取途径,其中网络获取途径主要为:I)在Launcher(桌面)界面或者通过某个视频应用进行点播网络视频;
2)用户通过微信等通信软件向智能电视推送在线视频;3)通过多屏互动来推送在线视频;本地获取途径为:提取存放在外接储存设备(例如U盘)中或通过网络下载到本地(即智能电视本端)的视频文件。
[0050]智能电视处于电视信源播放模式下,智能电视获取待播放视频主要是基于不同的音像传输接口技术(例如ATV(Analog TV,模拟信号输入电视)、DTV(Digital TV,数字信号输入电视)、HDMI (High Definit1n Multimedia Interface,高清晰度多媒体接口)、AV(Aud1&Video,音频视频复合信号)、VGA(Video Graphics Array,视频图形阵列)等)所获取的电视节目信号。
[0051]当用户需要切换智能电视的信源时,用户可以操作遥控器或语音小助手向智能电视发送信源切换指令,以将智能电视从当前信源切换至目标信源,或者从无信源状态切换至目标信源。智能电视的信源主要包括多媒体信源和电视信源,信源切换场景主要有两种场景,场景一:从多媒体信源切换至电视信源,例如智能电视从使用视频应用(例如爱奇艺或腾讯视频)播放在线视频切换至电视信源、从播放微信或多屏互动推送的在线视频切换至DTV电视信源、从使用媒体中心应用播放U盘中的视频切换至HDMI电视信源;场景二,从电视信源切换至多媒体信源,例如智能电视在播放DTV,此时用户使用微信向智能电视推送在线视频。用户在以上两种场景下,只需操作控制遥控器向智能电视发送信源切换指令以达到信源切换的效果。
[0052]步骤S20,当监测到信源切换指令时,强制停止处于运行状态的底层播放器,并释放底层播放器占用的硬件资源;
[0053]当显示终端监测到用户发送的信源切换指令时,检测显示终端的底层播放器是否处于运行状态,当底层播放器处于停止状态时,表明当前显示终端中支撑播放视频的硬件资源没有被占用,显示终端无论处于多媒体信源还是电视信源都能及时获取到所需硬件资源,不会出现黑屏无声现象;当底层播放器处于运行状态,表明此时显示终端中的硬件资源被底层播放器占用,即当前显示终端开启了信源,若此时基于信源切换指令将当前信源切换至目标信源,则当前信源无法及时释放硬件资源,而目标信源又无法申请到硬件资源,导致显示终端无法显示图像而出现黑屏无声问题。所以,在监测到信源切换指令且同时检测到底层播放器处于运行状态时,强制停止该处于运行状态的底层播放器,并将该底层播放器所占用的硬件资源释放出来。
[0054]步骤S30,当硬件资源释放完成或释放硬件资源的时间超出预设时长时,切换显示终端的信源至与信源切换指令对应的目标信源。
[0055]在释放底层播放器占用的硬件资源之后或释放硬件资源的时长超出预设时长时,关闭显示终端的当前信源,并将显示终端信源切换至信源切换指令对应的目标信源。例如,当前信源为多媒体信源,目标信源为电视信源,显示终端在接收到信源切换指令时,关闭多媒体信源对应底层播放器,并释放该对应底层播放器所占用的硬件资源,然后关闭多媒体信源,打开电视信源,电视信源申请并获得硬件资源以在对应底层播放器上播放电视信源对应的视频节目。
[0056]在本实施例中,通过监测是否收到用户输入的信源切换指令,当监测到信源切换指令时,强制停止处于运行状态的底层播放器,并释放底层播放器占用的硬件资源,然后在硬件资源释放完成或释放硬件资源的时间超出预设时长时,切换显示终端的信源至与信源切换指令对应的目标信源,从而在监测到信源切换指令时,及时关闭当前处于运行状态的底层播放器,及时释放该底层播放器所占用的硬件资源,从而显示终端切换至目标信源后能够顺利申请到硬件资源,及时播放出目标信源提供的影音数据,避免出现智能电视切换信源申请不到硬件资源的情形,进而解决了显示终端切换信源播放模式容易出现黑屏无声的技术问题。
[0057]此外,本发明实现简单、通用性高,实现了用户在看智能电视的同时随意推送在线视频,或从播放视频的过程中随意切换到TV等多种场景,从而极大的提升了智能电视(即显示终端)的用户体验。同时,本发明的改进是对显示终端系统框架层(例如多媒体服务进程)进行改进,在不需要修改显示终端内视频应用的前提下,保证显示终端中多个视频应用同时兼容本发明的方案,具有较强的通用性。
[0058]进一步地,在本发明显示终端信源切换方法第一实施例的基础上,提出显示终端信源切换方法第二实施例,参照图2,在第二实施例中,步骤SlO包括:
[0059]步骤Sll,在显示终端进入安卓系统,且开启多媒体服务进程时,监测该显示终端是否收到用户输入的信源切换指令。
[0060]—般而言,显示终端播放不同信源对应数据(例如不同的片源或视频APP)会使用不同的播放器,而切换信源这个操作一般是用户主动发起的,所以在显示终端进入安卓系统后,若显示终端开启多媒体服务进程,开始播放多媒体数据或电视节目时,此时创建一个线程来实时监测显示终端是否收到用户输入的信源切换指令,从而有针对性地在显示终端开启多媒体服务进程后,才实时监测是否收到用户输入的信源切换指令,避免在显示终端处于桌面界面等非多媒体服务进程中时,也进行信源切换指令的监测,提高了显示终端系统运行效率。
[0061]进一步地,在本发明显示终端信源切换方法第一实施例的基础上,提出显示终端信源切换方法第三实施例,参照图3,在第三实施例中,步骤SlO之前还包括:
[0062]步骤S40,分别创建表示信源切换动作开始和完成的信源属性值,表示底层播放器运行和停止的播放器属性值;
[0063]本发明的核心设计思想就是通过Android Property属性来同步四个进程间的通讯,四个进程分别是:播放视频进程,mediaserver底层播放器服务进程,切换信源的中间件进程,TV apk进程。
[0064]首先,在MediaPlayerService里面创建一个线程来监听是否有切换信源的动作(即信源切换属性的标志位),并且在各个类型的底层播放器创建时会置一个标示是否正在使用的播放器属性值,其中,播放器属性值设为mediaplayer.used?,当底层播放器为运行时,mediaplayer.used? = l,当底层播放器为停止时,mediaplayer.used? = 0;将信源属性值设为mediap layer.force.stop,当信源切换动作为开始时,mediap layer.force.stop =I,当信源切换动作为完成时,mediaplayer.force.stop = 0,便于显示终端系统基于信源属性值识别信源切换动作,基于播放器属性值识别底层播放器运行状态。
[0065]此外,步骤S40也可以在步骤SlO之后。
[0066]优选地,步骤S20包括:
[0067]步骤S21,在监测到信源切换指令时,将信源属性值置为预设开始标志值;
[0068]步骤S22,在信源切换完成时,将信源属性值置为预设结束标志值;
[0069]在用户选择信源菜单开始切信源的时候,即监测到信源切换指令时,中间件进程会设置切换信源的标志位,即将信源切换属性置为预设开始标志值(mediaplayer.force.stop = I)。在显示终端的信源切换完成时,将信源属性值置为预设结束标志值(mediaplayer.force.stop = 0)。
[0070]步骤S23,在底层播放器开始运行时,将播放器属性值置为预设运行标志值;
[0071]步骤S24,在底层播放器占用的硬件资源释放完成或释放硬件资源的时间超出预设时长时,将播放器属性值置为预设结束标志值。
[0072]在显示终端正常运行时,底层播放器在播放多媒体文件时,将该底层播放器的播放器属性值置为预设运行标志值。显示终端的MediaPlayerService底层播放器服务进程在收到切换信源的标志(mediap layer, force, stop= I)以后,S卩在检测到信源属性置为预设开始标志值时,强制停止播放器属性值为预设运行标志值的底层播放器,并释放底层播放器所占用的硬件资源,重置播放器属性值,即将播放器属性值置为预设结束标志值(mediaplayer.used? = 0),表示底层播放器的硬件资源释放完成。
[0073]在本实施例中,创建标示信源切换动作开始或完成的信源属性值,并在底层播放器创建时设置一个标示底层播放器运行或停止的播放器属性值,播放器属性值是为了告诉显示终端底层播放器的使用情况,信源属性值是为了告诉显示终端准备进行信源切换了,利用这两个属性值实现信源切换和硬件资源释放的同步,使显示终端检测到信源属性值为预设开始标志值时,尽快释放对应底层播放器的硬件资源,以使显示终端切换信源后能够正常显示图像和播放声音,进一步提高了信源切换和硬件资源释放的同步效率。
[0074]进一步地,在本发明显示终端信源切换方法第三实施例的基础上,提出显示终端信源切换方法第四实施例,在第四实施例中,步骤S30包括:
[0075]步骤S31,监测信源属性值是否被置为预设开始标志值;
[0076]步骤S32,在信源属性值被置为预设开始标志值时,强制停止播放器属性值被置为预设运行标志值的底层播放器,并释放底层播放器占用的硬件资源;及
[0077]步骤S33,在信源属性值被置为预设结束标志值时,切换显示终端的信源至与所述信源切换指令对应的目标信源。
[0078]显示终端在接收到信源切换指令后,将信源属性值置为预设开始标值,当检测到当前信源对应底层播放器的播放器属性为停止结束标志值(mediaplayer.used? = O)时,表明此时底层播放器已经释放了所占用的硬件资源,可以进行后续的信源切换;或者当自监测到信源切换指令累计达预设时长(例如10S,timeOut(10S))时,表明此时推定底层播放器已经释放了所占用的硬件资源,将信源属性值置为预设结束标志值(mediaplayer.force.Stop = O),表示切换信源的动作完成,然后关闭当前信源,打开信源切换指令对应的目标信源。这样,通过对当前信源对应底层播放器的播放器属性变化的检测或者对监测到信源切换指令的累计时长进行统计,在确保当前信源对应底层播放器已经释放了其所占用的硬件资源之后,才将信源属性值置为预设结束标志值,以关闭当前信源,打开信源切换指令对应的目标信源,提供了一种避免出现硬件资源未释放而进行信源切换的机制,杜绝显示终端进行信源切换而出现黑屏无声现象。
[0079]在显示终端检测到硬件资源释放完毕时,关闭当前信源。由于当前信源的关闭到目标信源切换完毕需要短暂时间,在当前信源关闭之后,显示终端没有信号输入,可能会出现较为短暂的黑屏无声情景,这无疑会影响到用户的体验,例如用户可能会误以为显示终端出故障了,此时若显示预设等待画面,例如预设等待画面上提示正在进行信源切换,避免用户进行不必要的担忧,或者预设等待画面为预存的推广广告画面,开发了显示终端的广告价值。在显示预设等待画面的同时,将显示终端信源切换至信源切换指令对应的目标信源。
[0080]为了辅助理解本发明显示终端信源切换方法,参照图4,在此引用显示终端android(安卓)系统的关于mediaplayer播放流程的一个框架图,本发明主要的修改就是涉及到mediap layer 框架的NATIVE 层,libmediaplayerservice.so ,libstagefright.so等,这里对于监测信源切换指令的监听线程优选放在mediaserver进程里面,主要是考虑Android的很多服务都是一对多个客户端,这样能够保证状态的一致性,如果选择在客户端来启动监听线程也可以,但是当同时启动多个视频应用的客户端的时候,就会导致状态不一致的问题发生。
[0081]以下以两种智能电视应用场景为例,辅助解释本发明显示终端信源切换方法,具体内容如下:
[0082]应用场景一,播放视频界面切换TV信源,具体的步骤如下:
[0083]STEP 1:智能电视开机启动Android系统后,启动MediaServer进程,然后会在原生的medeiaplayerservice服务里面添加一个监听线程;
[0084]STEP 2:用户选择视频应用,显示终端开始播放视频,显示终端调用相应的底层播放器开始播放视频,并创建一个property属性(mediaplayer.used= I,即播放器属性值为预设运行标志值);
[0085]STEP 3:在显示终端播放视频的过程中,用户使用遥控器的信源按键输出信源切换指令,以将显示终端的信源切换到TV信源;
[0086]STEP4:在切换过程中,中间件进程会创建另一个property属性(mediaplayer.force.stop = I,即信源属性值为预设开始标志值);
[0087]STEP5: MediaPlayerServi ce监听mediap layer.force.stop 的属性,在收到切换信源的标志(即若mediaplayer.force.stop= I)时,强制停止播放视频的对应底层播放器,并开始释放相应底层播放器硬件资源,并在硬件资源释放完成之后重置标志(mediaplayer.used? = 0,即播放器属性值为预设结束标志值),表示底层播放器的硬件资源释放完成;
[0088]STEP 6:中间件进程在关闭当前信源时,会查询mediaplayer.used是否为0,如果为O,那说明播放器资源已经释放结束,接着就会置mediaplayer.force.stop = 0,即信源属性值为预设结束标志值,表示切换信源的动作完成;
[0089]此处,也可以统计属性mediaplayer.force.stop = I所持续的时长,若该持续的时长大于预设时长时,说明推定播放器资源已经释放结束,置mediaplayer.force.stop = 0,表示切换信源的动作完成。
[0090]STEP 7:当关闭当前信源后,就会打开到指定的TV信源。
[0091]上述的过程中三个进程间的property同步尤为重要,主要是通过设定两个property属性来进行同步,在播放视频的时候设定第一个property (mediaplayer.used?)是为了告诉系统我们正在使用播放器,而在切TV信源时设定第二个property(mediaplayer.force, stop)是为了告诉系统,我们要开始切信源,这样监听到后可以尽快的释放播放器所占用的硬件资源,将释放后的硬件资源给TV信源使用,这样就可以正常显示图像和声音了。
[0092]应用场景二,非播放视频界面切换TV信源的流程,具体的步骤如下:
[0093]STEPl:智能电视开机启动Android系统后,启动MediaServer进程,然后会在原生的medeiaplayerservice服务里面添加一个监听线程;
[0094]STEP 2:用户在TV信源下或是在其他非视频类应用的界面,使用遥控器的信源按键切换显示终端到其他的TV信源;
[0095]STEP3:在显示终端信源切换过程中,中间件进程会设置property的标志(mediaplayer.force.stop = I);
[0096]STEP 4:mediaservice进程判断mediaplayer.force.stop是否为I,如果为I,那就强制停止当前所有的底层播放器,并释放底层播放器相关的硬件资源,但是这种情况下,是没有任何的播放器在播放的,所以就没有释放资源的动作,而且由于没有创建播放器,所以这个时候 mediaplayer.Used = O;
[0097]STEP 5:中间件进程在关闭当前信源时,这时会查询到mediap layer.used为O,说明底层播放器的硬件资源已经释放结束,接着就会置P r O P e r t y属性mediaplayer.force.Stop = O,
[0098]STEP 6:当关闭当前信源后,就会打开到指定的TV信源。
[0099]本发明显示终端信源切换方法的方案只是在通用的播放视频的流程多了一个监听线程和两个P r ο P e r t y标志位,流程上和一般的智能电视播放视频一样,通过在mediaplayer框架层的修改,可以在不需要修改应用的情况下就可以解决显示终端切换信源出现黑屏无声的问题,同时也很好兼容智能电视的视频应用。此外,本发明显示终端信源切换方法也是提供了一种概念,不仅在智能电视可以使用,其他领域(例如智能手机)相类似设备的也可以使用到这种方法来做相关的扩展。
[0100]本发明还提供一种显示终端信源切换装置,该显示终端信源切换装置可以设置在显示终端中,参照图5,在本发明显示终端信源切换装置第一实施例中,该显示终端信源切换装置包括:
[0101]指令监测模块10,用于监测是否收到用户输入的信源切换指令;
[0102]当用户需要切换智能电视的信源时,用户可以操作遥控器或语音小助手向智能电视发送信源切换指令,以将智能电视从当前信源切换至目标信源,或者从无信源状态切换至目标信源。智能电视的信源主要包括多媒体信源和电视信源,信源切换场景主要有两种场景,场景一:从多媒体信源切换至电视信源,例如智能电视从使用视频应用(例如爱奇艺或腾讯视频)播放在线视频切换至电视信源、从播放微信或多屏互动推送的在线视频切换至DTV电视信源、从使用媒体中心应用播放U盘中的视频切换至HDMI电视信源;场景二,从电视信源切换至多媒体信源,例如智能电视在播放DTV,此时用户使用微信向智能电视推送在线视频。用户在以上两种场景下,只需操作控制遥控器向智能电视发送信源切换指令,以达到信源切换的效果,指令监测模块10实时监测用户输入的信源切换指令。
[0103]资源释放模块20,用于当监测到信源切换指令时,强制停止处于运行状态的底层播放器,并释放底层播放器占用的硬件资源;
[0104]当显示终端监测到用户发送的信源切换指令时,资源释放模块20检测显示终端的底层播放器是否处于运行状态,当底层播放器处于停止状态时,表明当前显示终端中支撑播放视频的硬件资源没有被占用,显示终端无论处于多媒体信源还是电视信源都能及时获取到所需硬件资源,不会出现黑屏无声现象;当底层播放器处于运行状态,表明此时显示终端中的硬件资源被底层播放器占用,即当前显示终端开启了信源,若此时基于信源切换指令将当前信源切换至目标信源,则当前信源无法及时释放硬件资源,而目标信源又无法申请到硬件资源,导致显示终端无法显示图像而出现黑屏无声问题。所以,在监测到信源切换指令且同时检测到底层播放器处于运行状态时,资源释放模块20强制停止该处于运行状态的底层播放器,并将该底层播放器所占用的硬件资源释放出来。
[0105]信源切换模块30,用于当硬件资源释放完成或释放硬件资源的时间超过预设时长时,切换显示终端的信源至信源切换指令对应的目标信源。
[0106]在释放底层播放器占用的硬件资源之后或释放硬件资源的时长超出预设时长时,信源切换模块30关闭显示终端的当前信源,并将显示终端信源切换至信源切换指令对应的目标信源。例如,当前信源为多媒体信源,目标信源为电视信源,显示终端在接收到信源切换指令时,关闭多媒体信源对应底层播放器,并释放该对应底层播放器所占用的硬件资源,然后关闭多媒体信源,打开电视信源,电视信源申请并获得硬件资源以在对应底层播放器上播放电视信源对应的视频节目。
[0107]在本实施例中,通过指令监测模块10监测是否收到用户输入的信源切换指令,当监测到信源切换指令时,资源释放模块20强制停止处于运行状态的底层播放器,并释放底层播放器占用的硬件资源,然后在硬件资源释放完成或释放硬件资源的时间超出预设时长时,信源切换模块30切换显示终端的信源至与信源切换指令对应的目标信源,从而在监测到信源切换指令时,及时关闭当前处于运行状态的底层播放器,及时释放该底层播放器所占用的硬件资源,从而显示终端切换至目标信源后能够顺利申请到硬件资源,及时播放出目标信源提供的影音数据,避免出现智能电视切换信源申请不到硬件资源的情形,进而解决了显示终端切换信源播放模式容易出现黑屏无声的技术问题。
[0108]此外,本发明实现简单、通用性高,实现了用户在看智能电视的同时随意推送在线视频,或从播放视频的过程中随意切换到TV等多种场景,从而极大的提升了智能电视(即显示终端)的用户体验。同时,本发明的改进是对显示终端系统框架层(例如多媒体服务进程)进行改进,在不需要修改显示终端内视频应用的前提下,保证显示终端中多个视频应用同时兼容本发明的方案,具有较强的通用性。
[0109]进一步地,在本发明显示终端信源切换装置第一实施例的基础上,提出显示终端信源切换装置第二实施例,在第二实施例中,指令监测模块10还用于:
[0110]在显示终端进入安卓系统后,且开启多媒体服务进程时,监测该显示终端是否收到用户输入的信源切换指令。
[0111]一般而言,显示终端播放不同信源对应数据(例如不同的片源或视频APP)会使用不同的播放器,而切换信源这个操作一般是用户主动发起的,所以在显示终端进入安卓系统后,若显示终端开启多媒体服务进程,开始播放多媒体数据或电视节目时,此时指令监测模块10创建一个线程来实时监测显示终端是否收到用户输入的信源切换指令,从而有针对性地在显示终端开启多媒体服务进程后,才实时监测是否收到用户输入的信源切换指令,避免在显示终端处于桌面界面等非多媒体服务进程中时,也进行信源切换指令的监测,提高了显示终端系统运行效率。
[0112]进一步地,在本发明显示终端信源切换装置第一实施例的基础上,提出显示终端信源切换装置第三实施例,参照图6,在第三实施例中,显示终端信源切换还包括:
[0113]属性创建模块40,用分别创建表示信源切换动作开始和完成的信源属性值,表示底层播放器运行和停止的播放器属性值。
[0114]本发明的核心设计思想就是通过Android Property属性来同步四个进程间的通讯,四个进程分别是:播放视频进程,mediaserver底层播放器服务进程,切换信源的中间件进程,TV apk进程。
[0115]首先,指令监测模块10在MediaPlayerService里面创建一个线程来监听是否有切换信源的动作(即信源切换属性的标志位),并且属性创建模块40在各个类型的底层播放器创建时会置一个标示是否正在使用的播放器属性值,其中,播放器属性值设为mediaplayer.used?,当底层播放器为运行时,mediaplayer.used? = I,当底层播放器为停止时,mediaplayer.used? = 0;将信源属性值设为mediaplayer.force.stop,当信源切换动作为开始时,mediaplayer.force.Stop = I,当信源切换动作为完成时,mediaplayer.force.Stop = O,便于显示终端系统基于信源属性值识别信源切换动作,基于播放器属性值识别底层播放器运行状态。
[0116]优选地,显示终端信源切换装置还包括属性设置模块50,属性设置模块50包括:
[0117]第一设置单元51,用于在监测到所述信源切换指令时,将所述信源属性值置为预设开始标志值;
[0118]第二设置单元52,用于在信源切换完成时,将所述信源属性值置为预设结束标志值;
[0119]第三设置单元53,用于在底层播放器开始运行时,将所述播放器属性值置为预设运行标志值;
[0120]第四设置单元54,用于在底层播放器占用的硬件资源释放完成或释放硬件资源的时间超出预设时长时,将所述播放器属性值置为预设结束标志值。
[0121]在用户选择信源菜单开始切信源的时候,即监测到信源切换指令时,第一设置单元5 I会设置切换信源的标志位,即将信源切换属性置为预设开始标志值(mediaplayer.force.stop = I)。在显示终端的信源切换完成时,第二设置单元52将信源属性值置为预设结束标志值(mediap layer.force.Stop = O)。
[0122]在显示终端正常运行时,底层播放器在播放多媒体文件时,第三设置单元53将该底层播放器的播放器属性值置为预设运行标志值。显示终端的MediaPlayerService底层播放器服务进程在收到切换信源的标志(mediaplayer.force.stop = I)以后,即在检测到信源属性置为预设开始标志值时,强制停止播放器属性值为预设运行标志值的底层播放器,并释放底层播放器所占用的硬件资源,重置播放器属性值,即第四设置单元54将播放器属性值置为预设结束标志值(mediaplayer.used? = 0),表示底层播放器的硬件资源释放完成。
[0123]在本实施例中,创建标示信源切换动作开始或完成的信源属性值,并在底层播放器创建时设置一个标示底层播放器运行或停止的播放器属性值,播放器属性值是为了告诉显示终端底层播放器的使用情况,信源属性值是为了告诉显示终端准备进行信源切换了,利用这两个属性值实现信源切换和硬件资源释放的同步,使显示终端检测到信源属性值为预设开始标志值时,尽快释放对应底层播放器的硬件资源,以使显示终端切换信源后能够正常显示图像和播放声音,进一步提高了信源切换和硬件资源释放的同步效率。
[0124]进一步地,在本发明显示终端信源切换装置第三实施例的基础上,提出显示终端信源切换装置第四实施例,在第四实施例中,资源释放模块20包括:
[0125]监测单元21,用于监测信源属性值是否被置为预设开始标志值;
[0126]释放单元22,用于在信源属性值被置为预设开始标志值时,强制停止播放器属性值被置为预设运行标志值的底层播放器,并释放底层播放器占用的硬件资源;
[0127]信源切换模块30,用于在信源属性值被置为预设结束标志值时,切换显示终端的信源至与信源切换指令对应的目标信源。
[0128]显示终端在接收到信源切换指令后,将信源属性值置为预设开始标值,当检测到当前信源对应底层播放器的播放器属性为停止结束标志值(mediaplayer.used? = O)时,表明此时底层播放器已经释放了所占用的硬件资源,可以进行后续的信源切换;或者当自监测到信源切换指令累计达预设时长(例如10S,timeOut(10S))时,表明此时推定底层播放器已经释放了所占用的硬件资源,将信源属性值置为预设结束标志值(mediaplayer.force.Stop = O),表示切换信源的动作完成,信源切换模块30关闭当前信源,打开信源切换指令对应的目标信源。这样,通过监测单元21对当前信源对应底层播放器的播放器属性变化的检测或者对监测到信源切换指令的累计时长进行统计,在确保当前信源对应底层播放器已经释放了其所占用的硬件资源之后,释放单元22才将信源属性值置为预设结束标志值,以关闭当前信源,打开信源切换指令对应的目标信源,提供了一种避免出现硬件资源未释放而进行信源切换的机制,杜绝显示终端进行信源切换而出现黑屏无声现象。
[0129]在显示终端检测到硬件资源释放完毕时,关闭当前信源。由于当前信源的关闭到目标信源切换完毕需要短暂时间,在当前信源关闭之后,显示终端没有信号输入,可能会出现较为短暂的黑屏无声情景,这无疑会影响到用户的体验,例如用户可能会误以为显示终端出故障了,此时若显示预设等待画面,例如预设等待画面上提示正在进行信源切换,避免用户进行不必要的担忧,或者预设等待画面为预存的推广广告画面,开发了显示终端的广告价值。在显示预设等待画面的同时,将显示终端信源切换至信源切换指令对应的目标信源。
[0130]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如R0M/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,月艮务器,空调器,或者网络设备等)执行本发明各个实施例的方法。
[0131]以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
【主权项】
1.一种显示终端信源切换方法,其特征在于,该显示终端信源切换方法包括: 监测是否收到用户输入的信源切换指令; 当监测到所述信源切换指令时,强制停止处于运行状态的底层播放器,并释放所述底层播放器占用的硬件资源;及 当所述硬件资源释放完成或释放硬件资源的时间超出预设时长时,切换所述显示终端的信源至与所述信源切换指令对应的目标信源。2.如权利要求1所述的显示终端信源切换方法,其特征在于,该方法还包括: 在所述显示终端进入安卓系统,且开启多媒体服务进程时,监测该显示终端是否收到用户输入的信源切换指令。3.如权利要求1或2所述的显示终端信源切换方法,其特征在于,该方法还包括: 分别创建表示信源切换动作开始和完成的信源属性值,表示底层播放器运行和停止的播放器属性值。4.如权利要求3所述的显示终端信源切换方法,其特征在于,该方法还包括: 在监测到所述信源切换指令时,将所述信源属性值置为预设开始标志值; 在信源切换完成时,将所述信源属性值置为预设结束标志值; 在底层播放器开始运行时,将所述播放器属性值置为预设运行标志值; 在底层播放器占用的硬件资源释放完成或释放硬件资源的时间超出预设时长时,将所述播放器属性值置为预设结束标志值。5.如权利要求4所述的显示终端信源切换方法,其特征在于,该方法包括: 监测所述信源属性值是否被置为预设开始标志值; 在所述信源属性值被置为预设开始标志值时,强制停止播放器属性值被置为预设运行标志值的底层播放器,并释放所述底层播放器占用的硬件资源;及 在所述信源属性值被置为预设结束标志值时,切换所述显示终端的信源至与所述信源切换指令对应的目标信源。6.一种显示终端信源切换装置,其特征在于,该显示终端信源切换装置包括: 指令监测模块,用于监测是否收到用户输入的信源切换指令; 资源释放模块,用于当监测到所述信源切换指令时,强制停止处于运行状态的底层播放器,并释放所述底层播放器占用的硬件资源; 信源切换模块,用于当所述硬件资源释放完成或释放硬件资源的时间超过预设时长时,切换所述显示终端的信源至所述信源切换指令对应的目标信源。7.如权利要求6所述的显示终端信源切换装置,其特征在于,所述指令监测模块还用于: 在所述显示终端进入安卓系统,且开启多媒体服务进程时,监测该显示终端是否收到用户输入的信源切换指令。8.如权利要求6或7所述的显示终端信源切换装置,其特征在于,所述显示终端信源切换装置还包括: 属性创建模块,用于分别创建表示信源切换动作开始和完成信源属性值,表示底层播放器运行和停止的播放器属性值。9.如权利要求8所述的显示终端信源切换装置,其特征在于,所述显示终端信源切换装置还包括属性设置模块,所述属性设置模块包括: 第一设置单元,用于在监测到所述信源切换指令时,将所述信源属性值置为预设开始标志值; 第二设置单元,用于在信源切换完成时,将所述信源属性值置为预设结束标志值;第三设置单元,用于在底层播放器开始运行时,将所述播放器属性值置为预设运行标志值; 第四设置单元,用于在底层播放器占用的硬件资源释放完成或释放硬件资源的时间超出预设时长时,将所述播放器属性值置为预设结束标志值。10.如权利要求9所述的显示终端信源切换装置,其特征在于, 所述资源释放模块包括: 监测单元,用于监测所述信源属性值是否被置为预设开始标志值; 释放单元,用于在所述信源属性值被置为预设开始标志值时,强制停止播放器属性值被置为预设运行标志值的底层播放器,并释放所述底层播放器占用的硬件资源; 所述信源切换模块,用于在所述信源属性值被置为预设结束标志值时,切换所述显示终端的信源至与所述信源切换指令对应的目标信源。
【文档编号】H04N21/442GK105872768SQ201610248579
【公开日】2016年8月17日
【申请日】2016年4月20日
【发明人】严力
【申请人】深圳Tcl数字技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1