本发明涉及dlna领域,尤其涉及dlna推送处理方法、多媒体接收端及存储介质。
背景技术:
dlna(digitallivingnetworkalliance)由索尼、英特尔、微软等发起成立、旨在解决个人pc,消费电器,移动设备在内的无线网络和有线网络的互联互通,使得数字媒体和内容服务的无限制的共享和增长成为可能,目前成员公司已达280多家。dlna并不是创造技术,而是形成一种解决的方案,一种大家可以遵守的规范。
随着dlna在各类设备中的普遍应用,提升用户体验显得尤为重要。因为dlna是一套大家共同遵循的一套规范,但是目前在多设备同时推送时还是有一些漏洞,可能出现多媒体接收端处理的推送命令不为同一dlna终端发送的情况发生,导致多媒体接收端启用的播放器类型同多媒体资源类型不匹配。
技术实现要素:
本发明的主要目的在于提供一种dlna推送处理方法、多媒体接收端及计算机可读存储介质,旨在解决现有技术中多设备同时对一台多媒体接收端dlna推送时,多媒体接收端处理推送命令的流程不同步的技术问题。
为实现上述目的,本发明提供一种dlna推送处理方法,应用于多媒体接收端,所述dlna推送处理方法包括:
接收来自dlna终端发送的待播放命令;
接收来自dlna终端发送的播放命令;
检测所述待播放命令与所述播放命令是否对应同一多媒体资源;
若所述待播放命令与所述播放命令不对应同一多媒体资源,则不执行所述播放命令。
优选地,所述接收来自dlna终端发送的待播放命令包括:
接收来自dlna终端发送的待播放命令,获取所述待播放命令对应的多媒体资源的类型及多媒体资源的标识符。
优选地,所述接收来自dlna终端发送的播放命令包括:
接收来自dlna终端发送的播放命令,获取所述播放命令对应的多媒体资源的标识符。
优选地,所述检测所述待播放命令与所述播放命令是否对应同一多媒体资源包括:
检测所述待播放命令对应的多媒体资源的标识符与所述播放命令对应的多媒体资源的标识符是否一致。
优选地,所述若所述待播放命令与所述播放命令不对应同一多媒体资源,则不执行所述播放命令包括:
若所述待播放命令对应的多媒体资源的标识符与所述播放命令对应的多媒体资源的标识符不一致,则不执行所述播放命令,并输出告警,以供提示用户。
此外,为实现上述目的,本发明还提供一种多媒体接收端,所述多媒体接收端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的dlna推送处理程序,所述dlna推送处理程序被所述处理器执行时实现如上所述的dlna推送处理方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有dlna推送处理程序,所述dlna推送处理程序被处理器执行时实现如上所述的dlna推送处理方法的步骤。
通过本发明,多媒体接收端在播放dlna终端推送的多媒体资源前,判断来自dlna终端发送的待播放命令与播放命令是否对应同一多媒体资源,在检测到dlna终端发送的待播放命令与播放命令对应同一多媒体资源时,启用对应播放器播放多媒体资源,否则对当前推送不做处理,使得多设备同时对一台多媒体接收端进行dlna推送时,多媒体接收端仅在dlna终端发送的待播放命令及播放命令对应同一多媒体资源时,对dlna终端推送的多媒体资源进行播放,在dlna终端发送的待播放命令及播放命令对应的多媒体资源不同时,对此次推送命令不处理,避免了多媒体接收端处理来自多个dlna终端的多个推送命令时不同步的情况发生。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的多媒体接收端结构示意图;
图2为本发明dlna推送处理方法一实施例的流程示意图;
图3为本发明dlna推送方法一实施例的框架示意图;
图4为图2中步骤s40的细化流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的多媒体接收端结构示意图。
本发明实施例多媒体接收端可以是电视、pc,也可以是智能手机、平板电脑、便携计算机等具有dlna功能的设备。本发明dlna终端可以是具有dlna功能的手机,例如,具有无线推送技术的手机。
如图1所示,多媒体接收端可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,多媒体接收端还可以包括摄像头、rf(radiofrequency,射频)电路,传感器、音频电路、wifi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,当然,多媒体接收端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的多媒体接收端结构并不构成对多媒体接收端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及dlna推送处理程序。
在图1所示的多媒体接收端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的dlna推送处理程序,并执行以下操作:
接收来自dlna终端发送的待播放命令;
接收来自dlna终端发送的播放命令;
检测所述待播放命令与所述播放命令是否对应同一多媒体资源;
若所述待播放命令与所述播放命令不对应同一多媒体资源,则不执行所述播放命令。
本实施例中,dlna(digitallivingnetworkalliance)由索尼、英特尔、微软等发起成立、旨在解决个人pc,消费电器,移动设备在内的无线网络和有线网络的互联互通,使得数字媒体和内容服务的无限制的共享和增长成为可能,目前成员公司已达280多家。dlna并不是创造技术,而是形成一种解决的方案,一种大家可以遵守的规范。
本实施例中,dlna推送是分3个命令发送的,比如推送一首音乐,会先发一个停止播放(stop)命令、再发一个待播放(prepare)命令,最后发一个播放(play)命令,在发送prepare命令时就会告诉多媒体接收端设备即将推送的媒体类型是图片、音乐还是视频,以便多媒体接收端设备知道接下来启动对应的播放器去播放。
本实施例中,dlna终端可以是具有dlna功能的手机,例如,具有无线推送技术的手机。本实施例中,dlna终端可以有一个,也可以有多个。
本实施例中,多媒体接收端用于播放从网络中获取的多媒体资源的设备,例如具有dlna的电视、计算机等。
例如,在本发明dlna推送处理方法一可选实施例中,用户开启手机a的dlna功能,欲将一音乐文件推送至多媒体接收端(例如,电视c)上播放。电视c首先接收到一个停止播放命令,若电视当前正在播放节目,则停止当前播放节目的动作,并显示一个预设界面,该预设界面的设置可由用户自由设置,如电视c在接收到停止播放命令后,显示“正在等待…”字样。然后,电视c会接收到待播放命令,通过待播放命令,电视c会获取待播放命令对应的多媒体资源的类型和uri(统一资源标识符(uniformresourceidentifier,或uri)是一个用于标识某一互联网资源名称的字符串)。例如,当前的待播放文件为音乐文件,电视c获取到该多媒体资源的类型,如mp3,该多媒体资源的uri为x。然后,电视c会接收到播放命令,通过该播放命令,电视c会获取播放命令对应的多媒体资源的uri,由于当前只有一个dlna终端(手机a)在推送音乐文件至电视c,电视c获取播放命令对应的多媒体资源的uri必定是该音乐文件的uri,即x。此时,电视c检测到待播放命令对应的多媒体资源的uri同播放命令对应的多媒体资源的uri都是x,则电视c根据该多媒体资源的类型,例如当前是音乐文件,则调用音乐播放器,播放该音乐文件。
在本发明另一可选实施例中,当存在两个dlna终端,如手机a手机b均开启了dlna功能,手机a欲将一音乐文件推送至多媒体接收端,如电视c,电视c接收到来自手机a的待播放命令,通过该待播放命令a,电视c会获取待播放命令a对应的多媒体资源的类型和uri(统一资源标识符(uniformresourceidentifier,或uri)是一个用于标识某一互联网资源名称的字符串)。例如,当前的待播放文件为音乐文件,电视c获取到该多媒体资源的类型,如mp3,该多媒体资源的uri为x。在还未接收到来自手机a的播放命令时,此时手机b欲将一视频文件推送至电视c,电视c接收到来自手机b的待播放命令b,通过该待播放命令b,电视c会更新待播放命令b对应的多媒体资源的类型和uri,电视c获取该待播放命令b对应的多媒体资源的类型和uri,例如,手机b推送的多媒体资源为视频文件,电视c获取该待播放多媒体资源的类型,如mp4,该多媒体资源的uri为y。这时,电视c接收到来自手机a的播放指令,电视c会获取播放命令对应的多媒体资源的uri,即音乐文件对应的uri,x。此时电视c获取的待播放命令b对应的多媒体资源uri(y)与电视c获取的来自手机a的播放命令对应的多媒体资源uri(x)不同,则电视c对此次推送不做处理,即不启用视频播放器播放音乐文件。还可以输出告警消息,例如以文字的形式提示用户,当前推送出现错误,需重启推送过程。
通过本发明,多媒体接收端在播放dlna终端推送的多媒体资源前,判断来自dlna终端发送的待播放命令与播放命令是否对应同一多媒体资源,在检测到dlna终端发送的待播放命令与播放命令对应同一多媒体资源时,启用对应播放器播放多媒体资源,否则对当前推送不做处理,使得多设备同时对一台多媒体接收端进行dlna推送时,多媒体接收端仅在dlna终端发送的待播放命令及播放命令对应同一多媒体资源时,对dlna终端推送的多媒体资源进行播放,在dlna终端发送的待播放命令及播放命令对应的多媒体资源不同时,对此次推送命令不处理,避免了多媒体接收端处理来自多个dlna终端的多个推送命令时不同步的情况发生。
进一步地,处理器1001可以调用存储器1005中存储的dlna推送处理程序,还执行以下操作:
接收来自dlna终端发送的待播放命令,获取所述待播放命令对应的多媒体资源的类型及多媒体资源的标识符。
在本实施例中,当dlna终端有多个时,例如,存在手机a与手机b,手机a推送了音乐文件至多媒体接收端(例如电视c),手机b推送了视频文件至多媒体接收端(电视c)。
电视c接收到来自手机a的推送命令(包括停止命令a1,待播放命令a2、播放命令a3)和来自手机b的推送命令(包括停止命令b1,待播放命令b2、播放命令b3)。电视c在接收到停止命令a1和b1时,停止播放器的工作,若当前播放器处于空闲状态,则不作调整。若电视c首先接收到来自手机a的待播放命令a2,根据待播放命令a2对应的多媒体资源电视c获取到的多媒体资源类型为mp3(手机a推送的是音乐文件),多媒体资源的标识符为多媒体资源uri(统一资源标识符(uniformresourceidentifier,或uri)是一个用于标识某一互联网资源名称的字符串),例如x。根据该多媒体资源的类型,电视c确定接下来要启用的播放器为音乐播放器。
电视c接收到来自手机a的待播放命令a2后,在接收到来自手机a的播放命令a3前,接收到了来自手机b的待播放命令b2。根据当前接收到的待播放命令b2,电视c重新获取待播放命令对应的多媒体资源类型及多媒体资源的标识符。例如,根据待播放命令b2对应的多媒体资源电视c获取到的多媒体资源类型为mp4(手机b推送的是视频文件),多媒体资源的标识符为多媒体资源uri(统一资源标识符(uniformresourceidentifier,或uri)是一个用于标识某一互联网资源名称的字符串),例如y。根据该多媒体资源的类型,电视c确定接下来要启用的播放器为视频播放器。
在本实施例中,当存在多个dlna终端推送不同多媒体资源至多媒体接收端,多媒体接收端接收的来自dlna终端设备的推送命令(分为停止命令,待播放命令,播放命令),其中待播放命令及播放命令可能是由不同dlna终端推送的,则可能造成多媒体接收端以接收到的待播放命令确定的播放器类型播放了播放命令对应的多媒体资源。例如,多媒体接收端根据待播放命令确定的播放器类型为视频播放器,启用视频播放器播放了播放命令对应的音乐文件,使得多媒体接收端处理的推送命令不为同一dlna终端设备发送,造成多媒体接收端处理推送命令不同步的问题。本实施例中,记录待播放命令对应的多媒体资源的标识符,当接收到播放命令时,比较播放命令对应的多媒体资源的标识符与记录的待播放命令对应的多媒体资源的标识符是否一致,若不一致,则不执行播放指令,避免了上述情况发生。
进一步地,处理器1001可以调用存储器1005中存储的dlna推送处理程序,还执行以下操作:
接收来自dlna终端发送的播放命令,获取所述播放命令对应的多媒体资源的标识符。
在本实施例中,当多媒体接收端接收到来自dlna终端发送的播放命令时,获取播放命令对应的多媒体资源的标识符,例如获取播放命令对应的多媒体资源的uri,uri标识了该多媒体资源在网络上的位置。
在本实施例中,获取播放命令对应的多媒体资源的标识符,并同获取的待播放命令对应的多媒体资源的标识符进行对比,若两者标识符不一致,则说明此次接收的推送命令中待播放命令与播放命令是由不同终端发送的,则不执行播放指令,避免了多媒体接收端处理的推送命令不为同一dlna终端发送的情况发生。
进一步地,处理器1001可以调用存储器1005中存储的dlna推送处理程序,还执行以下操作:
检测所述待播放命令对应的多媒体资源的标识符与所述播放命令对应的多媒体资源的标识符是否一致。
在本实施例中,比较待播放命令对应的多媒体资源的标识符与所述播放命令对应的多媒体资源的标识符是否一致,即是在检测待播放命令与播放命令是否是为同一dlna终端发送。
因为在当前一个dlna终端发送推送命令时,分为三个命令发送,分别为停止命令,待播放命令,播放命令。若存在多个dlna终端在同一时段发送推送命令至多媒体接收端,多媒体接收端接收到的待播放命令与播放命令可能是由不同终端发送的,造成多媒体接收端处理的推送命令不为同一dlna终端发送的情况发生。通过本实施例,对待播放命令对应的多媒体资源的标识符与播放命令对应的多媒体资源的标识符进行比较,若两者标识符一致则说明多媒体接收端接收到的待播放命令与播放命令为同一dlna终端发送,则执行播放命令,否则说明多媒体接收端接收到的待播放命令与播放命令不为同一dlna终端发送,则不执行播放命令,避免了多媒体接收端处理的推送命令不为同一dlna终端发送的情况发生。
进一步地,处理器1001可以调用存储器1005中存储的dlna推送处理程序,还执行以下操作:
若所述待播放命令对应的多媒体资源的标识符与所述播放命令对应的多媒体资源的标识符不一致,则不执行所述播放命令,并输出告警,以供提示用户。
在本发明另一可选实施例中,当存在两个dlna终端,如手机a手机b均开启了dlna功能,手机a欲将一音乐文件推送至多媒体接收端,如电视c,电视c接收到来自手机a的待播放命令,通过该待播放命令a,电视c会获取待播放命令a对应的多媒体资源的类型和uri(统一资源标识符(uniformresourceidentifier,或uri)是一个用于标识某一互联网资源名称的字符串)。例如,当前的待播放文件为音乐文件,电视c获取到该多媒体资源的类型,如mp3,该多媒体资源的uri为x。在还未接收到来自手机a的播放命令时,此时手机b欲将一视频文件推送至电视c,电视c接收到来自手机b的待播放命令b,通过该待播放命令b,电视c会更新待播放命令b对应的多媒体资源的类型和uri,电视c获取该待播放命令b对应的多媒体资源的类型和uri,例如,手机b推送的多媒体资源为视频文件,电视c获取该待播放多媒体资源的类型,如mp4,该多媒体资源的uri为y。这时,电视c接收到来自手机a的播放指令,电视c会获取播放命令对应的多媒体资源的uri,即音乐文件对应的uri,x。此时电视c获取的待播放命令b对应的多媒体资源uri(y)与电视c获取的来自手机a的播放命令对应的多媒体资源uri(x)不同,则电视c对此次推送不做处理,即不启用视频播放器播放音乐文件。还可以输出告警消息,例如以文字或声音等形式提示用户,当前推送出现错误,需重启推送过程。
在本实施例中,当接收到播放命令时,比较播放命令对应的多媒体资源的标识符与记录的待播放命令对应的多媒体资源的标识符是否一致,若不一致,则不执行播放指令,避免了多媒体接收端处理的推送命令不为同一dlna终端发送的情况发生。
参照图2,本发明dlna推送处理方法第一实施例的流程示意图。
dlna推送处理方法应用于多媒体接收端,dlna推送处理方法包括:
步骤s10,接收来自dlna终端发送的待播放命令;
步骤s20,接收来自dlna终端发送的播放命令;
步骤s30,检测所述待播放命令与所述播放命令是否对应同一多媒体资源;
步骤s40,若所述待播放命令与所述播放命令不对应同一多媒体资源,则不执行所述播放命令。
本实施例中,dlna(digitallivingnetworkalliance)由索尼、英特尔、微软等发起成立、旨在解决个人pc,消费电器,移动设备在内的无线网络和有线网络的互联互通,使得数字媒体和内容服务的无限制的共享和增长成为可能,目前成员公司已达280多家。dlna并不是创造技术,而是形成一种解决的方案,一种大家可以遵守的规范。
本实施例中,dlna推送是分3个命令发送的,比如推送一首音乐,会先发一个停止播放(stop)命令、再发一个待播放(prepare)命令,最后发一个播放(play)命令,在发送prepare命令时就会告诉多媒体接收端设备即将推送的媒体类型是图片、音乐还是视频,以便多媒体接收端设备知道接下来启动对应的播放器去播放。
本实施例中,dlna终端可以是具有dlna功能的手机,例如,具有无线推送技术的手机。本实施例中,dlna终端可以有一个,也可以有多个。
本实施例中,多媒体接收端用于播放从网络中获取的多媒体资源的设备,例如具有dlna的电视、计算机等。
例如,在本发明dlna推送处理方法一可选实施例中,用户开启手机a的dlna功能,欲将一音乐文件推送至多媒体接收端(例如,电视c)上播放。电视c首先接收到一个停止播放命令,若电视当前正在播放节目,则停止当前播放节目的动作,并显示一个预设界面,该预设界面的设置可由用户自由设置,如电视c在接收到停止播放命令后,显示“正在等待…”字样。然后,电视c会接收到待播放命令,通过待播放命令,电视c会获取待播放命令对应的多媒体资源的类型和uri(统一资源标识符(uniformresourceidentifier,或uri)是一个用于标识某一互联网资源名称的字符串)。例如,当前的待播放文件为音乐文件,电视c获取到该多媒体资源的类型,如mp3,该多媒体资源的uri为x。然后,电视c会接收到播放命令,通过该播放命令,电视c会获取播放命令对应的多媒体资源的uri,由于当前只有一个dlna终端(手机a)在推送音乐文件至电视c,电视c获取播放命令对应的多媒体资源的uri必定是该音乐文件的uri,即x。此时,电视c检测到待播放命令对应的多媒体资源的uri同播放命令对应的多媒体资源的uri都是x,则电视c根据该多媒体资源的类型,例如当前是音乐文件,则调用音乐播放器,播放该音乐文件。
在本发明另一可选实施例中,当存在两个dlna终端,如手机a手机b均开启了dlna功能,手机a欲将一音乐文件推送至多媒体接收端,如电视c,电视c接收到来自手机a的待播放命令,通过该待播放命令a,电视c会获取待播放命令a对应的多媒体资源的类型和uri(统一资源标识符(uniformresourceidentifier,或uri)是一个用于标识某一互联网资源名称的字符串)。例如,当前的待播放文件为音乐文件,电视c获取到该多媒体资源的类型,如mp3,该多媒体资源的uri为x。在还未接收到来自手机a的播放命令时,此时手机b欲将一视频文件推送至电视c,电视c接收到来自手机b的待播放命令b,通过该待播放命令b,电视c会更新待播放命令b对应的多媒体资源的类型和uri,电视c获取该待播放命令b对应的多媒体资源的类型和uri,例如,手机b推送的多媒体资源为视频文件,电视c获取该待播放多媒体资源的类型,如mp4,该多媒体资源的uri为y。这时,电视c接收到来自手机a的播放指令,电视c会获取播放命令对应的多媒体资源的uri,即音乐文件对应的uri,x。此时电视c获取的待播放命令b对应的多媒体资源uri(y)与电视c获取的来自手机a的播放命令对应的多媒体资源uri(x)不同,则电视c对此次推送不做处理,即不启用视频播放器播放音乐文件。还可以输出告警消息,例如以文字的形式提示用户,当前推送出现错误,需重启推送过程。
参照图3,图3为本发明dlna推送方法一实施例的框架示意图。
本实施例中,协议层接收到setavtransporturiaction时,解析出当前准备播放的多媒体资源对应的uri,同时解析currenurimetadata获取推送的多媒体资源类型(type),通过prepare接口将多媒体资源对应的uri和type往应用层发;协议层接收到playaction时,通过play接口将playaction对应的多媒体资源类型对应的uri往应用层发。应用层收到来自协议层的prepare命令时,保存此次prepare命令对应的多媒体资源uri(例如,先接到来自设备a的prepare命令,此次对应的多媒体资源uri为x,后续接到了来自设备b的prepare命令,此次对应的多媒体资源uri为y,则保存设备b的prepare命令对应的多媒体资源uri:y);应用层后续接收到协议层的play命令,检测play命令对应的多媒体资源uri和prepare命令对应的多媒体资源uri是否一致,若不一致,则认为此次接收到的prepare命令和play命令不是同一设备推送的,则放弃此次数据,即不执行play命令。
通过本发明,多媒体接收端在播放dlna终端推送的多媒体资源前,判断来自dlna终端发送的待播放命令与播放命令是否对应同一多媒体资源,在检测到dlna终端发送的待播放命令与播放命令对应同一多媒体资源时,启用对应播放器播放多媒体资源,否则对当前推送不做处理,使得多设备同时对一台多媒体接收端进行dlna推送时,多媒体接收端仅在dlna终端发送的待播放命令及播放命令对应同一多媒体资源时,对dlna终端推送的多媒体资源进行播放,在dlna终端发送的待播放命令及播放命令对应的多媒体资源不同时,对此次推送命令不处理,避免了多媒体接收端处理来自多个dlna终端的多个推送命令时不同步的情况发生。
进一步,在本发明dlna推送处理方法一实施例中,步骤s10包括:
接收来自dlna终端发送的待播放命令,获取所述待播放命令对应的多媒体资源的类型及多媒体资源的标识符。
在本实施例中,当dlna终端有多个时,例如,存在手机a与手机b,手机a推送了音乐文件至多媒体接收端(例如电视c),手机b推送了视频文件至多媒体接收端(电视c)。
电视c接收到来自手机a的推送命令(包括停止命令a1,待播放命令a2、播放命令a3)和来自手机b的推送命令(包括停止命令b1,待播放命令b2、播放命令b3)。电视c在接收到停止命令a1和b1时,停止播放器的工作,若当前播放器处于空闲状态,则不作调整。若电视c首先接收到来自手机a的待播放命令a2,根据待播放命令a2对应的多媒体资源电视c获取到的多媒体资源类型为mp3(手机a推送的是音乐文件),多媒体资源的标识符为多媒体资源uri(统一资源标识符(uniformresourceidentifier,或uri)是一个用于标识某一互联网资源名称的字符串),例如x。根据该多媒体资源的类型,电视c确定接下来要启用的播放器为音乐播放器。
电视c接收到来自手机a的待播放命令a2后,在接收到来自手机a的播放命令a3前,接收到了来自手机b的待播放命令b2。根据当前接收到的待播放命令b2,电视c重新获取待播放命令对应的多媒体资源类型及多媒体资源的标识符。例如,根据待播放命令b2对应的多媒体资源电视c获取到的多媒体资源类型为mp4(手机b推送的是视频文件),多媒体资源的标识符为多媒体资源uri(统一资源标识符(uniformresourceidentifier,或uri)是一个用于标识某一互联网资源名称的字符串),例如y。根据该多媒体资源的类型,电视c确定接下来要启用的播放器为视频播放器。
在本实施例中,当存在多个dlna终端推送不同多媒体资源至多媒体接收端,多媒体接收端接收的来自dlna终端设备的推送命令(分为停止命令,待播放命令,播放命令),其中待播放命令及播放命令可能是由不同dlna终端推送的,则可能造成多媒体接收端以接收到的待播放命令确定的播放器类型播放了播放命令对应的多媒体资源。例如,多媒体接收端根据待播放命令确定的播放器类型为视频播放器,启用视频播放器播放了播放命令对应的音乐文件,使得多媒体接收端处理的推送命令不为同一dlna终端设备发送,造成多媒体接收端处理推送命令不同步的问题。本实施例中,记录待播放命令对应的多媒体资源的标识符,当接收到播放命令时,比较播放命令对应的多媒体资源的标识符与记录的待播放命令对应的多媒体资源的标识符是否一致,若不一致,则不执行播放指令,避免了上述情况发生。
进一步,在本发明dlna推送处理方法一实施例中,步骤s20包括:
接收来自dlna终端发送的播放命令,获取所述播放命令对应的多媒体资源的标识符。
在本实施例中,当多媒体接收端接收到来自dlna终端发送的播放命令时,获取播放命令对应的多媒体资源的标识符,例如获取播放命令对应的多媒体资源的uri,uri标识了该多媒体资源在网络上的位置。
在本实施例中,获取播放命令对应的多媒体资源的标识符,并同获取的待播放命令对应的多媒体资源的标识符进行对比,若两者标识符不一致,则说明此次接收的推送命令中待播放命令与播放命令是由不同终端发送的,则不执行播放指令,避免了多媒体接收端处理的推送命令不为同一dlna终端发送的情况发生。
进一步,在本发明dlna推送处理方法一实施例中,步骤s30包括:
检测所述待播放命令对应的多媒体资源的标识符与所述播放命令对应的多媒体资源的标识符是否一致。
在本实施例中,比较待播放命令对应的多媒体资源的标识符与所述播放命令对应的多媒体资源的标识符是否一致,即是在检测待播放命令与播放命令是否是为同一dlna终端发送。
因为在当前一个dlna终端发送推送命令时,分为三个命令发送,分别为停止命令,待播放命令,播放命令。若存在多个dlna终端在同一时段发送推送命令至多媒体接收端,多媒体接收端接收到的待播放命令与播放命令可能是由不同终端发送的,造成多媒体接收端处理的推送命令不为同一dlna终端发送的情况发生。通过本实施例,对待播放命令对应的多媒体资源的标识符与播放命令对应的多媒体资源的标识符进行比较,若两者标识符一致则说明多媒体接收端接收到的待播放命令与播放命令为同一dlna终端发送,则执行播放命令,否则说明多媒体接收端接收到的待播放命令与播放命令不为同一dlna终端发送,则不执行播放命令,避免了多媒体接收端处理的推送命令不为同一dlna终端发送的情况发生。
参照图4,图4为图2中步骤s40的细化流程示意图。在一实施例中,步骤s40包括:
步骤s401,若所述待播放命令对应的多媒体资源的标识符与所述播放命令对应的多媒体资源的标识符不一致,则不执行所述播放命令,并输出告警,以供提示用户。
在本发明另一可选实施例中,当存在两个dlna终端,如手机a手机b均开启了dlna功能,手机a欲将一音乐文件推送至多媒体接收端,如电视c,电视c接收到来自手机a的待播放命令,通过该待播放命令a,电视c会获取待播放命令a对应的多媒体资源的类型和uri(统一资源标识符(uniformresourceidentifier,或uri)是一个用于标识某一互联网资源名称的字符串)。例如,当前的待播放文件为音乐文件,电视c获取到该多媒体资源的类型,如mp3,该多媒体资源的uri为x。在还未接收到来自手机a的播放命令时,此时手机b欲将一视频文件推送至电视c,电视c接收到来自手机b的待播放命令b,通过该待播放命令b,电视c会更新待播放命令b对应的多媒体资源的类型和uri,电视c获取该待播放命令b对应的多媒体资源的类型和uri,例如,手机b推送的多媒体资源为视频文件,电视c获取该待播放多媒体资源的类型,如mp4,该多媒体资源的uri为y。这时,电视c接收到来自手机a的播放指令,电视c会获取播放命令对应的多媒体资源的uri,即音乐文件对应的uri,x。此时电视c获取的待播放命令b对应的多媒体资源uri(y)与电视c获取的来自手机a的播放命令对应的多媒体资源uri(x)不同,则电视c对此次推送不做处理,即不启用视频播放器播放音乐文件。还可以输出告警消息,例如以文字或声音等形式提示用户,当前推送出现错误,需重启推送过程。
在本实施例中,当接收到播放命令时,比较播放命令对应的多媒体资源的标识符与记录的待播放命令对应的多媒体资源的标识符是否一致,若不一致,则不执行播放指令,避免了多媒体接收端处理的推送命令不为同一dlna终端发送的情况发生。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有dlna推送处理程序,所述dlna推送处理程序被处理器执行时实现如上所述的dlna推送处理方法的步骤。
本发明计算机可读存储介质的具体实施例同上述dlna推送处理方法的各个实施例基本相同,在此不做赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台多媒体接收端设备(可以是计算机,电视等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。