第三章
图3-11 串口管脚定义
开发板的 DB9 串口信号定义和 PC 的串口定义完全一样: 2:RXD 接收信号,对于开发板来说是输入信号 3:TXD 发送信号,对于开发板来说是输出信号 5:GND 公共地
第四章
第四章 音视频程序的设计与功能实现
4.1 主界面的设计及功能实现
4.1.1 主界面的设计
主界面的设计模板主要在windows下Glade-3.6.6界面设计软件下设生成xml文件,通过linux下开源gtk+库中函数接口获取解析模板 ,并通过函数接口获得模板中的控件,使用插入图片接口为窗口插入背景,为控件插入图片。 函数接口:
window->gxml= glade_xml_new(MAIN_WINDOW, NULL, NULL);//解析设计模板window->main_win.main_window=glade_xml_get_widget(window->gxml,\_window\获取glade定义的控件
sungtk_background_set_picture(window->main_win.main_window,\/back.jpg\为窗口设置背景
sungtk_button_inset_image(window->main_win.wav_button,\png\为控件插入图片
主界面内容:音频采集按钮,视频采集按钮,退出程序按钮,时间标签
4.1.2 功能实现
主界面的主要功能是功能选择,选择录像还是录音,点击录像,录音按钮会进入相应的功能窗口,点击退出按钮会推出程序。
当点击功能按钮时,会触发点击\事件,通过接口调用相应按钮触发的回调函数,点击录音,录像按钮时,会调用gtk_widget_hide_all()接口隐藏主界面,gtk_widget_show_all()接口更换已经初始化好的相应的功能界面,点击关闭按钮,调用gtk_main_quit()退出窗口,并退出程序
19
第四章
设计模板及效果图:
图4-1 主界面模板
图4-2 主界面窗口视图
第四章
4.2 录放音界面的设计及功能实现
4.2.1 录音界面的设计
录音界面主要包括录音按钮,放音界面按钮,返回按钮。 设计模板及效果图如下:
图4-3 录音界面设计模板
图4-4 录音界面效果图
第四章
4.2.2 录音界面功能的实现
录音界面功能主要包括,录音功能,进入放音界面功能,返回主界面功能。 录音功能:当接入录音界面时先初始化/dev/dsp录音设备,设置采样位数,采样通道,采样频率(正常人耳识别频率:20~20khz),这次设计我采用的采样频率是22050hz(22khz),通道数为2,采样位数为16,一秒采集到的数据大小为88200Byte,点击录音按钮,开启一个线程,按照时间新建并打开一个.wav 文件,开始录音,对于.WAV格式的音频文件先设定44字节的头并写入文件头部,然后通过read()接口不断的从/dev/dsp音频设备读取音频数据,并循环不停的将采样数据通过write()接口写入文件,直到点击停止录音按钮,将音频数据的大小写入wav文件头部,存取文件到指定路径,完成录音,连续录音,需要结束并回收上次录音的线程资源。
进入放音界面:隐藏录音界面,显示播放录音界面窗口即可。
返回主界面:隐藏录音界面,显示主界面窗口即可,返回主界面会同时关闭录音设备。
4.2.3 放音界面的设计
放音界面主要包括,播放录音按钮,删除录音文件按钮,返回按钮, 录音文件列表等控件。
4.2.4 放音界面功能的实现
放音界面功能主要包括,显示录音文件功能,删除录音文件功能,自动播放功能,返回录音界面功能。
显示及播放录音文件功能的实现:进入播放录音界面先通过opendir 和readdir读取指定路径的.wav文件并显示在屏幕上,点击屏幕上的.wav文件时,分栏列表会产生一个信号,触发选择文件\事件,调用事件回调函数,在回调函数中会开启一个线程,在这个线程中先读取wav文件的44个字节的头部,从中解析出录用数据的长度,根据数据长度,不停的读取.wav文件中