一种基于Android系统的媒体数据流播放方法及系统技术方案

技术编号:13283849 阅读:57 留言:0更新日期:2016-07-09 00:56
本发明专利技术公开一种基于Android系统的媒体数据流播放方法及系统。其中,方法包括步骤:A、应用APP建立组播地址,并打开组播端口,生成组播通道;B、应用APP获取数据源的传输流包,并利用所述组播通道发送所述传输流包,在Android系统内形成组播流;C、应用APP利用所述组播地址打开应用层的播放器,并开始播放所述组播流。本发明专利技术不需要修改Android系统层,容易实施,应用简单;本发明专利技术充分利用Android系统中TCP/IP协议栈的数据组播功能,通过标准的组播通道形成了数据流代理,达到非标准数据流通过标准的Android应用层播放器播放的目的;本发明专利技术可在已经发布的Android系统或产品中应用,可以解决特定的媒体流播放问题,具有良好的兼容性、通用性。

【技术实现步骤摘要】
一种基于Android系统的媒体数据流播放方法及系统
本专利技术涉及多媒体数据播放领域,尤其涉及一种基于Android系统的媒体数据流播放方法及系统。
技术介绍
目前,搭载Android系统的产品如手机、机顶盒、智能电视等,其实现播放都是在应用APP中指定具体的播放数据资源定位符URL,然后传递给系统底层的播放服务层,通过播放服务层实现具体数据请求、处理、播放显示等,从而形成Android系统内完整的多媒体子系统。但是这样的多媒体子系统也存在弊端:非通用或非标准的播放资源数据应对能力差。现有技术中,改进的方法一般有两种:第一种是修改系统底层的播放服务层,从而达到对特定播放资源的支持以实现播放;第二种是在应用层获取特定数据后逐层穿透送到底层的播放服务层,然后通过特定解码通道实现解码播放。但是上述两种方法均需要产品软件系统开发的介入,其软件开发工作量大并且效率低,同时还有可能导致音视频延迟;另外,对于已经发布的系统或产品,由于其系统底层已经相对稳定和固化,所以无法实现对非通用或非标准的资源进行播放。因此,现有技术还有待于改进和发展。
技术实现思路
鉴于上述现有技术的不足,本专利技术的目的在于提供一种基于Android系统的媒体数据流播放方法及系统,旨在解决现有的播放方法无法支持特定媒体资源、开发难度大、效率低且可能影响播放效果的问题。本专利技术的技术方案如下:一种基于Android系统的媒体数据流播放方法,其中,包括步骤:A、应用APP建立组播地址,并打开组播端口,生成组播通道;B、应用APP获取数据源的传输流包,并利用所述组播通道发送所述传输流包,在Android系统内形成组播流;C、应用APP利用所述组播地址打开应用层的播放器,并开始播放所述组播流。优选的,所述步骤C之后还包括:D、当通过所述应用APP操控所述播放器时,匹配控制所述组播通道的数据注入速率和流量。优选的,所述步骤D之后还包括:E、当所述数据源播放结束时,关闭所述组播通道以及关闭所述播放器。优选的,所述步骤A具体包括:A1、应用APP查询Android系统内的网络以及网络端口的使用状态,并将处于空闲状态的网络端口作为组播端口;A2、应用APP利用所述组播端口建立组播地址,并打开组播端口,生成组播通道。优选的,所述操控包括暂停、恢复和倍速播放。一种基于Android系统的媒体数据流播放系统,其中,包括:组播通道生成模块,用于建立组播地址,并打开组播端口,生成组播通道;组播流形成模块,用于获取数据源的传输流包,并利用所述组播通道发送所述传输流包,在Android系统内形成组播流;播放模块,用于利用所述组播地址打开应用层的播放器,并开始播放所述组播流。优选的,所述媒体数据流播放系统还包括:控制模块,用于当通过所述应用APP操控所述播放器时,匹配控制所述组播通道的数据注入速率和流量。优选的,所述媒体数据流播放系统还包括:关闭模块,用于当所述数据源播放结束时,关闭所述组播通道以及关闭所述播放器。优选的,所述组播通道生成模块具体包括:查询单元,用于查询Android系统内的网络以及网络端口的使用状态,并将处于空闲状态的网络端口作为组播端口;组播通道生成单元,用于利用所述组播端口建立组播地址,并打开组播端口,生成组播通道。优选的,所述操控包括暂停、恢复和倍速播放。有益效果:本专利技术可完全在应用APP内部实现,实际播放是通过Android应用层标准的播放器组件进行,整个过程不需要修改Android系统层,所以容易实施,应用简单;本专利技术充分利用Android系统中TCP/IP协议栈的数据组播功能,通过标准的组播通道形成了数据流代理,达到非标准数据流通过标准的Android应用层播放器播放的目的;本专利技术可以在已经发布的Android系统或产品中应用,可以解决特定的媒体流播放问题,具有良好的兼容性、通用性。附图说明图1为本专利技术一种基于Android系统的媒体数据流播放方法第一实施例的流程图;图2为图1中步骤S1的具体流程图;图3为本专利技术一种基于Android系统的媒体数据流播放方法第二实施例的流程图;图4为本专利技术一种基于Android系统的媒体数据流播放方法第三实施例的流程图;图5为本专利技术一种基于Android系统的媒体数据流播放系统第一实施例的结构框图;图6为图5中组播通道生成模块的具体流程图;图7为本专利技术一种基于Android系统的媒体数据流播放系统第二实施例的结构框图;图8为本专利技术一种基于Android系统的媒体数据流播放系统第三实施例的结构框图。具体实施方式本专利技术提供一种基于Android系统的媒体数据流播放方法及系统,为使本专利技术的目的、技术方案及效果更加清楚、明确,以下对本专利技术进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。请参阅图1,图1为本专利技术一种基于Android系统的媒体数据流播放方法第一实施例的流程图,其包括步骤:S1、应用APP建立组播地址,并打开组播端口,生成组播通道;S2、应用APP获取数据源的传输流包,并利用所述组播通道发送所述传输流包,在Android系统内形成组播流;S3、应用APP利用所述组播地址打开应用层的播放器,并开始播放所述组播流。本专利技术在不修改产品系统的前提下,通过应用APP中技术实现即可解决特定媒体数据流的播放,增强了产品的适用性、通用性。本专利技术的方法非常适合应用APP能获取稳定、平滑的媒体流的场景下应用。本专利技术的实现原理主要是:利用Android系统中TCP/IP协议栈提供的局域网内的组播功能,在应用APP中建立Android系统内的组播通道,向此组播通道中发送(注入)传输流包,同时利用Android系统媒体播放子系统对标准组播资源的播放支持以达到实现播放的要求。如图2所示,所述步骤S1具体包括:S11、应用APP查询Android系统内的网络以及网络端口的使用状态,并将处于空闲状态的网络端口作为组播端口;S12、应用APP利用所述组播端口建立组播地址,并打开组播端口,生成组播通道。本步骤是充分利用Android系统中TCP/IP协议栈的数据组播功能,将应用APP内部的私有数据流(或称私有媒体流)在系统形成组播流,即形成公开、标准的播放流。本步骤巧妙地利用了Android系统中全局的TCP/IP协议栈的功能,使其完成私有媒体流的中转站或代理服务器功能,从而将私有媒体流转化为公开、标准的播放流。具体来说,此步骤中关键是确定应用APP所需要的组播地址及组播端口。由于在IP网络中,组播地址有其特殊规定:多播地址(multicastaddress)即组播地址,是一组主机的标示符,其已经加入到一个多播组中。在以太网中,多播地址是一个48位的标示符,命名了一组应该在这个网络中应用接收到一个分组的站点。在IPv4中,组播地址也被叫做D类地址,是一种类型的IP地址,它的范围从224.0.0.0到239.255.255.255(即确立的组播地址应该在TCP/IP网络标准规定的组播地址范围内,即224.0.0.0-239.255.255.255这段组播保留地址内),或,等同的,在224.0.0.0/4。但224.0.0.0被保留,不能赋给任何多播组。例如,选取的组播地址从239.1.2.1开始,发送本文档来自技高网...

【技术保护点】
一种基于Android系统的媒体数据流播放方法,其特征在于,包括步骤:A、应用APP建立组播地址,并打开组播端口,生成组播通道;B、应用APP获取数据源的传输流包,并利用所述组播通道发送所述传输流包,在Android系统内形成组播流;C、应用APP利用所述组播地址打开应用层的播放器,并开始播放所述组播流。

【技术特征摘要】
1.一种基于Android系统的媒体数据流播放方法,其特征在于,包括步骤:A、应用APP建立组播地址,并打开组播端口,生成组播通道;B、应用APP获取数据源的传输流包,并利用所述组播通道发送所述传输流包,在Android系统内形成组播流;C、应用APP利用所述组播地址打开应用层的播放器,并开始播放所述组播流;所述步骤A具体包括:A1、应用APP查询Android系统内的网络以及网络端口的使用状态,并将处于空闲状态的网络端口作为组播端口;A2、应用APP利用所述组播端口建立组播地址,并打开组播端口,生成组播通道;利用Android系统中TCP/IP协议栈提供的局域网内的组播功能,在应用APP中建立Android系统内的组播通道,向所述组播通道中发送或注入传输流包,同时利用Android系统媒体播放子系统对标准组播资源的播放进行支持以达到播放要求;所述步骤C之后还包括:D、当通过所述应用APP操控所述播放器时,匹配控制所述组播通道的数据注入速率和流量;所述操控包括暂停、恢复和倍速播放;所述步骤B中,应用APP连续获取需播放的数据流形成连续的传输流包,通过所述组播通道连续发送传输流包,形成系统内的组播流;若获取到的数据流不是传输流包,则需在发送前将数据流转化成传输流包。2.根据权利要求1所述的基于Android系统的媒体数据流播放方法,其特征在于,所述步骤D之后还包括:E、当所述数据源播放结束时,关闭所述组播通道以及关闭所述播放器。...

【专利技术属性】
技术研发人员:李义才
申请(专利权)人:深圳创维数字技术有限公司深圳市创维软件有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1