答案對(duì)人有幫助,有參考價(jià)值
0
一、音頻播放
1、Linux下的音頻播放實(shí)現(xiàn)
在嵌入式智能家居系統(tǒng)功能里面,有時(shí)需要使用音樂播放的功能,例如圖片瀏覽時(shí)播放背景音樂,進(jìn)行系統(tǒng)播報(bào)語音提示等,那么,在Linux下如何實(shí)現(xiàn)音頻播放功能?
(1) 實(shí)驗(yàn)設(shè)備:開發(fā)板一套,有線耳機(jī)一副。
(2) 軟件資料:播放器+MP3文件若干
2、實(shí)現(xiàn)步驟
(1) 檢查開發(fā)板上的播放器
==> which
(2) 準(zhǔn)備一些mp3素材文件
==> 準(zhǔn)備的音樂文件要求文件名不能有中文,mp3格式。
(3) 將mp3文件拷貝到開發(fā)板
·把準(zhǔn)備好的素材文件放在U盤下的music目錄下
·把U盤接到開發(fā)板
·查看U盤是否掛載成功 ==> df -h
·在開發(fā)板上進(jìn)入U(xiǎn)盤掛載的路徑
==> cd /mnt/udisk
·把U盤下的music目錄下的mp3文件全部拷貝到開發(fā)板的工作目錄
==> cp music/*.mp3 / (拷貝到自己的工作路徑)
(4) 使用 播放器播放音樂
==> 音樂文件名
==> faded.mp3
==>練習(xí):自己準(zhǔn)備2~3首MP3,下載到開發(fā)板播放。
(5) 音樂播放控制
對(duì)于Linux下的播放器的控制,經(jīng)常會(huì)采用信號(hào)進(jìn)行控制。
==> linux下的信號(hào): kill -l
==》給進(jìn)程發(fā)送暫停信號(hào): -
練習(xí):下載music.c , 自行設(shè)計(jì)一張music.bmp , 設(shè)計(jì) “播放”,”暫停”,”繼續(xù)”, “結(jié)束”,“上一曲”linux下的視頻播放器, “下一曲” 功能按鍵,實(shí)現(xiàn)音樂播放的簡(jiǎn)單控制: 播放,暫停,繼續(xù),結(jié)束。
二、語音播報(bào)信息
在項(xiàng)目運(yùn)行中,可以在適當(dāng)?shù)臅r(shí)候播報(bào)語音信息進(jìn)行提示,例如:進(jìn)入系統(tǒng)時(shí)提示“歡迎使用xxx智能家居”,退出時(shí)提示:“歡迎下次使用”
這些語音信息可以是固定的,只需要在本地準(zhǔn)備這些語音文件,程序中進(jìn)行播放即可。
文字轉(zhuǎn)語言
==> 在線文字轉(zhuǎn)語音
任務(wù):進(jìn)入在線文字轉(zhuǎn)語音網(wǎng)站,準(zhǔn)備一些語音文件
在后面的項(xiàng)目中,如果需要在功能里面添加語音播報(bào)提示,就自行準(zhǔn)備語音文件,燒寫到開發(fā)板之后使用進(jìn)行播放
三、視頻播放
在智能家居中的影音娛樂模塊,除了音樂播放,還可以實(shí)現(xiàn)視頻播放。
在Linux下實(shí)現(xiàn)視頻播放,需要使用視頻的解碼播放器
1、素材準(zhǔn)備
1, : linux下視頻解碼播放器
2, 視頻素材
==》 mp4, avi … ==》 建議使用avi格式視頻
2、實(shí)現(xiàn)步驟
1) 檢查開發(fā)板空間 ==> df -h ==> 如果空間少于50M,那就刪除一些不需要的文件
2)移植到開發(fā)板 ==> U盤拷貝
3)使用播放視頻
==> ./ .avi
==> ./ -h 查看播放控制方法
4)常用的播放命令
==> ./ -slave -quiet - 0:0 -zoom -x 800 -y 480 .avi
-slave : 采取從模式,播放時(shí)不再截取鍵盤控制,而是采用slave命令進(jìn)行控制。
-quiet : 不再輸出多余信息
- 0:0 : 設(shè)置視頻播放的起始位置 (0,0)
-zoom : 允許視頻縮放
-x 800 -y 480 : 幀寬度,幀高度
==》使用這個(gè)播放命令,設(shè)置播放器的播放視頻的大小和位置
例如:把視頻.avi 在屏幕起點(diǎn)位置為(80,0),播放大小為640*480。
5)slave 命令
==> ./ -input
seek Float [] // 快進(jìn),快退
==> 快進(jìn)5秒 “seek 5\n” ; 快退10秒 “seek -10\n”
==> quit 退出播放器 “quit\n”
==> pause 暫停/繼續(xù) “pause\n”
==> 音量調(diào)節(jié) “ 10\n” “ -10\n”
==> mute 靜音選項(xiàng) “mute 1\n” (靜音) “mute 0\n” (恢復(fù))
設(shè)計(jì)一個(gè)視頻播放器的功能界面 ==> 800*480的bmp圖片,可以參考 video.bmp
6)設(shè)計(jì)程序?qū)崿F(xiàn)視頻播放控制
==》Linux下的管道通信
==》要使用管道控制播放器播放狀態(tài),那么需要在播放時(shí)添加 管道參數(shù)
./ -slave -quiet -input file=/tmp/ - 0:0 -zoom -x 800 -y 480 .avi
linux下創(chuàng)建管道文件 ==> ()
#
#
int (const char *, mode);
==> : 管道文件的路徑
==> mode : 文件權(quán)限 0777
四、項(xiàng)目框架搭建
當(dāng)前任務(wù):參考.c , 完成智能家居框架設(shè)計(jì)。
1)設(shè)計(jì)項(xiàng)目功能界面
·.bmp ==> 的bmp ,2個(gè)按鍵 “登錄”linux下的視頻播放器,“退出”
·main.bmp ==> 的bmp, “相冊(cè)”,“音樂”,“視頻”,“監(jiān)控”,“家電”
·exit.bmp ==> 800*480的bmp
2)根據(jù)設(shè)計(jì)的界面,補(bǔ)充代碼