資源簡(jiǎn)介
STM32紅外檢測(cè)有人開(kāi)始錄音,并播放錄音
代碼片段和文件信息
#include?“mp3player.h“
#include?“vs10xx.h“ ?
#include?“delay.h“
#include?“l(fā)ed.h“
#include?“key.h“
#include?“l(fā)cd.h“ ?
#include?“malloc.h“
#include?“text.h“
#include?“string.h“
#include?“exfuns.h“??
#include?“ff.h“???
#include?“flac.h“
#include?“usart.h“
////////////////////////////////////////////////////////////////////////////////// ?
//本程序只供學(xué)習(xí)使用,未經(jīng)作者許可,不得用于其它任何用途
//ALIENTEK戰(zhàn)艦STM32開(kāi)發(fā)板V3
//MP3播放驅(qū)動(dòng)?代碼 ???
//正點(diǎn)原子@ALIENTEK
//技術(shù)論壇:www.openedv.com
//創(chuàng)建日期:2015/1/20
//版本:V1.0
//版權(quán)所有,盜版必究。
//Copyright(C)?廣州市星翼電子科技有限公司?2009-2019
//All?rights?reserved ?? ???? ??
//////////////////////////////////////////////////////////////////////////////////
//顯示曲目索引
//index:當(dāng)前索引
//total:總文件數(shù)
void?mp3_index_show(u16?indexu16?total)
{
//顯示當(dāng)前曲目的索引及總曲目數(shù)
LCD_ShowxNum(30+0230index3160X80); //索引
LCD_ShowChar(30+24230‘/‘160);
LCD_ShowxNum(30+32230total3160X80);? //總曲目 ?? ??
}
//顯示當(dāng)前音量
void?mp3_vol_show(u8?vol)
{ ????
LCD_ShowString(30+1102302001616“VOL:“); ?? ??
LCD_ShowxNum(30+142230vol2160X80);? //顯示音量 ?
}
u16?f_kbps=0;//歌曲文件位率
//顯示播放時(shí)間比特率?信息?
//lenth:歌曲總長(zhǎng)度
void?mp3_msg_show(u32?lenth)
{
static?u16?playtime=0;//播放時(shí)間標(biāo)記 ?????
? u16?time=0;//?時(shí)間變量
u16?temp=0; ??
if(f_kbps==0xffff)//未更新過(guò)
{
playtime=0;
f_kbps=VS_Get_HeadInfo(); ???//獲得比特率
} ? ?
time=VS_Get_DecodeTime();?//得到解碼時(shí)間
if(playtime==0)playtime=time;
else?if((time!=playtime)&&(time!=0))//1s時(shí)間到更新顯示數(shù)據(jù)
{
playtime=time;//更新時(shí)間? ? ????
temp=VS_Get_HeadInfo();?//獲得比特率 ??? ?
if(temp!=f_kbps)
{
f_kbps=temp;//更新KBPS ?? ?????
} ?
//顯示播放時(shí)間 ?
LCD_ShowxNum(30210time/602160X80); //分鐘
LCD_ShowChar(30+16210‘:‘160);
LCD_ShowxNum(30+24210time%602160X80); //秒鐘
? LCD_ShowChar(30+40210‘/‘160);? ???? ?
//顯示總時(shí)間
if(f_kbps)time=(lenth/f_kbps)/125;//得到秒鐘數(shù)???(文件長(zhǎng)度(字節(jié))/(1000/8)/比特率=持續(xù)秒鐘數(shù)???? ??
else?time=0;//非法位率 ??
? LCD_ShowxNum(30+48210time/602160X80); //分鐘
LCD_ShowChar(30+64210‘:‘160);
LCD_ShowxNum(30+72210time%602160X80); //秒鐘 ?? ????
//顯示位率 ???
??? LCD_ShowxNum(30+110210f_kbps3160X80);? //顯示位率 ?
LCD_ShowString(30+1342102001616“Kbps“); ?? ??
LED0=!LED0; //DS0翻轉(zhuǎn)
}??? ?
} ?? ?
//得到path路徑下目標(biāo)文件的總個(gè)數(shù)
//path:路徑 ????
//返回值:總有效文件數(shù)
u16?mp3_get_tnum(u8?*path)
{ ??
u8?res;
u16?rval=0;
? DIR?tdir; ? //臨時(shí)目錄
FILINFO?tfileinfo; //臨時(shí)文件信息
u8?*fn;? ? ??? ?????
????res=f_opendir(&tdir(const?TCHAR*)path);?//打開(kāi)目錄
?? tfileinfo.lfsize=_MAX_LFN*2+1; //長(zhǎng)文件名最大長(zhǎng)度
tfileinfo.lfname=mymalloc(SRAMINtfileinfo.lfsize); //為長(zhǎng)文件緩存區(qū)分配內(nèi)存
if(res==FR_OK&&tfileinfo.lfname!=NULL)
{
while(1)//查詢總的有效文件數(shù)
{
????????res=f_readdir(&tdir&tfileinfo);??????? //讀取目錄下的一個(gè)文件
????????if(res!=FR_OK||tfileinfo.fname[0]==0)break; //錯(cuò)誤了/到末尾了退出 ??
????? fn=(u8*)(*tfileinfo.lfname?tfileinfo.lfname:tfileinfo.fname); ?
res=f_typetell(fn);
if((res&0XF0)==0X40)//取高四位看看是不是音樂(lè)文件
{
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2020-07-31?15:05??實(shí)驗(yàn)44?錄音機(jī)實(shí)驗(yàn)\
?????目錄???????????0??2020-07-31?15:05??實(shí)驗(yàn)44?錄音機(jī)實(shí)驗(yàn)\APP\
?????文件????????9202??2015-01-20?22:40??實(shí)驗(yàn)44?錄音機(jī)實(shí)驗(yàn)\APP\mp3pla
?????文件?????????759??2015-01-20?22:40??實(shí)驗(yàn)44?錄音機(jī)實(shí)驗(yàn)\APP\mp3pla
?????文件???????10294??2015-05-05?11:16??實(shí)驗(yàn)44?錄音機(jī)實(shí)驗(yàn)\APP\recorder.c
?????文件????????2301??2015-01-21?21:43??實(shí)驗(yàn)44?錄音機(jī)實(shí)驗(yàn)\APP\recorder.h
?????目錄???????????0??2020-07-31?15:05??實(shí)驗(yàn)44?錄音機(jī)實(shí)驗(yàn)\CORE\
?????文件???????17273??2010-06-07?10:25??實(shí)驗(yàn)44?錄音機(jī)實(shí)驗(yàn)\CORE\core_cm3.c
?????文件???????85714??2011-02-09?14:59??實(shí)驗(yàn)44?錄音機(jī)實(shí)驗(yàn)\CORE\core_cm3.h
?????文件???????15503??2011-03-10?10:52??實(shí)驗(yàn)44?錄音機(jī)實(shí)驗(yàn)\CORE\startup_stm32f10x_hd.s
?????目錄???????????0??2020-07-31?15:05??實(shí)驗(yàn)44?錄音機(jī)實(shí)驗(yàn)\FATFS\
?????目錄???????????0??2020-07-31?15:05??實(shí)驗(yàn)44?錄音機(jī)實(shí)驗(yàn)\FATFS\doc\
?????文件????????3425??2015-02-11?12:11??實(shí)驗(yàn)44?錄音機(jī)實(shí)驗(yàn)\FATFS\doc\css_e.css
?????文件????????3840??2015-02-12?20:17??實(shí)驗(yàn)44?錄音機(jī)實(shí)驗(yàn)\FATFS\doc\css_j.css
?????文件?????????125??2015-02-11?12:11??實(shí)驗(yàn)44?錄音機(jī)實(shí)驗(yàn)\FATFS\doc\css_p.css
?????目錄???????????0??2020-07-31?15:53??實(shí)驗(yàn)44?錄音機(jī)實(shí)驗(yàn)\FATFS\doc\en\
?????目錄???????????0??2020-07-31?15:05??實(shí)驗(yàn)44?錄音機(jī)實(shí)驗(yàn)\FATFS\doc\img\
?????文件????????1063??2015-02-11?12:11??實(shí)驗(yàn)44?錄音機(jī)實(shí)驗(yàn)\FATFS\doc\img\app1.c
?????文件????????1609??2015-02-11?12:11??實(shí)驗(yàn)44?錄音機(jī)實(shí)驗(yàn)\FATFS\doc\img\app2.c
?????文件????????3810??2015-02-11?12:11??實(shí)驗(yàn)44?錄音機(jī)實(shí)驗(yàn)\FATFS\doc\img\app3.c
?????文件???????10365??2015-02-11?12:11??實(shí)驗(yàn)44?錄音機(jī)實(shí)驗(yàn)\FATFS\doc\img\app4.c
?????文件????????1414??2015-02-11?12:11??實(shí)驗(yàn)44?錄音機(jī)實(shí)驗(yàn)\FATFS\doc\img\f1.png
?????文件????????1458??2015-02-11?12:11??實(shí)驗(yàn)44?錄音機(jī)實(shí)驗(yàn)\FATFS\doc\img\f2.png
?????文件????????1039??2015-02-11?12:11??實(shí)驗(yàn)44?錄音機(jī)實(shí)驗(yàn)\FATFS\doc\img\f3.png
?????文件????????2335??2015-02-11?12:11??實(shí)驗(yàn)44?錄音機(jī)實(shí)驗(yàn)\FATFS\doc\img\f4.png
?????文件????????2479??2015-02-11?12:11??實(shí)驗(yàn)44?錄音機(jī)實(shí)驗(yàn)\FATFS\doc\img\f5.png
?????文件????????1464??2015-02-11?12:11??實(shí)驗(yàn)44?錄音機(jī)實(shí)驗(yàn)\FATFS\doc\img\f6.png
?????文件???????11388??2015-02-11?12:11??實(shí)驗(yàn)44?錄音機(jī)實(shí)驗(yàn)\FATFS\doc\img\f7.png
?????文件???????14357??2015-02-11?12:11??實(shí)驗(yàn)44?錄音機(jī)實(shí)驗(yàn)\FATFS\doc\img\funcs.png
?????文件????????5521??2015-02-11?12:11??實(shí)驗(yàn)44?錄音機(jī)實(shí)驗(yàn)\FATFS\doc\img\la
?????文件????????3843??2015-02-11?12:11??實(shí)驗(yàn)44?錄音機(jī)實(shí)驗(yàn)\FATFS\doc\img\la
............此處省略272個(gè)文件信息
評(píng)論
共有 條評(píng)論