基于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)。基于android的嵌入式视频系统(编辑修改稿)
相关推荐
领域的,基于相应的嵌入式硬件平台,同时需要完成用户指定的预期任务的计算机软件。 它可以由一个任务来完成也可以由多个任务共同完成。 嵌入式软件的特点如下 1) 系统软件的高实时性是其基本的要求 2) 多任务的实时操作系统成为嵌入式应用软件的必须条件 3) 要求对软件实现固态化存储,因为一般完成设计的软件程序都需要打包然 后放在操作系统中,需要时就运行应用程序,一般不允许对其软件程序进 行修改。
的数据类型设为 datetime 的原因是因为 datetime可以直接对时间进行操作 列名 数据类型 允许空 id int 不允许 u_name Varchar(50) 不允许 u_sex Varchar(10) 不允许 u_mail Varchar(30) 不允许 u_qq Varchar(20) 不允许 adddate datetime 不允许 图 34 用户信息表 毕业设计用纸 第 11
该系统 , 总结出现有系统的优点和不足 , 从而得出新系统的雏形。 这是了解一个陌生应用领域的最快方法。 分析员应该为每个可行的解法制定一个粗略的实现进度。 当然 , 可行性研究最根本的任务是对以后的行动方针提出建议。 如不可行的话 , 分析员应该停止这项开发工程 , 以避免时间、资源、人力和经费的浪费;如果问题值得解决的话 ,分析员就应该推荐一个好的解决方案 , 并且为工程指定一个初步设计。
Activity 结束时都会相应一起退出系统,因此针对每一个 Activity 设置一个 BroadcastReceiver 来接收广播,一旦接收到广播当前 Activity 自动退出。 Activity 接收到广播后退出的代码如下所示 : private BroadcastReceiver exitReceiver = new BroadcastReceiver(){ @Override
17XTALI18IOVDD219DGND220DGND321DGND422XCS23CVDD224NC25RX26TX27SCLK28SI29SO30CVDD331TEST32GPIO0/SPIBOOT33GPIO134NC35NC36AGND037AVDD038RIGHT39AGND140AGND241GBUF42AVDD143RCAP44AVDD245LEFT46AGND347LINEIN4
)。 按导电类型不同分类 集成电路按导电类型可分为双极型集成电路和单极型集成电路,他们都是数字集成电路。 双极型集成电路的制作工艺复杂,功耗较大,代表集成电路有 TTL、 ECL、电子科技大学成都学院课程设计 8 HTL、 LSTTL、 STTL等类型。 单极型集成电路的制作工艺简单,功耗也较低,易于制成大规模集成电路,代表集成电路有 CMOS、 NMOS、 PMOS 等类型。 按用途分类