<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 消費電子 > 設計應用 > W90P710的智能音樂(lè )播放器系統設計

W90P710的智能音樂(lè )播放器系統設計

作者: 時(shí)間:2010-01-06 來(lái)源:網(wǎng)絡(luò ) 收藏
MPEGDEC_STREAM*MPEGDEC_open(char*filename,MPEGDEC_CTRL*ctrl);
功能描述:打開(kāi)MPEG音頻文件。
參數:filename為待打開(kāi)的音頻文件,ctrl為控制數據解碼信息的結構體。
返回值:打開(kāi)成功,則返回包含數據流信息和解碼信息的結構體指針;失敗,則返回NULL。

本文引用地址:http://dyxdggzs.com/article/166810.htm

  void MPEGDEC_dose(MPEGDEC_STREAM*mpds);
功能描述:關(guān)閉MPEG音頻文件。
參數:mpds指向待關(guān)閉的音頻文件。
無(wú)返回值。

  unsigned long MPEGDEC_decode_frame(MPEGDEC_STREAM*mpds,short*pcm[MPEGDEC_MAX_CHANNELS]);;
功能描述:為當前打開(kāi)的音頻文件的一幀解碼。
輸入:mpds指向打開(kāi)的音頻文件。
輸出:pcm[]存放解碼后的16位音頻數據;pcm[0]中存放單聲道或左聲道或聲道1的數據;pcm[1]中存放右聲道或聲道2的數據。
返回值:返回解碼一幀的音頻數據數目;返回MPEG-DEC_ERR_EOF,則說(shuō)明當前幀是最后一幀;返回MPEG-DEC_ERR_BADFRAME,則說(shuō)明該幀已損壞。

  3.2.2 歌曲基本信息結構體

  按照MP3的ID3 V1.0標準定義,MP3文件的最后128字節用來(lái)存放標簽頭、歌曲名、演唱者等信息。為了在LCD屏上顯示當前播放歌曲的基本信息,給出了一個(gè)結構體來(lái)讀取并存放這些信息。這個(gè)結構體定義如下:

  3.2.3 播放主流程

  當用戶(hù)選中歌曲進(jìn)入播放界面時(shí),ARM7主機首先通過(guò)串口給單片機發(fā)一個(gè)命令字0x01,通知從機進(jìn)入識別“”這組命令的函數。從機接收到命令后,首先判斷“”這組命令是否已經(jīng)訓練。若訓練,則返回0x04,同時(shí)的語(yǔ)音模式啟動(dòng)成功;若未訓練,則返回0x06,LCD屏顯示提醒用戶(hù)訓練該庫;若從機在規定時(shí)間內(因實(shí)時(shí)性要求,這里“規定時(shí)間”指200 ms)返回其他值或未返回值,則播放器的語(yǔ)音模式啟動(dòng)失敗。若成功啟動(dòng)語(yǔ)音模式,是分幀解碼后播放,在幀一幀循環(huán)中,主機需查詢(xún)鍵盤(pán)和串口,來(lái)實(shí)現“ 上一首”、“下一首”、“播放”、“暫?!?、“退出”和調節音量的功能。若語(yǔ)音模式啟動(dòng)失敗,則只需查詢(xún)鍵盤(pán)。每次接收到“退出”命令時(shí),主機在退出模式前需通過(guò)串口發(fā)送0x05給單片機,通知單片機同步退出該模式;單片機接收到命令后,需返回0x04告知主機已退出。播放的主流程如圖4所示。關(guān)于語(yǔ)音命令如何訓練,可見(jiàn)參考文獻[5],這里不再贅述。

播放的主流程

  4 實(shí)驗結果

  以開(kāi)發(fā)套件+凌陽(yáng)SPCE061A為硬件,采用嵌入式操作μClinux,在實(shí)驗室安靜和嘈雜的情況下(安靜時(shí)室內噪聲為50 dB,嘈雜時(shí)為60 dB),測試播放器語(yǔ)音模式的工作效率。在測試語(yǔ)音模式的工作效率前,先進(jìn)行了按鍵測試,測試通過(guò)率為100%,且播放流暢,響應滿(mǎn)足實(shí)時(shí)性要求。

  要使語(yǔ)音模式有效工作,首先需訓練“播放器”的語(yǔ)音命令,即“播放”、“暫?!?、“上一首”、“下一首”、“退出”這5個(gè)命令。訓練時(shí)環(huán)境至關(guān)重要,必須處于實(shí)驗室安靜環(huán)境下。訓練的5個(gè)命令并不一定是上述5個(gè)詞,只要表達出相應意思即可,如“上一首”、“下一首”命令直接訓練成“上”、“下”。筆者在實(shí)驗室安靜環(huán)境下訓練后,分別在安靜、嘈雜的環(huán)境下進(jìn)行語(yǔ)音測試,結果分別為96.8%、77.8%。實(shí)驗結果顯示,在安靜環(huán)境下,語(yǔ)音通過(guò)率很高;在嘈雜環(huán)境下,語(yǔ)音通過(guò)率稍微低些,但可以和按鍵同時(shí)使用。

  結 語(yǔ)

  本文了一款由主機、從機凌陽(yáng)SPCE061A單片機及其外圍電路組成的音樂(lè )播放器。硬件上重點(diǎn)介紹了音頻模塊;軟件上簡(jiǎn)單說(shuō)明了 MP3解碼過(guò)程及給出了相關(guān)接口函數,并詳細講述了播放主流程。最后在測試了按鍵能夠實(shí)時(shí)、正確響應的基礎上,又分別在安靜、嘈雜的環(huán)境下,進(jìn)行了語(yǔ)音模式的響應測試,實(shí)驗結果說(shuō)明,該播放器不僅能按鍵控制也能語(yǔ)音控制,且語(yǔ)音控制效果良好。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>