根据分析需求,这个系统必须实现以下的功能:
(1) 实现手机支持的视频格式文件的播放功能。
作为播放器,其核心就是能够流畅的播放视频文件。手机一般不会支持对解码要求太高的格式,如rmvb。作为手机硬件能够承载的视频流文件,都能够流畅的播放。
(2) 能够在手机里面定位视频文件。
在本播放器设计中,一个亮点就是自定义一个文件列表,能够访问手机里面任何能够进入的文件。这样,也就能够不需要将视频文件放在一个系统固定的位置,您可以自己新建一个存放视频文件的文件夹,放在任何你想要放的地方。这样,需要播放你认识的文件的时候,直接定位再好不过!
这里,就是实现这样一个能够直接定位视频文件的功能,能够对其进行相关的播放相关的控制相应。如直接播放,查看详情,加入收藏夹等。
(3) 能够智能搜索出所有android sdcard中的视频文件。
做视频的智能搜索,也是能够快速定位位于sdcard中的视频文件的另一个快捷的方法。
在智能搜索设计中,通过mediascanner进行sdcard中的所有视频文件的扫描。所有扫描的出来的文件信息进行数据库存储,方便下次读取。同时,将其显示到界面,在其中设计一个搜索框,能够通过文字的匹配快读定位到相应的文件。
一般,这个方式是手机中存放的视频文件过多,不晓得要播放文件的具体位置,或者,只记得其名字中几个字符。这样定位会很快。
(4) 能够对视频文件信息进行读取,存储。
对视频文件的存储,读取主要是通过SQLite。SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。
对视频文件信息的读取,存储,主要是用来对文件信息查询,以及后面对视频文件的播放记录的读取,再次播放,收藏进行关联操作。方便视频文件信息的再次读取。
(5) 对播放文件列表的记录。
文件列表包括历史播放记录列表,所有视频文件列表,收藏文件夹列表。
播放文件列表的设计,主要是方便用户观察哪些文件是已经播放,那些比较好,需要收藏,方便再次观看,同时,方便用户直接点击播放列表中的文件来进行快速播放。
(6) 网络视频流的实时播放。
这里的功能是能够对网上有些实时视频流文件进行实时播放。当然现定于RSTP协议。
和Android自带的播放器相比,此播放器的特点是:
(1) 更炫的界面。
(2) 能够直接定位到sdcard中的文件,进行播放。
(3) 通过搜索,能够快速定位到想要播放的文件。
(4) 通过播放列表的记录,对播放的视频文件进行了更加详细的记录。
(5) 通过RTSP协议,能够播放实时视频流文件。