一种Android系统中视频缩略图的生成方法和系统的制作方法

文档序号:6514170阅读:479来源:国知局
一种Android系统中视频缩略图的生成方法和系统的制作方法
【专利摘要】本发明公开了一种Android系统中视频缩略图的生成方法和系统,其中,所述方法包括:首先,根据用户指令获取监听到的视频界面的相应帧的数据信息;然后将所述数据信息转化为jepg格式的数据信息,并根据所述jepg格式的数据信息生成一位图保存下来;最后将所述位图提供给相机应用程序的视图上,形成视频缩略图。使相机应用程序在录制视频时在视图上显示视频缩略图,扩展了Android系统本身创建缩略图的方法,且所述生成方法步骤简单,生成的视频缩略图容易管理、易于为第三方应用使用,同时,该生成方法还具有效率高、资源消耗少等优点,具有很好的推广应用前景。
【专利说明】一种Android系统中视频缩略图的生成方法和系统
【技术领域】
[0001]本发明涉及Android系统【技术领域】,尤其涉及一种Android系统中视频缩略图的生成方法和系统。
【背景技术】
[0002]缩略图是一种代表网页上或计算机中图片经压缩方式处理后的小图,其中通常会包含指向完整大小的图片的超链接。因其小巧,加载速度非常快,故用于快速浏览,起到图片文件预览及目录的作用。[0003]基于Android系统的camera (相机)应用程序,已支持多种存储设备的录制视频的存储。因此,在录制视频之后对视频的缩略图的生成也不能采用原来的Android系统的方式进行生成,因为原先的Android系统的视频缩略图的生成是基于sd卡存储设备的,对于其他存储路径例如:内存、U盘等都是不支持的(不支持的原因在于:由于android系统本身设计并没有支持U盘存储和flash存储等,因此在设计视频缩略图的时候并没有考虑需要支持除sd以外的其他存储设备)。
[0004]同时,由于硬件在处理速度以及效率的原因,原生的Android系统的生成视频缩略图的方法比较耗费资源(特别在现在智能电视上面)当硬件本身的性能达不到,或者系统中其他需求需要消耗大量的硬件资源的时候,硬件本身就需要有更加强大的性能,解决的方法必须增加硬件性能。
[0005]现有的Android系统成生视频缩略图的方法消耗大量资源,影响系统整体性能。因此在很多系统当中对视频缩略图都采用屏蔽的方式,这样大大影响了系统的用户体验效果O
[0006]有鉴于此,现有技术有待改进和提闻。

【发明内容】

[0007]鉴于现有技术的不足,本发明目的在于提供一种Android系统中视频缩略图的生成方法和系统。旨在解决现有技术的Android系统中生成视频缩略图时存在的系统耗费资源过大的问题。
[0008]本发明的技术方案如下:
一种Android系统中视频缩略图的生成方法,用于相机应用程序在录制视频时在视图上显示视频缩略图,其中,所述生成方法依次包括以下步骤:
A、根据用户指令获取监听到的视频界面的相应帧的数据信息;
B、将所述数据信息转化为^pg格式的数据信息,并根据所述^pg格式的数据信息生成位图保存;
C、将所述位图提供给相机应用程序的视图上,形成视频缩略图;
所述的Android系统中视频缩略图的生成方法,其中,还包括步骤:
D、当视频录像没有保存成功或录制视频失败时,删除所述视频缩略图。[0009]所述的Android系统中视频缩略图的生成方法,其中,还包括步骤:
E、第三方应用通过获取所述位图实现调用视频缩略图。
[0010]所述的Android系统中视频缩略图的生成方法,其中,所述步骤A中具体包括:
Al、定义一 previewCalIback函数,并重写所述函数中的onPreviewFrame函数,所述
onPreviewFrame 函数包括 data 数据;
A2、通过onPreviewFrame函数中的data数据,获得设置监听之后的当前视频界面某一帧的数据信息。
[0011]所述的Android系统中视频缩略图的生成方法,其中,所述视频缩略图保存在相机应用程序所对应的存储位置内。
[0012]所述的Android系统中视频缩略图的生成方法,其中,所述步骤D中删除所述视频缩略图采用以下步骤:
创建deIeteVideoThumb函数,通过deIeteVideoThumb函数删除所述视频缩略图。
[0013]所述的Android系统中视频缩略图的生成方法,其中,还包括步骤:
F、相机应用程序结束录制视频时,获得视频最后一帧的数据信息,并依次采用步骤B、C形成最后一巾贞的视频缩略图。
[0014]一种Android系统中视频缩略图的生成系统,用于相机应用程序在录制视频时在视图上显示视频缩略图,其中,所述系统与相机应用程序的录像模块相连接,其中,所述系统包括:
采集单元,用于根据用户指令获取监听到的视频界面的相应帧的数据信息;
转化单元,用于将所述数据信息转化为j印g格式的数据信息,并根据所述j印g格式的数据信息生成一位图保存下来;
对应单元,用于将所述位图提供给相机应用程序的视图上,形成视频缩略图。
[0015]所述的Android系统中视频缩略图的生成系统,其中,还包括删除单元,用于当视频录像没有保存成功或录制视频失败时,删除所述视频缩略图。
[0016]所述的Android系统中视频缩略图的生成系统,其中,还包括供应单元,用于第三方应用通过获取所述位图实现调用视频缩略图。
[0017]有益效果:
本发明的Android系统中视频缩略图的生成方法和系统,使相机应用程序在录制视频时在视图上显示视频缩略图,扩展了 Android系统本身创建缩略图的方法,且所述生成方法步骤简单,生成的视频缩略图容易管理、易于为第三方应用使用,同时,该生成方法还具有效率高、资源消耗少等优点,具有很好的推广应用前景。
【专利附图】

【附图说明】
[0018]图1为本发明的Android系统中视频缩略图的生成方法的流程图。
[0019]图2为本发明的Android系统中视频缩略图的生成系统的结构框图。
【具体实施方式】
[0020]本发明提供一种Android系统中视频缩略图的生成方法和系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0021]请参阅图1,其为本发明的Android系统中视频缩略图的生成方法的流程图。如图所示,所述Android系统中视频缩略图的生成方法,用于相机应用程序在录制视频时在视图上显示视频缩略图,所述生成方法依次包括以下步骤:
51、根据用户指令获取监听到的视频界面的相应帧的数据信息;
52、将所述数据信息转化为j印g格式的数据信息,并根据所述jpeg格式的数据信息生成一位图保存下来;
53、将所述位图提供给相机应用程序的视图上,形成视频缩略图。
[0022]下面分别针对上述步骤进行详细描述:
所述步骤SI为根据用户指令获取监听到的视频界面的相应帧的数据信息。具体来说,相机应用程序录制视频开始后,监听视频界面,并根据用户的指令在监听到的视频界面的帧序列中选取一幅帧图像,获得所述帧图像的数据信息。在本实施例中,通过定义一previewCalIback函数,并重写所述函数中的onPreviewFrame函数,所述onPreviewFrame函数包括data数据;再通过onPreviewFrame函数中的data数据,获得设置监听之后的当前视频界面某一帧的数据信息。
[0023]所述步骤S2为将所述数据信息转化为j印g格式的数据信息,并根据所述j印g格式的数据信息生成一位图保存下来。由于onPreviewFrame函数回调中传来的数据(即某一帧的数据信息)为YUV数据源,因此需要首先把这个数据转化成jepg格式的数据信息,才能生成位图Bitmap。具体来说,通过Android系统的接口 YuvImage对象可以把YUV数据转化成jepg格式的数据。然后再把jepg格式的数据生成一个位图Bitmap。
[0024]在本实施例中,通过下述代码即可实现将YUV数据转化为相应的位图数据: Bitmap:
yuvimage= new YuvImage(data, ImageFormat.NV21, width, height, null);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
yuvimage.compressToJpeg(new Rect(0,0,widht,height),100,stream);
Bitmap bitmap = BitmapFactory.decodeByteArray(stream.toByteArray(), 0,


stream, size (),options)
所述步骤S3为将所述位图提供给相机应用程序的视图上,形成视频缩略图。在本实施例中,在相机应用程序的视图上显示当前录制视频缩略图中釆用了一个优化算法,进一步提高用户体验效果。算法如下:
在生成缩略图模块中,仓Il建一个更新缩略图显示的函数updateDisplay O,该函数实现动画更新控制功能。该方法中釆用TransitionDrawable函数,通过TransitionDrawable的startTransition方法启动动画。
[0025]定义一个setViewImageDrawable (View v)函数,该函数实现的功能就是为了实现可以在视图V上面显示视频缩略图的方法。
[0026]Drawable thumbs [] ;//定义一个存储缩略图的数据 if thumbs 等于 null {
thumbs = new Drawable[2]
thumbs[I] = (Drawable) bitmap;drawable = thumbs[I]
}else {
thumbs[0] = thumbs[I]
thumbs[I] = (Drawable)bitmap;
mTransitionDrawabIe = TransitionDrawable (thumbs)
drawable = mTran s i t i onDrawabIe
}
v.setImageDrawabIe(drawable)
在本实施例中,本发明的Android系统中视频缩略图的生成方法通过相机应用程序把自身需要显不的视图提供给setViewImageDrawable,并通过TransitionDrawable函数实现动画显示缩略图。再通过updateDisplay调用TransitionDrawable函数中的更新动画方法,更新动画。相机应用程序通过调用updateDisplay,启动动画显示。
[0027]进一步地,所述的Android系统中视频缩略图的生成方法还包括步骤:
54、当视频录像没有保存成功或录制视频失败时,删除所述视频缩略图。在本实施例中,通过创建函数deIeteVideoThumb O ,用来删除相机录制视频之后生成的视频缩略图文件,该deIeteVideoThumb O函数主要功能是为了删除视频缩略图文件。当视频录像没有保存成功,录制视频文件失败时候以及其他异常情况导致需要删除视频缩略图的时候使用。
[0028]更进一步地,所述的Android系统中视频缩略图的生成方法还包括步骤:
55、第三方应用通过获取所述位图实现调用视频缩略图。通过创建函数createVideoThumb O ,该函数的功能是在相机应用程序录制视频选择的存储位置(U盘、sd卡和内存)里面创建一个保存视频缩略图(在本步骤所述的视频缩略图指位图)的文件。当开始录制视频的时候,根据录制视频时候选择的存储路径,以及创建录制视频的名称,使用生成缩略图模块中的createVideoThumb O方法创建一个名称和录制视频名称一样的文件。注:文件的扩展名不一样。视频文件为3gp,缩略图为jpg。该文件用来存储录制视频的视频缩略图。
[0029]另外,所述的Android系统中视频缩略图的生成方法中,相机应用程序结束录制视频时,米用 setOneShotPreviewCallback(previewCalIback)函数启动步骤一中定义的 previewCalIback 函数,该函数中的回调函数 onPreviewFrame (byte [] data, Cameracamera)会被触发,onPreviewFrame (byte [] data, Camera camera)函数中 data 数据信息就是当前一帧的数据信息,这样就达到了结束录制视频时候通过回调函数获得当前相机的一中贞数据信息。
[0030]本发明还提供了一种Android系统中视频缩略图的生成系统,用于相机应用程序在录制视频时在视图上显示视频缩略图,如图2所示,所述系统与相机应用程序的录像模块相连接,其中,所述系统包括:
采集单元100,用于根据用户指令获取监听到的视频界面的相应帧的数据信息;
转化单元200,用于将所述数据信息转化为^pg格式的数据信息,并根据所述^pg格式的数据信息生成一位图保存下来;
对应单元300,用于将所述位图提供给相机应用程序的视图上,形成视频缩略图。
[0031]进一步地,所述的Android系统中 视频缩略图的生成系统中,还包括删除单元,用于当视频录像没有保存成功或录制视频失败时,删除所述视频缩略图。
[0032]更进一步地,所述的Android系统中视频缩略图的生成系统中,还包括供应单元,用于第三方应用通过获取所述位图实现调用视频缩略图。
[0033]因为上述模块的具体实施细节都在Android系统中视频缩略图的生成方法中进行了详细描述,这里就不再赘述了。
[0034]综上所述,本发明的Android系统中视频缩略图的生成方法和系统,其中,所述方法包括:首先,根据用户指令获取监听到的视频界面的相应帧的数据信息;然后将所述数据信息转化为^pg格式的数据信息,并根据所述^pg格式的数据信息生成一位图保存下来;最后将所述位图提供给相机应用程序的视图上,形成视频缩略图。使相机应用程序在录制视频时在视图上显示视频缩略图,扩展了 Android系统本身创建缩略图的方法,且所述生成方法步骤简单,生成的视频缩略图容易管理、易于为第三方应用使用,同时,该生成方法还具有效率高、资源消耗少等优点,具有很好的推广应用前景。[0035]应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
【权利要求】
1.一种Android系统中视频缩略图的生成方法,用于相机应用程序在录制视频时在视图上显示视频缩略图,其特征在于,所述生成方法依次包括以下步骤: A、根据用户指令获取监听到的视频界面的相应帧的数据信息; B、将所述数据信息转化为^pg格式的数据信息,并根据所述^pg格式的数据信息生成位图保存下来; C、将所述位图提供给相机应用程序的视图上,形成视频缩略图。
2.根据权利要求1所述的Android系统中视频缩略图的生成方法,其特征在于,还包括步骤: D、当视频录像没有保存成功或录制视频失败时,删除所述视频缩略图。
3.根据权利要求1或2所述的Android系统中视频缩略图的生成方法,其特征在于,还包括步骤: E、第三方应用通过获取所述位图实现调用视频缩略图。
4.根据权利要求1所述的Android系统中视频缩略图的生成方法,其特征在于,所述步骤A中具体包括: Al、定义previewCalI back函数,并重写所述函数中的onPreviewFrame函数,所述onPreviewFrame 函数包括 data 数据; A2、通过onPreviewFrame 函数中的data数据,获得设置监听之后的当前视频界面某一帧的数据信息。
5.根据权利要求1所述的Android系统中视频缩略图的生成方法,其特征在于,所述视频缩略图保存在相机应用程序所对应的存储位置内。
6.根据权利要求2所述的Android系统中视频缩略图的生成方法,其特征在于,所述步骤D中删除所述视频缩略图采用以下步骤: 创建一 deIeteVideoThumb函数,通过所述deIeteVideoThumb函数删除所述视频缩略图。
7.根据权利要求1所述的Android系统中视频缩略图的生成方法,其特征在于,还包括步骤: F、相机应用程序结束录制视频时,获得视频最后一帧的数据信息,并依次采用步骤B、C形成最后一帧的视频缩略图。
8.—种Android系统中视频缩略图的生成系统,用于相机应用程序在录制视频时在视图上显示视频缩略图,其特征在于,所述系统与相机应用程序的录像模块相连接,其中,所述系统包括: 采集单元,用于根据用户指令获取监听到的视频界面的相应帧的数据信息; 转化单元,用于将所述数据信息转化为j印g格式的数据信息,并根据所述j印g格式的数据信息生成一位图保存下来; 对应单元,用于将所述位图提供给相机应用程序的视图上,形成视频缩略图。
9.根据权利要求8所述的Android系统中视频缩略图的生成系统,其特征在于,还包括删除单元,用于当视频录像没有保存成功或录制视频失败时,删除所述视频缩略图。
10.根据权利要求8或9所述的Android系统中视频缩略图的生成系统,其特征在于,还包括供应单元,用于第三方应用通过获取所述位图实现调用视频缩略图。
【文档编号】G06F9/44GK103544221SQ201310457166
【公开日】2014年1月29日 申请日期:2013年9月30日 优先权日:2013年9月30日
【发明者】郝占峰 申请人:Tcl集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1