无侵入控制视频播放的方法、计算设备和存储介质与流程

文档序号:16404235发布日期:2018-12-25 20:19阅读:133来源:国知局
无侵入控制视频播放的方法、计算设备和存储介质与流程

本发明涉及视频控制技术领域,更具体地涉及一种在android系统中无侵入控制视频播放的方法、计算设备和非暂时性机器可读存储介质。

背景技术

在android中视频播放是一个经常使用的功能,但是视频播放的控制确不是那么方便,当每次开发一个视频功能时,比如手势滑动调节音量,调节屏幕亮度,左右拖动快进后退,或者监听当前视频的播放周期同步到控制view上,都是一个很大的难点,每次都要自实现,成本很大,迁移性很低。



技术实现要素:

为了克服现有技术中的上述不足,本发明提供一种在android系统中无侵入控制视频播放的方法、计算设备和非暂时性机器可读存储介质。

根据本发明的第一方面,提供一种在android系统中无侵入控制视频播放的方法。所述方法包括:创建一个视频控制布局,所述视频控制布局包括五个部分,即,上部、下部、中部、左部和右部;对所述五个部分中的视频控件分别进行配置;将已配置的视频控制布局无侵入嵌入到视频布局中。

在本发明的一种改进实施方式中,所述上部包括用于控制视频返回按钮和当前视频标题的控件;所述下部包括用于显示视频进度、视频播放/暂停按钮和全屏/非全屏按钮的控件;所述中部包括用于显示视频加载中动画的控件;所述左部包括用于控制视频亮度的控件;所述右部包括用于控制视频声音的控件。

在本发明的一种改进实施方式中,当视频处于加载状态时,所述用于显示视频加载中动画的控件被显示,同时,所述上部、所述下部、所述左部和所述右部中的控件被隐藏。

在本发明的一种改进实施方式中,在所述视频控制布局的触摸事件被截断之后,所述视频控制布局处于手势控制方式下。

在本发明的一种改进实施方式中,如果触摸的点在屏幕右侧或左侧,并且,上下滑动的距离大于左右滑动的距离,则根据上下滑动的距离占用屏幕的比例来调节视频的音量或亮度。

在本发明的一种改进实施方式中,如果触摸的点在屏幕右侧或左侧,并且,上下滑动的距离小于左右滑动的距离,则动态地快进或回退视频的进度。

在本发明的一种改进实施方式中,所述上部或所述下部中的控件在被显示预设时间之后自动隐藏。

在本发明的一种改进实施方式中,所述预设时间为2秒。

根据本发明的第二方面,提供一种计算设备,所述计算设备包括:处理器;以及存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行上述的方法。

根据本发明的第三方面,提供一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行上述的方法。

本发明的技术方案提出了一中无侵入式视频播放控制的方案,能够在完全无需侵入原本逻辑代码的情况下,将控制布局嵌入到原本的视频控制布局中,轻松完成对视频播放的控制。而且,该方案集成了市面大部分视频控制逻辑,例如,音量控制,亮度控制,快进/退支持,进度条拖动等。同时,控制布局中的控件的功能自定义化,由开发者决定需要什么功能。

附图说明

通过结合附图对本发明示例性实施方式进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显,其中,在本发明示例性实施方式中,相同的参考标号通常代表相同部件。

图1为根据本发明示例性实施例的在android系统中无侵入控制视频播放的方法的流程图。

图2为图1所示的方法中创建的布局的布局格式的示意图。

图3为图2所示的布局所对应的真实产品的示意图。

图4为根据本发明示例性实施例的可用于在android系统中无侵入控制视频播放的计算设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本发明的优选实施方式。虽然附图中显示了本发明的优选实施方式,然而应该理解,可以以各种形式实现本发明而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。

本发明针对目前android系统中的视频播放控制困难的问题而提出了一种无侵入控制视频播放的方法。该方法包括:创建一个视频控制布局,所述视频控制布局包括五个部分,即,上部、下部、中部、左部和右部;对所述五个部分中的视频控件分别进行配置;将已配置的视频控制布局无侵入嵌入到视频布局中。通过上述方法,能够在完全无需侵入原本逻辑代码的情况下,将控制布局嵌入到原本的视频控制布局中,轻松完成对视频播放的控制。而且,该方法集成了市面上大部分视频控制逻辑,例如,音量控制,亮度控制,快进/退支持,进度条拖动等。同时,控制布局中的控件的功能自定义化,由开发者决定需要什么功能。

在对本发明的技术方案进行具体描述之前,首先对本发明中所提及的术语进行适当的解释。

本文中所提及的“framelayout”(框架布局)是最简单的布局方式,所有添加到这个布局中的视图都是以层叠的方式显示。第一个添加到布局中视图显示在最底层,最后一个被放在最顶层。上一层的视图会覆盖下一层的视图,因此该布局类似于堆栈布局。

本文中所提及的“handler”(处理器)是android系统中的延迟执行函数。

本文中所提及的“gesturedetector”(手势检测器)用于帮助开发者识别手势,可以自动辨别常用的手势事件,例如,点击、长按、滑动等。

图1示出了根据本发明示例性实施例的在android系统中无侵入控制视频播放的方法的流程图。如图1所示,该方法包括创建视频控制布局的步骤s1、配置视频控制布局中的各个控件的步骤s2和将已配置的视频控制布局嵌入视频布局中的步骤s3。下面针对各个步骤进行具体的描述。

首先,在步骤s1中,创建一个framelayout布局(以下称为videocontrollerview),将整个布局分五层,如图2所示的五个部分,即,上部、下部、左部、右部和中部。其中,上部可以包括用于控制视频返回按钮和当前视频标题的控件,下部可以包括用于显示视频进度、视频播放/暂停按钮和全屏/非全屏按钮的控件,中部可以包括用于显示视频加载中动画的控件,左部可以包括用于控制视频亮度的控件,右部可以包括用于控制视频声音的控件。图3示出了图2所示的布局所对应的真实产品的示意图。如图3所示,上部显示了返回按钮和视频标题“buckbunny”,下部显示了播放/暂停按钮、视频进度、全屏/非全屏按钮,并且,中部、左部和右部的控件全部被隐藏。

然后,在步骤s2中,对videocontrollerview中的五个部分的视频控件分别进行配置。也就是说,videocontrollerview的所有视频控件都是可配置的。具体地,当视频处于加载状态的时候,中部加载自动展示出,同时隐藏掉上部、下部、左部和右部的控件。通过gesturedetector来截断videocontrollerview触摸事件,转换成更精确的手势控制方式。当触摸的点在屏幕右侧,如果此时手势上下滑动的距离大于左右滑动,则说明用户是在右侧执行上下滑的操作。因此,此时根据上滑的距离按占用屏幕的距离的比例调节视频的音量或者亮度(这可以由开发者控制)。类似地,当触摸的点在屏幕左侧,如果此时手势上下滑动的距离大于左右滑动,则说明用户是在左侧执行上下滑的操作。因此,此时根据上滑的距离按占用屏幕的距离的比例调节视频的亮度或者音量。然而,在触摸的点在屏幕右侧或左侧的情况下,如果左右滑动的距离大于上下滑动的距离,则动态快进或者回退当前视频进度。

当上部和/或下部的控件显示时,通过handler延迟2s或者自定义的时间后自动隐藏,并且每个部分支持动画,比如上部往上消失,下部往下消失。这样是为了留更多的视频空间给用户完整观看视频,并防止打扰用户。同时,通过接口暴露给外部调用者将具体的视频播放声明回调给videocontrollerview,以便在页面中同步状态。例如,通过接口,用户可以获得当前视频是否正在播放。接口的设计目的是为了将播放核心(即用户对视频的操作,例如,开始,暂停,拖动,结束等各种视频控制相关的操作)扔给开发者自己处理。videocontrollerview本身根据视频播放周期来响应对应的ui(因为对一个视频开发者来说,其对视频有绝对的掌控权,而对于响应方/ui控制方而言,只是响应/调用对应的功能即可)。例如,在videocontrollerview中按暂停按钮,通过接口回调,开发者实现该回调,并且补充响应暂停的操作即可。

最后,在步骤s3中,将已配置的视频控制布局无侵入嵌入到视频布局中。具体地,通过videocontrollerview的父布局(又称为anchorview)中的添加功能,将videocontrollerview视频控制布局覆盖在原本的视频布局中,即无侵入嵌入到视频布局中。这样开发者完全不用更改自身的布局,就能轻松将视频控制的布局集成到原本的视频控件上。

综上所述,本发明的无侵入式视频播放控制的方法,能够在完全无需侵入原本逻辑代码的情况下,将控制布局嵌入到原本的视频控制布局中,轻松完成对视频播放的控制。而且,该方法集成了市面大部分视频控制逻辑,例如,音量控制,亮度控制,快进/退支持,进度条拖动等。同时,控制布局中的控件的功能自定义化,由开发者决定需要什么功能。

图4示出了根据本发明示例性实施例的可用于实现上述的在android系统中无侵入控制视频播放的方法的计算设备的结构示意图。

参见图4,计算设备1000包括存储器1010和处理器1020。

处理器1020可以是一个多核的处理器,也可以包含多个处理器。在一些实施例中,处理器1020可以包含一个通用的主处理器以及一个或多个特殊的协处理器,例如图形处理器(gpu)、数字信号处理器(dsp)等等。在一些实施例中,处理器1020可以使用定制的电路实现,例如特定用途集成电路(asic,applicationspecificintegratedcircuit)或者现场可编程逻辑门阵列(fpga,fieldprogrammablegatearrays)。

存储器1010可以包括各种类型的存储单元,例如系统内存、只读存储器(rom),和永久存储装置。其中,rom可以存储处理器1020或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器1010可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(dram,sram,sdram,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器1010可以包括可读和/或写的可移除的存储设备,例如激光唱片(cd)、只读数字多功能光盘(例如dvd-rom,双层dvd-rom)、只读蓝光光盘、超密度光盘、闪存卡(例如sd卡、minsd卡、micro-sd卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。

存储器1010上存储有可执行代码,当可执行代码被处理器1020处理时,可以使处理器1020执行上文述及的在android系统中无侵入控制视频播放的方法。

上文中已经参考附图详细描述了根据本发明的在android系统中无侵入控制视频播放的方法和用于实现该方法的计算设备。

此外,根据本发明的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。

或者,本发明还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本发明的上述方法的各个步骤。

本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。

附图中的流程图和框图显示了根据本发明的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

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