数码毕设.doc_第1页
数码毕设.doc_第2页
数码毕设.doc_第3页
数码毕设.doc_第4页
数码毕设.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数码相框项目计算机科学与信息工程系网络工程班2008743012曲起萱目录1. 引言11.1 项目简要介绍 21.2 项目背景 22. 需求规格说明书22.1 市场需求分析 22.2 功能需求分析 23. 总体设计项目实施计划33.1 基本设计思路43.2 流程图 94. 函数接口定义94.1 内部接口 105. 项目进度116. 可行性报告126.1 要求116.2 目标116.3 假定与约束116.4 可行性研究方法126.5 决定可行性的主要因素12码相框设计文档一、 前言1、项目简要介绍:本项目设计为数码相框pc版,能够在linux下同步播放图片和音乐。不但可以实现传统相框的效果,而且添加了背景音乐,达到了视听效果的结合,本项目还有图片预览功能,可以使用户提前看到将要播放的图片。在自动播放时,图片间的切换添加了多种特效,使图片播放时更炫。2、 项目创新点:1) 音乐模块可以实现:暂停,播放,上一曲,下一曲,歌曲名显示等功能 2)预览模式支持单击放大效果,上一页,下一页二、 需求规格说明书1、市场需求分析:数码相框是时尚的电子消费品、也是家庭必备的装饰品。继承了数码的时尚和相框的温情,用途十分广泛。比如,可以作为商务礼品、节日礼品、纪念品、展览展 示、 福利奖品、现代家私、婚纱摄影、车载、数码摄影器材、 随身个 饰品等。随着数码相框的大众化,一定会出现越来越多有意思的创意应用,为我们的平淡的生活带来无穷的乐趣。 可当作精美的艺术画框和相框,可摆放在柜台桌面,也可挂墙当作壁画,同时也可作为动态及静态广告机使用 适用于家庭,各种高雅场所如商场,宾馆,酒店,休闲中心,酒吧,咖啡馆,走廊等 无须使用电脑,无须冲洗打印,数码相片可存放在数码相框中显示 。2、功能需求分析:作为数码相框,产品最大的功能自然是显示数码照片,它与传统相框的主要区别在于它是动态的,它采用了直接显示数码相框自身存储介质和各种数码存储卡里图片数据的工作方式 。还可以播放音乐,使用户在浏览图片的时候同时还可以欣赏音乐。三、 总体设计项目实施计划:1、 基本设计思路项目整体可分为四个功能模块,鼠标,预览,幻灯片,音乐。鼠标为主进程,而其它三个为子进程,进程间的通信采取管道,鼠标(父进程)向其它三个子进程发送信号来操作。单击“预览”或“幻灯片”按钮区域创建进程运行预览模块,右击退出返回到主菜单,退出时将进程杀死,释放内存空间单击音乐按钮区域,弹出音乐播放器(主要功能有:播放,关闭,音量大小,扩展有:音乐列表选择播放),右击并不退出音乐,只有单击关闭按钮才会关闭音乐(杀死音乐进程)。2、 流程图开始开机界面主菜单音乐图片预览幻灯片主题更改扩展功能显示时间退出音乐播放N背景音乐播放Y主菜单图片预览浏览右击主菜单YN1音乐模块流程图2图片预览模块流程图右击幻灯片播放幻灯片是否播放完毕Y主菜单N4帮助模块流程图3幻灯片模块流程图主体架构图Main()鼠标(进程)预览(区域)幻灯(区域)单击音乐(区域)ForkForkForkFork预览幻灯右击kill:预览进程右击kill:幻灯进程主界面背景音乐右击四、 函数接口定义fb_info是自己定义的一个结构体,用来初始化framebuffer。typedef structint w;int h;int bpp;char *fbmem; fb_info;(1)Mouse文件夹中所用的函数接口:1,int mouse_operate(fb_info fb_inf, pid_t *mp3_id);2. int init_mouse();打开鼠标设备;3. void save_mouse(fb_info fb_inf, int start_x, int start_y, int x, int y); 保存鼠标当前的位置;4. void recover(fb_info fb_inf, int start_x, int start_y, int x, int y);恢复鼠标上一次的状态5. void draw_mouse(fb_info fb_inf, int start_x, int start_y, int x, int y);画鼠标函数;6. void check_pow(fb_info fb_inf, int *x, int *y, int width, int height);检查鼠标是否出界7. void save_menu_area(fb_info fb_inf);保存按钮所在位置,用于恢复原来的状态8. void recover_menu_area(fb_info fb_inf);按上一次保存按钮的位置恢复9. int welcome_screen(fb_info fb_inf);显示带有按钮的主界面10. int area_little(int c_x, int c_y, int p_x, int p_y, int width, int height);判断鼠标所在按钮单击的有效区域11. int menu_area(fb_info fb_inf, int x, int y, int *flag);判断鼠标单击按钮的位置,如果是则把按钮改变顔色,以表示单击此按钮,并返回每个按钮所代表的相应的值12. void mouse_leave(fb_info fb_inf, int x, int y, int flag, int *tag);判断鼠标是否在按钮的规定区域外单击,如果是,则还在按钮所在位置画写相应的按钮13. int page_area(fb_info fb_inf, int x, int y);判断鼠标单击上下翻页的位置14. void slide_operate(fb_info fb_inf, pid_t *pid, int x, int y, int click, int *flag, int *page_num, int *mp3_page_num) 幻灯片浏览操作函数15. void preview_operate(fb_info fb_inf, int x, int y, int click, int *flag, int *page_num) 幻灯片预览操作函数16. void music(fb_info fb_inf, int x, int y, int click, pid_t *mp3_id, int *flag, int *before, int *after, int *second, int *page_num) 音乐mp3功能函数接口17. int exit_dpf(fb_info fb_inf, int x, int y, int click, int *flag) 退出按钮操作的函数接口18. int init_volumn() ; 初始化/dev/mixer设备19. void volumn_control(int mixer_fd, int roll, int *vol);音量控制函数接口20. int mouse_operate(fb_info fb_inf, pid_t *mp3_id) ;整个程序单击鼠标事件函数接口(2)Mp3文件夹play.c中所用的函数接口:1. int set_dsp();初始化音频设备,设置采样频率,量化位数 ,声道数2. int mp3_file() 创建一个mp3.txt文件,用于保存播放的音乐3. void save_area(fb_info fb_inf, int start_x, int start_y, int width, int height, u16_t (*array)width) 保存播放列表所在的位置; 4. void recover_area(fb_info fb_inf, int start_x, int start_y, int width, int height, u16_t (*array)width)恢复播放列表所在位置原来的图片5. void play(int id, char *filename); 播放传过来的.mp3文件6. void disp_mp3_border(fb_info fb_inf) ;显示播放列表对应的图片7. int list_name(fb_info fb_inf, int page_num, char *str);显示对应的page_num的歌曲名称8. void prev_song(fb_info fb_inf, int *page_num);单击上一首对应的函数接口9,void next_song(fb_info fb_inf, int *page_num)单击“下一首”对应的函数接口10. void init_name_point(fb_info fb_inf) ;初始Mp3名称列表的位置11. int list(fb_info fb_inf, char *str);单击“列表”按钮对应的函数接口12. int click_song(int x, int y);判断单击鼠标对应mp3文件13. void play_song(fb_info fb_inf, int page_num, int num);播放单击对应的mp3文件14. void draw_button(fb_info fb_inf, char *str) ;画“播放”,“暂停”按钮15. int mp3_area_assist(int c_x, int c_y, int p_x, int p_y, int width, int height);对“音乐”操作时,判断鼠标单击位置是否在规定范围内16. int mp3_area(fb_info fb_inf, int x, int y);判断鼠标单击的位置,返回该位置所对应值17. void draw_mp3(fb_info fb_inf);画mp3的背景图片,并显示“当前播放”的歌曲18. void mp3_filename(fb_info fb_inf, char *filename, char *mode);在播放列表中单击对应的歌曲,实现单击播放功能19. void exchange_song(fb_info fb_inf, char *mode);判断“上一首”,“下一首”函数20. void start_mp3(fb_info fb_inf) ;开始播放 mp3歌曲(3)jpeg文件夹中disp_jpeg.c中的函数接口:1. int filename_list() ;把.JPG图片放入一个文本文件中2. void disp_border(fb_info fb_inf, char *filename, int x, int y);显示播放列表的边框3int display_jpeg(fb_info fb_inf);显示图片,每张图片以一种特效展示出来4. void which_jpeg_file(char *str, int page_num, int pic_num);根据所点击的page_num和 Pic_num显示图片5. int enlarge_area(fb_info fb_inf, int x, int y)单击图片后的放大区域6. void recover_enlarge_pic(fb_info fb_inf);将放大的图片还原7. int picture_enlarge(fb_info fb_inf, int page_num, int pic_num) 单击放大图片8. void disp_reduce_pic(fb_info fb_inf, char *filename, int x, int y);显示缩小后的图片,形 预览界面9int print_page(fb_info fb_inf);在规定位置上显示“上一页”,“下一页”字样10. void init_coord(fb_info fb_inf);保存缩小图片将要显示的位置11. int which_pic_click(fb_info fb_inf, int x, int y);根据单击区域判断单击了哪张图片12. int pickup_filename(fb_info fb_inf, int page_num);从jpg.txt文件中读取.jpg图片13. int check_up_file(int page_num);判断jpg.txt文件中是否为空14. void print_background(fb_info fb_inf);重刷背景图片15. void page_next(fb_info fb_inf, int *page_num);单击“下一页”时对应的图片16 void page_prev(fb_info fb_inf, int *page_num) 单击“上一页”时对应的图片17. void preview(fb_info fb_inf, int page_num)根据page_num实现预览效果图片预览模块函数接口:void preview_operate (fb_info fb_inf, int x, int y, int click, int *flag, int page_num);幻灯片模块函数接口:void slide_operate(fb_info fb_inf, pid_t *pid, int x, int y, int click, int *flag, int *page_num, int *mp3_page_num);音乐模块函数接口:void music(fb_info fb_inf, int x, int y, int click, pid_t *mp3_id, int *flag, int *before, int *after, int *second, int *page_num);退出模块函数接口:nt exit_dpf(fb_info fb_inf, int x, int y, int click, int *flag);(4)Jpge文件夹中的welcome.c函数接口:1.int draw_fb_line(fb_info fb_inf, int x1, int y1, int x2, int y2, u16_t *color) 根据(x1,y1)和(x2,y2)画一条直线2.void five_star(fb_info fb_inf,int center_x, int center_y, int r, double angle, u16_t *color);根据中心作标和半径画五角星3.int disp_background(char *filename, fb_info fb_inf);显示背景图片4.int disp_constellation(char *filename, fb_info fb_inf);以五角星旋转的方式显示12星座common文件夹中的common.c函数接口1.int init_frambuffer(fb_info *fb_inf);初始化frambuffer函数2.int fb_pixel(fb_info fb_inf, int x, int y, int color)画点函数3.void itoa(cha

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论