媒体播放方法及装置与流程

文档序号:11157699阅读:865来源:国知局
媒体播放方法及装置与制造工艺

本发明涉及通信领域,具体而言,涉及一种媒体播放方法及装置。



背景技术:

随着移动互联网的迅猛发展,OTT(Over The Top)技术的推广以及各种智能终端设备的出现,通过手机、掌上电脑、机顶盒等视频终端在线收看视频,成为人们越来越普遍的休闲娱乐方式。

Android OTT机顶盒的音视频播放功能大都是基于安卓的多媒体框架实现的。安卓多媒体框架原声的播放器主要有MidiFile、StagefrightPlayer、NuPlayer。MidiFile Player主要负责midi音频文件的播放,StagefrightPlayer主要用来播放本地文件,NuPlayer主要用来网络文件播放,包括超文本传输协议(HyperText Transfer Protocol,简称为HTTP)LiveSource和实时流传输协议(Real Time Streaming Protocol,简称为RTSP)Source两个source,目前主要支持RTSP和http这两种协议文件的播放。

而交互式网络电视(Internet Protocol Television,简称为IPTV)机顶盒发展到现在已经比较成熟了,对应播放器支持的传输协议比较完善:网络组管理协议(Internet Group Management Protocol,简称为IGMP)、RTSP、HTTP、和实时传输协议(Real-time Transport Protocol,简称为RTP)等协议都支持。另外,IPTV上支持的前向纠错码(Forward Error Correction简称FEC)、自动误差矫正(Automatic Error Request,简称为ARQ)恢复,频道快切(fast channel change,简称为FCC)、组播和时移相互切换等功能,目前安卓多媒体框架上原生的播放器都是不支持的。

针对相关技术中,安卓系统里不支持IPTV播放器来播放媒体的问题,尚未提出有效的解决方案。



技术实现要素:

为了解决上述技术问题,本发明提供了一种媒体播放方法及装置。

根据本发明的一个方面,提供了一种媒体播放方法,包括:获取安卓系统中待播放的媒体;根据所述安卓系统中扩展的交互式网络电视IPTV播放器来播放所述待播放的媒体。

优选地,根据所述安卓系统中扩展的交互式网络电视IPTV播放器来播放所述待播放的媒体之前,所述方法还包括:在所述安卓系统的播放器中扩充一个指定类,其中,该指定类用于支持IPTV播放器的播放器功能。

优选地,根据所述IPTV播放器来播放所述安卓系统中待播放的媒体,包括:

获取所述待播放的媒体的统一资源定位符URL;根据所述URL判断所述待播放的视频是否需要所述IPTV播放器播放;如果是,则根据所述IPTV播放器来播放所述安卓系统中待播放的媒体。

优选地,根据所述IPTV播放器来播放所述安卓系统中待播放的媒体之前,还包括:获取所述待播放的媒体的播放数据;对所述播放数据进行播放预处理。

优选地,对所述播放数据进行播放预处理之后,还包括:

将经过播放预处理后的播放数据发送至解码器,其中,该解码器根据所述经过播放预处理后的播放数据进行媒体播放。

优选地,所述播放预处理包括:前向纠错FEC、频道快切FCC。

根据本发明的另一个方面,还提供了一种媒体播放装置,包括:第一获取模块,用于获取安卓系统中待播放的媒体;播放模块,与所述获取模块连接,用于根据所述安卓系统中扩展的交互式网络电视IPTV播放器来播放所述待播放的媒体。

优选地,所述装置还包括:扩充模块,与所述播放模块连接,用于在安卓系统的播放器中扩充一个指定类,其中,该指定类用于支持交互式网络电视IPTV播放器的播放器功能。

优选地,所述播放模块,包括:获取单元,用于获取所述待播放的媒体的统一资源定位符URL;判断单元,用于根据所述URL判断所述待播放的视频是否需要所述IPTV播放器播放;播放单元,用于在需要所述IPTV播放器播放时,根据所述IPTV播放器来播放所述安卓系统中待播放的媒体。

优选地,所述装置,还包括:第二获取模块,用于获取所述待播放的媒体的播放数据;

预处理模块,与所述第二获取模块连接,用于对所述播放数据进行播放预处理。

通过本发明,通过根据安卓系统中扩展的IPTV播放器来播放待播放的视频的技术方案,解决了相关技术中,安卓系统里不支持IPTV播放器来播放媒体的问题,提出了一种将IPTV播放器快速融合到安卓多媒体框架的方法,扩充安卓多媒体框架的协议支持和数据质量恢复功能。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为根据本发明实施例的媒体播放方法的流程图;

图2为根据本发明实施例的媒体播放装置的结构框图;

图3为根据本发明实施例的媒体播放装置的另一结构框图;

图4为根据本发明实施例的媒体播放装置的又一结构框图;

图5为现有技术中的安卓多媒体框架框图;

图6为根据本发明优选实施例一的IPTV播放器的结构框图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

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

在本发明实施例中,还提供了一种媒体播放方法,图1为根据本发明实施例的媒体播放方法的流程图,如图1所示,包括以下步骤:

步骤S102,获取安卓系统中待播放的媒体;

步骤S104,根据上述安卓系统中扩展的IPTV播放器来播放所述待播放的媒体。

通过上述各个步骤,通过根据安卓系统中扩展的IPTV播放器来播放待播放的视频的技术方案的技术方案,解决了相关技术中,安卓系统里自带的播放器支持的协议有限进而无法支持IPTV媒体播放的问题,提出了一种将IPTV播放器快速融合到安卓多媒体框架的方法,扩充安卓多媒体框架的协议支持和数据质量恢复功能。

可选地,根据所述安卓系统中扩展的交互式网络电视IPTV播放器来播放所述待播放的媒体之前,上述方法还包括:在安卓系统的播放器中扩充一个指定类,其中,该指定类用于支持IPTV播放器的播放器功能。

步骤S104的实现方式是多种的,在本发明实施例的一个可选示例中,可以通过以下方案实现:获取上述待播放的媒体的统一资源定位符URL;根据上述URL判断上述待播放的视频是否需要上述IPTV播放器播放;如果是,则根据上述IPTV播放器来播放上述安卓系统中待播放的媒体,像igmp://,http://,rtsp://这种格式的URL,会优先选择IPTV播放器播放。

在根据IPTV播放器来播放上述安卓系统中待播放的媒体之前,还可以执行以下技术方案:获取待播放的媒体的播放数据;对播放数据进行播放预处理,将经过播放预处理后的播放数据发送至解码器,其中,该解码器根据经过播放预处理后的播放数据进行媒体播放,在本发 明实施例中,上述播放预处理包括:前向纠错FEC、频道快切FCC。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必需的。

在本实施例中还提供了一种媒体播放装置,用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述,下面对该装置中涉及到的模块进行说明。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图2为根据本发明实施例的媒体播放装置的结构框图。如图2所示,该装置包括:

第一获取模块20,用于获取安卓系统中待播放的媒体;

播放模块22,与第一获取模块20连接,用于根据所述安卓系统中扩展的交互式网络电视IPTV播放器来播放所述待播放的媒体。

通过上述各个模块的综合应用,通过根据安卓系统中扩展的IPTV播放器来播放待播放的视频的技术方案的技术方案的技术方案,解决了相关技术中,安卓系统里自带的播放器支持的协议有限进而无法支持IPTV媒体播放的问题,提出了一种将IPTV播放器快速融合到安卓多媒体框架的方法,扩充安卓多媒体框架的协议支持和数据质量恢复功能。

在一个可选示例中,图3为根据本发明实施例的媒体播放装置的另一结构框图,如图3所示,上述装置还包括:扩充模块24,与上述播放模块22连接,用于在安卓系统的播放器中扩充一个指定类,其中,该指定类用于支持交互式网络电视IPTV播放器的播放器功能。

为了更好的实现播放模块22的功能,如图3所示,播放模块22还可以包括:

获取单元220,用于获取待播放的媒体的统一资源定位符URL;判断单元222,与获取单元220连接,用于根据URL判断上述待播放的视频是否需要IPTV播放器播放;播放单元224,与判断单元222连接,用于在需要IPTV播放器播放时,根据IPTV播放器来播放上述安卓系统中待播放的媒体。

图4为根据本发明实施例的媒体播放装置的又一结构框图,如图4所示,上述装置,还包括:第二获取模块26,用于获取待播放的媒体的播放数据;预处理模块28,与第二获取模块26连接,用于对播放数据进行播放预处理,上述装置,还包括:发送模块30,与预处理模块28连接,用于将经过播放预处理后的播放数据发送至解码器,其中,该解码器根据上述经过播放预处理后的播放数据进行媒体播放。

在本发明实施例中,上述预处理模块的播放预处理包括:前向纠错FEC、频道快切FCC。

为了更好的理解上述媒体播放过程,以下结合优选实施例对上述技术方案进行说明,如下所述:

优选实施例一

本发明优选实施例一能尽量复用IPTV播放器的系统框架和代码,完成OTT机顶盒对IPTV功能的支持,缩短软件开发周期。

首先,简单介绍一下安卓多媒体框架的核心MediaPlayer,如图5所示,在各个库中,libmedia.so位于核心的位置,它对上层的提供的接口主要是MediaPlayer类,类libmedia_jni.so通过调用MediaPlayer类提供对JAVA的接口,并且实现了android.media.MediaPlayer类。

libmediaplayerservice.so是Media的服务器,它通过继承libmedia.so的类实现服务器的功能,而libmedia.so中的另外一部分内容则通过进程间通讯和libmediaplayerservice.so进行通讯。libmediaplayerservice.so的真正功能通过调用StageFrighterPlayer来完成。

基于安卓原生框架的播放命令时序:建立数据源(setdatasource)、准备(prepare)、开始(start)、停止(stop)。

本发明优选实施例一的大致流程如下:

1、在MediaPlayer中扩充一个IptvAgent类(相当于上述实施例中的指定类),与Nuplayer和stagefright平级,用来支持IPTV播放器的功能,这个IptvAgent充当一个播放器代理的角色,如图6所示,IptvAgent和安卓原生播放器,与播放器控制模块之间通过事件反馈的形式完成交互过程,这里IptvAgent可以充当一个播放器代理的角色。

2、在setdatasource阶段,根据URL区分,对适合的节目选择IptvAgent进行播放。

3、在IptvAgent中完成安卓多媒体框架播放接口和IPTV播放器的对外接口的转换与对接。

4、在IptvAgent中完成IPTV播放器上报事件和安卓多媒体框架标准事件的转换。

优选实施例二

步骤1:IPTV播放器可以是一个独立的进程,也可以以一个动态库方式存在;

步骤2:安装包(APK)下发播放消息,setdadatasource接口中携带的是一个组播地址;

步骤3:在libmediaplayerservice.so中根据url,选择IptvAgent播放器进行播放;

步骤4:IptvAgent发送播放消息给IPTV播放器,真正进行媒体播放,具备FEC、FCC等功能;

步骤5:IPTV播放器下载数据,进行数据预处理(比如FEC,FCC等);

步骤6:IPTV播放器将数据送给解码器进行播放。

需要说明的是,上述步骤的顺序并不用来限定本发明优选实施例一的任何顺序,只是用来解释本发明优选实施例一所涉及到的技术方案。

综上所述,本发明实施例达到了以下技术效果:解决了相关技术中,安卓系统里自带的 播放器支持的协议有限进而无法支持IPTV媒体播放的问题,提出了一种将IPTV播放器快速融合到安卓多媒体框架的方法,扩充安卓多媒体框架的协议支持和数据质量恢复功能。

在另外一个实施例中,还提供了一种软件,该软件用于执行上述实施例及优选实施方式中描述的技术方案。

在另外一个实施例中,还提供了一种存储介质,该存储介质中存储有上述软件,该存储介质包括但不限于:光盘、软盘、硬盘、可擦写存储器等。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的对象在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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