基于android的嵌入式视频系统(编辑修改稿)内容摘要:

d:layout_width=fill_parent android:layout_height=fill_parent android:gravity=right Button android:layout_width=wrap_content android:layout_height=wrap_content android:text=@string/aaa android:id=@+id/aaa / Button android:layout_width=wrap_content android:layout_height=wrap_content android:layout_marginLeft=10dip android:text=@string/record android:id=@+id/record 本科生毕业设计(论文) 16 / Button android:layout_width=wrap_content android:layout_height=wrap_content android:layout_marginLeft=10dip android:text=@string/finish android:id=@+id/finish / /LinearLayout /LinearLayout 为了实现屏幕的横放是在 里加入代码: android:screenOrientation=landscape 总体情况可见图。 图 视频刻录界面 视频的播放布局 视频的播放设置有一个 TextView 显示文件目录提示,一个 EditText 用来输入文件的路径, 4 个 Button 分别 用来对视频进行播放、暂停、重播和停止,还有一个SurfaceView。 总体情况见 图 , 其布局代码( )如下: ?xml version= encoding=utf8? LinearLayout xmlns:android= android:orientation=vertical android:background=9932CC android:layout_width=fill_parent 本科生毕业设计(论文) 17 android:layout_height=fill_parent TextView android:layout_width=fill_parent android:layout_height=30dip android:text=@string/textview / EditText android:layout_width=fill_parent android:layout_height=wrap_content android:id=@+id/filename / LinearLayout android:orientation=horizontal android:layout_width=fill_parent android:layout_height=wrap_content Button android:layout_width=wrap_content android:layout_height=wrap_content android:text=@string/play android:id=@+id/play / Button android:layout_width=wrap_content android:layout_height=wrap_content android:text=@string/pluse android:id=@+id/pluse / Button android:layout_width=wrap_content android:layout_height=wrap_content android:text=@string/replay android:id=@+id/replay / Button android:layout_width=wrap_content android:layout_height=wrap_content android:text=@string/stop android:id=@+id/stop / /LinearLayout 本科生毕业设计(论文) 18 SurfaceView android:layout_width=fill_parent android:layout_height=240dip android:id=@+id/surfaceView1 / /LinearLayout 两个 Activity 之间的切换设计 两个 Activity 是通过 intent 来进行通信和相互调用的。 点击播放切换,程序会由第一个 Activity 跳转到另一个,见图 ,按钮的触发程序如下: Intent intent = new Intent()。 (,)。 (intent)。 由于有两个 Activity那当两窗口切换的太多时程序终结的时候从哪个开始呢,我在播放切换的时候又加上了如下代码: ()。 为第一个窗口也就是含有播放切换的窗口加标识,这个过程会把前面的栈中窗口清理,在之后的第一个窗口的 finish();就能直接的退出 程序了。 视频的刻录功能设计 视频的刻录 是对视频的采集、处理和存储,其流程如图 : 图 开始 设备初始化 照相机和麦克风 捕获图像和声音 传输到显示屏 刻录是否完成 保存录像 是 否 本科生毕业设计(论文) 19 刻录前的预期准备代码如下: mediaRecorder=new MediaRecorder()。 ()。 ()。 //从麦克风和照相机采集声音和图像 ()。 //输出格式 mp4 ()。 ()。 //音频和视频的编码方式 File videoFile = new File((), ()+.mp4)。 (())。 //按时间保存录好的视频 (())。 //照相机到 surfaceView (true)。 //刻录按钮能用 (false)。 //停止按钮不可用 ()。 //预期准备 之后便是按钮的响应了。 还有刻录涉及到了几个权限要加入到 中 usespermission android:name=/ usespermission android:name=/ usespermission android:name=/ usespermission android:name=/ 至此刻录基本完成,可见 图。 视频的播放功能设计 视频的播放是 对视频的播放、暂停、重播和停止这一系列功能的实现,其流程可见图。 图 本科生毕业设计(论文) 20 视频目录的查询首先是先定义: private EditText filenameText。 private String filename。 然后在屏幕上找到布局时的 EditText显示: filenameText = (EditText)()。 将找到的视频名放入: filename = ().toString()。 之后的视频的路径的传输则放在下面的 play()函数中; 单独的准备的播放函数代码: private void play() throws IOException { File videofile = new File((), filename)。 //创建一个文件存放视频目录 ()。 //重置为初始状态 ()。 (())。 //采用 surfaceView来显示画面 (())。 //绝对路径 ()。 //缓冲 ()。 //播放 } 之后是按钮的响应了,可见 图。 其他功能的设计 此程序最基本的容错功能先是 sdcard 卡的判定: if(!().equals()){ (, , 1).show()。 return。 }//判 断 sd 卡存不存在 Sdcarderror 是在 中给的文字说明: string name=sdcarderrorSdcard 不存在或者写保护 /string 还有视频目录的存在与否是通过例外来判定的: catch (Exception e) { (, , 1).show()。 //显示是否成功 (TAG, ())。 } 当然之前还得有个例外标志的建立 : private static final String TAG = MainActivity。 //例外标志 Error 也是在 中给的文字说明: 本科生毕业设计(论文) 21 string name=error请输入文件正确的位置 /string 随便输个路径 sda,这路径肯定是没有的,见图。 按钮的能用与否的显示,通过 setEnabled 来完成。 例如: (true)。 //显示 play 按钮能用 (false)。 //显示 pluse 按钮不能用 (false)。 //显示 replay 按钮不能用 (false)。 //显示 stop 按钮不能用 完成的情况见 图。 图 视频的播放界面 图 文件不存在 本科生毕业设计(论文) 22 真机画面的监控 因为是直接的真机调试无需在虚拟机上调试,测试是还是蛮快的。 真机调试其相关设置在前文的 已经说到了现在主要介绍在调试的过程中所遇到的一些问题。 首先是如何将手机看到的屏幕显示在电脑上,这点我是从网上找到了一个软件来帮助我实现的 ,这个软件叫 screen monitor 是一种屏幕的监控,给个下载网址: 解压缩 , 取得 ,将 复制到 C:\Program Files\Java\androidsdkwindows\platformtools 目录下 可以在手机与电脑 连接后 命令提示符中 进入 C:\Program Files\Java\androidsdkwindows\platformtools 执行下面命令: java jar 之后点 OK,屏幕也就出来了。 见图 图 真机的监控 本科生毕业设计(论文) 23 视频刻录 下面看看软件在机子上的情况: 文件的刻录,点击刻录按钮后开始刻录,之后点完成,我们来看看刻录视频的保存情况,可见图。 图 刻录流程演示 看得出来视频的保存是成功的,刻录功能基本实现。 视频播放 首先,在 sdcard 卡内放入一个视频,注意路径见图 (a),打开软件图 (b),点击播放切换图 (c),使得窗口切换到视频播放窗口,见图 (d)。 本科生毕业设计(论文) 24 (a) (b)。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。