一种基于Android的多路视频播放方法技术

技术编号:19551534 阅读:26 留言:0更新日期:2018-11-24 21:59
本发明专利技术公开了一种基于Android的多路视频播放方法,包括以下步骤:S1:检测页面状态,当页面处于视频播放状态时,在页面添加至少两个SurfaceView;S2:创建与所述SurfaceView数量相同的若干个播放器,所述每一个播放器分别与S1中的其中一个SurfaceView唯一相对应;S3:所述每一个SurfaceView分别传递至与其相对应的所述播放器,供所述播放器显示视频画面。通过本技术方案,能实现在Android设备上播放多路视频,进一步地还能使得多路视频的切换更为平滑。

A Multiplex Video Playing Method Based on Android

The invention discloses a multi-channel video playback method based on Android, which includes the following steps: S1: detecting the page state, adding at least two SurfaceViews to the page when the page is in the video playback state; S2: creating several players with the same number of SurfaceViews, each of which is in S1 respectively. One of the SurfaceViews corresponds uniquely; S3: Each SurfaceView is transmitted to the corresponding player for displaying video pictures. Through this technical scheme, it can play multi-channel video on Android devices, and further make the multi-channel video switching smoother.

【技术实现步骤摘要】
一种基于Android的多路视频播放方法
本专利技术涉及智能播放
,尤其涉及一种基于Android的多路视频播放方法。
技术介绍
目前,在智能设备视频播放的
中,大多在同一时间内只能播放一路视频,并设置有一个播放窗口,不能同时进行两个或两个以上的多路视频的播放。而在一些其他传统的电视设备中,可能会有“画中画”的播放技术,但这种技术一方面不是适用于智能设备领域,如Android电视;另一方面在一些支持两路视频的播放应用中,对两路视频进行大小屏切换的时候,需要停止当前播放,重新加载重新播放,会造成画面黑屏或显示加载画面,用户需要等待一段时间才能继续观看,影响观看流畅度,导致用户体验差。因此,如何实现在智能设备上进行两路视频播放,以及如何实现智能设备上进行两路视频的平滑切换,是该
需要解决的技术问题之一。
技术实现思路
为了克服现有技术的不足,本专利技术所解决的技术问题是提供一种能实现在Android设备上播放多路视频的方法。为解决上述技术问题,本专利技术所采用的技术方案内容具体如下:一种基于Android的多路视频播放方法,其特征在于,包括以下步骤:S1:检测页面状态,当页面处于视频播放状态时,在页面添加至少两个SurfaceView;S2:创建与所述SurfaceView数量相同的若干个播放器,所述每一个播放器分别与S1中的其中一个SurfaceView唯一相对应;S3:所述每一个SurfaceView分别传递至与其相对应的所述播放器,供所述播放器显示视频画面。为实现在Android设备上在同一时间播放多路视频,专利技术人在本技术方案中利用了Android的SurfaceView,并将SurfaceView传递至创建的播放器,将SurfaceView传递给播放器,供播放器显示视频画面。由于SurfaceView可以添加多个,因此可以在同一时间内同时在多个播放器中进行视频播放,从而实现了在Android设备上在同一时间播放多路视频的技术目的,从而解决了不能同时播放多路视频的问题,提高了用户的体验效果。需要说明的是,本技术方案中的多路,指的是超过一路的情况,即包括两路、三路、四路……当然,本技术方案也可以适用于三路或三路以上。如果是硬解的话,系统支持多少路硬解就可以有多少路;软解的话,理论上是没有上限的。但在本技术方案中,以下主要以二路作为阐述。优选地,所述S1中,在页面添加SurfaceView的数量为两个,分别为SurfaceViewS1和SurfaceViewS2;在S2中,创建的播放器也为两个,分别为playerP1和playerP2;在S3中,所述SurfaceViewS1和SurfaceViewS2分别传递至所述playerP1和playerP2,供所述播放器显示视频画面。优选地,所述SurfaceViewS1的尺寸大于SurfaceViewS2;所述SurfaceViewS2覆盖于所述SurfaceViewS1之上。需要说明的是,在一些优选实施方式中,对两个SurfaceView通过尺寸大小加以区分,防止在同样尺寸大小的情况下其中一个SurfaceView完全覆盖另外一个SurfaceView的情况,导致在下一层的SurfaceView无法被观看的情况。因此,在一个优选的实施方式中,SurfaceViewS2的尺寸小于被其覆盖的SurfaceViewS1。在更具体的实施方式中,SurfaceViewS2的尺寸调整可以是通过调整其width和height的方式实现的。更优选地,所述playerP1的声音处于开启状态;所述playerP2的声音处于静音状态。需要说明的是,作为一些实施方式的优选,相对位于下一层的SurfaceViewS1对应的playerP1的声音处于开启状态,而相对位于上一层的SurfaceViewS2所对应的playerP2的声音处于静音状态,这样可以避免两个播放器同时发声而造成的声音效果混乱,而通常而言,尺寸较大的SurfaceView对应的player的声音处于播放状态会更符合用户的需求。在另一些优选的实施方式中,也可以是所述playerP2的声音处于开启状态;所述playerP1的声音处于静音状态。优选地,所述方法还包括:S4:所述playerP1和playerP2分别对应的SurfaceView进行切换。更优选地,所述S4具体方法包括:S41:移除当前SurfaceViewS1和SurfaceViewS2;S42:添加新的两个SurfaceView,分别为SurfaceViewS3和SurfaceViewS4;S43:SurfaceViewS3和SurfaceViewS4分别传递至所述两个播放器,供所述播放器显示视频画面。需要说明的是,在很多的情况下,用户需要对两个同时正在播放的视频进行切换。而为了使得用户可以自由切换两路视频的画面位置和大小,专利技术人在本技术方案中提供了一种新的思路,即另外添加两个新的SurfaceView,并在原有的SurfaceViewS1和SurfaceViewS2分别与playerP1和playerP2进行对应的规则上进行改变,形成SurfaceViewS3和SurfaceViewS4与playerP1和playerP2的对应关系,从而实现了对于SurfaceView的切换。通过本技术方案,可以使得用户可以随时切换观看的主要内容,为视频类应用增加应用场景,提升了用户体验。更优选地,所述S41还包括使用OpenGL对所述播放器进行视频渲染。需要说明的是,在现有的一些大小窗口视频切换的技术中,切换的过程中往往需要重新加载视频,有些或者还会出现长时间黑屏,严重影响了用户的体验。为解决这一技术问题,专利技术人在本技术方案中,使用了OpenGL对所述播放器进行视频渲染,具体而言,实现过程是:开始播放视频之前将SurfaceView传递给OpenGL。视频开始播放时,播放器将解码后的video数据传递给OpenGL,OpenGL根据video数据创建纹理,然后将生成的纹理绘制在SurfaceView上,完成视频的渲染。通过本技术方案,能够使得大小窗口视频切换更加平滑,提高用户的体验。进一步地,所述SurfaceViewS3的尺寸大于SurfaceViewS4;所述SurfaceViewS4覆盖于所述SurfaceViewS3之上。更进一步地,所述SurfaceViewS4和SurfaceViewS3分别传递至所述playerP1和playerP2。需要说明的是,在一个更优选的实施方式中,在之后形成的两个SurfaceView中,尺寸较小的SurfaceViewS4代替原来尺寸较大的SurfaceViewS1,尺寸较大的SurfaceViewS3代替原来尺寸较大的SurfaceViewS2,并形成对playerP1和playerP2的传递,从而实现了大小屏视频播放的切换。更进一步地,所述playerP1的声音处于静音状态;所述playerP2的声音处于开启状态。需要说明的是,此时所述playerP1对应的是尺寸较小的SurfaceViewS4,故将位于上层的playerP1设置为静音状态,而将位于下层的述playerP2的声音设置为开启状态,与上述优选本文档来自技高网...

【技术保护点】
1.一种基于Android的多路视频播放方法,其特征在于,包括以下步骤:S1:检测页面状态,当页面处于视频播放状态时,在页面添加至少两个SurfaceView;S2:创建与所述SurfaceView数量相同的若干个播放器,所述每一个播放器分别与S1中的其中一个SurfaceView唯一相对应;S3:所述每一个SurfaceView分别传递至与其相对应的所述播放器,供所述播放器显示视频画面。

【技术特征摘要】
1.一种基于Android的多路视频播放方法,其特征在于,包括以下步骤:S1:检测页面状态,当页面处于视频播放状态时,在页面添加至少两个SurfaceView;S2:创建与所述SurfaceView数量相同的若干个播放器,所述每一个播放器分别与S1中的其中一个SurfaceView唯一相对应;S3:所述每一个SurfaceView分别传递至与其相对应的所述播放器,供所述播放器显示视频画面。2.如权利要求1所述的多路视频播放方法,其特征在于,所述S1中,在页面添加SurfaceView的数量为两个,分别为SurfaceViewS1和SurfaceViewS2;在S2中,创建的播放器也为两个,分别为playerP1和playerP2;在S3中,所述SurfaceViewS1和SurfaceViewS2分别传递至所述playerP1和playerP2,供所述播放器显示视频画面。3.如权利要求2所述的两路视频播放方法,其特征在于,所述SurfaceViewS1的尺寸大于SurfaceViewS2;所述SurfaceViewS2覆盖于所述SurfaceViewS1之上。4.如权利要求3所述的两路视频播放方法,其特征在于,所述playerP1的声音处于开启状态;所述playerP2的声音处于静音状态。5.如权利...

【专利技术属性】
技术研发人员:朱思振崔红磊奚佩涛郭春茂
申请(专利权)人:苏宁易购集团股份有限公司
类型:发明
国别省市:江苏,32

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

1