赞
踩
五天完成项目-《基于Linux环境下的Cortex A53的手势识别智能家居》-前言
五天完成项目-《基于Linux环境下的Cortex A53的手势识别智能家居》-第一天
五天完成项目-《基于Linux环境下的Cortex A53的手势识别智能家居》-第二天
五天完成项目-《基于Linux环境下的Cortex A53的手势识别智能家居》-第三天
五天完成项目-《基于Linux环境下的Cortex A53的手势识别智能家居》-第四天
五天完成项目-《基于Linux环境下的Cortex A53的手势识别智能家居》-第五天
在嵌入式智能家居系统功能里面,有时需要使用音乐播放的功能,例如图片浏览时播放背景音乐,进行系统播报语音提示等,那么,在Linux下如何实现音频播放功能?
(1) 实验设备:gec6818开发板一套,有线耳机一副。
(2) 软件资料:madplay播放器+MP3文件若干
(1) 检查开发板上的madplay播放器
==> which madplay
(2) 准备一些mp3素材文件
==> 准备的音乐文件要求文件名不能有中文,mp3格式。
(3) 将mp3文件拷贝到开发板
·把准备好的素材文件放在U盘下的music目录下
·把U盘接到开发板
·查看U盘是否挂载成功 ==> df -h
·在开发板上进入U盘挂载的路径
==> cd /mnt/udisk
·把U盘下的music目录下的mp3文件全部拷贝到开发板的工作目录
==> cp music/*.mp3 /SmartHome_Zj (拷贝到自己的工作路径)
(4) 使用madplay 播放器播放音乐
==> madplay 音乐文件名
==> madplay faded.mp3
==>练习:自己准备2~3首MP3,下载到开发板播放。
(5) 音乐播放控制
对于Linux下的madplay播放器的控制,经常会采用信号进行控制。
==> linux下的信号: kill -l
==》给madplay进程发送暂停信号: killall -SIGSTOP madplay
练习:下载music.c , 自行设计一张music.bmp , 设计 “播放”,”暂停”,”继续”, “结束”, “上一曲”, “下一曲” 功能按键,实现音乐播放的简单控制: 播放,暂停,继续,结束。
在项目运行中,可以在适当的时候播报语音信息进行提示,例如:进入系统时提示“欢迎使用xxx智能家居”,退出时提示:“欢迎下次使用”
这些语音信息可以是固定的,只需要在本地准备这些语音文件,程序中进行播放即可。
文字转语言
==> 在线文字转语音
http://tools.bugscaner.com/tts/
任务:进入在线文字转语音网站,准备一些语音文件
在后面的项目中,如果需要在功能里面添加语音播报提示,就自行准备语音文件,烧写到开发板之后使用madplay进行播放
在智能家居中的影音娱乐模块,除了音乐播放,还可以实现视频播放。
在Linux下实现视频播放,需要使用视频的解码播放器 mplayer
1, mplayer : linux下视频解码播放器
2, 视频素材
==》 mp4, avi … ==》 建议使用avi格式视频
1) 检查开发板空间 ==> df -h ==> 如果空间少于50M,那就删除一些不需要的文件
2)移植mplayer到开发板 ==> U盘拷贝
3)使用mplayer播放视频
==> ./mplayer Faded3.avi
==> ./mplayer -h 查看播放控制方法
4)常用的播放命令
==> ./mplayer -slave -quiet -geometry 0:0 -zoom -x 800 -y 480 Faded3.avi
-slave : 采取从模式,播放时不再截取键盘控制,而是采用slave命令进行控制。
-quiet : 不再输出多余信息
-geometry 0:0 : 设置视频播放的起始位置 (0,0)
-zoom : 允许视频缩放
-x 800 -y 480 : 帧宽度,帧高度
==》使用这个播放命令,设置播放器的播放视频的大小和位置
例如:把视频Faded3.avi 在屏幕起点位置为(80,0),播放大小为640*480。
5)slave 命令
==> ./mplayer -input cmdlist
seek Float [Integer] // 快进,快退
==> 快进5秒 “seek 5\n” ; 快退10秒 “seek -10\n”
==> quit 退出播放器 “quit\n”
==> pause 暂停/继续 “pause\n”
==> volume 音量调节 “volume 10\n” “volume -10\n”
==> mute 静音选项 “mute 1\n” (静音) “mute 0\n” (恢复)
设计一个视频播放器的功能界面 ==> 800*480的bmp图片,可以参考 video.bmp
6)设计程序实现视频播放控制
==》Linux下的管道通信
==》要使用管道控制mplayer播放器播放状态,那么需要在播放时添加 管道参数
./mplayer -slave -quiet -input file=/tmp/myfifo -geometry 0:0 -zoom -x 800 -y 480 Faded3.avi
linux下创建管道文件 ==> mkfifo()
#include <sys/types.h>
#include <sys/stat.h>
int mkfifo(const char *pathname, mode_t mode);
==> pathname : 管道文件的路径
==> mode : 文件权限 0777
当前任务:参考smart_home.c , 完成智能家居框架设计。
1)设计项目功能界面
·welcome.bmp ==> 800480的bmp , 2个按键 “登录”,“退出”
·main.bmp ==> 800480的bmp, “相册”,“音乐”,“视频”,“监控”,“家电”
·exit.bmp ==> 800*480的bmp
2)根据设计的界面,补充代码
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。