时间:2024-09-03
重庆邮电大学光电工程学院 陈鸿跃 彭 珂
一种Android视频数据接收与播放技术的实现
重庆邮电大学光电工程学院 陈鸿跃 彭 珂
视频播放是Android系统不可缺失的重要部分,基于Android开发的很多应用都涉及Android系统上视频播放的技术。本文针对一种特定的应用场景,介绍了一种视频数据的接收与播放技术。通过对Android终端接收到的数据进行组合,接收完整后保存为视频数据,然后调用播放器进行播放[1]。另外本文给出了一种Android布局界面切换的实现方法,可以实现不同界面的动态切换。
Android;视频播放;布局界面
应用市场上很多Android应用都包含视频播放的功能,这些应用基本上都是采用互联网技术,通过Android系统支持的各种网络通信API获取视频数据,然后进行解码播放,这种方式已经成为很多网络APP的主流。但是这种方式需要Android终端接入互联网,且对终端产品质量有一定的要求,这就使得Android终端容易遭受网络攻击,给Android终端安全造成了很大的威胁。本文基于一种特定的应用场景,通过数字多媒体广播系统(DMB)获取视频数据,将视频数据保存在终端,然后调用视频播放器进行播放。这种方式摆脱了Android终端对网络的依赖,同时也使得终端的安全得到了保证。
系统方案设计主要包含数据接收和视频播放两个方面。数据接收模块包含两个模块,第一个模块是通过外部硬件终端将数字多媒体广播发射的视频数据处理后通过USB接口送往Android系统,第二个模块Android系统对接收到的视频数据进行解码并组成视频数据。视频播放模块同样包含两个模块,第一个模块是视频检测模块,通过监测应用的特定文件夹中是否有视频数据来更新播放队列,第二个模块是视频播放模块,该模块通过调用一个视频播放器来实现[2][3]。
图1 系统方案
数据接收模块负责接收视频数据,该模块主要包括硬件接收模块和软件处理模块。对于硬件接收模块由于是直接应用已有技术,在此不再赘述;软件处理模块主要将硬件终端接收到的数据通过TPEG协议进行解码,将解码后的数据按照发射时的顺序拼接成完整视频,然后将此视频保存至Android应用的指定文件夹下,供视频播放模块调用。
视频播放模块负责播放视频数据,该模块通过对文件进行扫描,判断文件是否存在从而选择终端是否对视频文件进行播放。
(1)视频监测:通过开启一个始终运行的线程,来监测Android应用的文件夹中是否包含视频文件,若视频文件存在就加入到播放队列中:
(2)视频播放:通过对视频播放队列进行检测,若该对列包含视频数据,则开启播放代码。本文采用双队列模式播放视频,将接收到的视频文件保存在queue队列中,一直播放tempqueue队列中的视频文件,若tempqueue中的文件播放完毕,再从queue中复制。
本文设计的Android应用采用两种界面,布局文件采用帧布局,当软件处于数据接收状态时,应用界面显示正在接收的页面,当接收完毕后开启播放界面,从而提高应用的交互性和友好度。
本Android应用采用AndroidStudio软件开发,将工程生成的APK文件安装到真机经过长时间连续测试,视频播放流畅,应用稳定运行。达到了视频播放的功能。
图2 测试效果图
本文介绍了一种Android系统接收视频文件及播放技术的实现方法,能实现将数字多媒体广播发射的视频数据保存至Android应用的文件夹下,从而调用播放器对视频文件进行播放。经过长时间的联合调试,整个系统稳定运行,实现了Android终端播放视频的功能。
[1]宋人杰,张鹏宇,林本侠.一种新的音视频同步方案的研究[J].东北电力大学学报,2014,2:015.
[2]慕银锁.ANDROID系统研究与移植[D].电子科技大学,2012.
[3]范埃夫里.Android多媒体开发高级编程[M].清华大学出版社,2012.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!