资源简介
STM32红外检测有人开始录音,并播放录音
代码片段和文件信息
#include “mp3player.h“
#include “vs10xx.h“
#include “delay.h“
#include “led.h“
#include “key.h“
#include “lcd.h“
#include “malloc.h“
#include “text.h“
#include “string.h“
#include “exfuns.h“
#include “ff.h“
#include “flac.h“
#include “usart.h“
//////////////////////////////////////////////////////////////////////////////////
//本程序只供学习使用,未经作者许可,不得用于其它任何用途
//ALIENTEK战舰STM32开发板V3
//MP3播放驱动 代码
//正点原子@ALIENTEK
//技术论坛:www.openedv.com
//创建日期:2015/1/20
//版本:V1.0
//版权所有,盗版必究。
//Copyright(C) 广州市星翼电子科技有限公司 2009-2019
//All rights reserved
//////////////////////////////////////////////////////////////////////////////////
//显示曲目索引
//index:当前索引
//total:总文件数
void mp3_index_show(u16 indexu16 total)
{
//显示当前曲目的索引及总曲目数
LCD_ShowxNum(30+0230index3160X80); //索引
LCD_ShowChar(30+24230‘/‘160);
LCD_ShowxNum(30+32230total3160X80); //总曲目
}
//显示当前音量
void mp3_vol_show(u8 vol)
{
LCD_ShowString(30+1102302001616“VOL:“);
LCD_ShowxNum(30+142230vol2160X80); //显示音量
}
u16 f_kbps=0;//歌曲文件位率
//显示播放时间比特率 信息
//lenth:歌曲总长度
void mp3_msg_show(u32 lenth)
{
static u16 playtime=0;//播放时间标记
u16 time=0;// 时间变量
u16 temp=0;
if(f_kbps==0xffff)//未更新过
{
playtime=0;
f_kbps=VS_Get_HeadInfo(); //获得比特率
}
time=VS_Get_DecodeTime(); //得到解码时间
if(playtime==0)playtime=time;
else if((time!=playtime)&&(time!=0))//1s时间到更新显示数据
{
playtime=time;//更新时间
temp=VS_Get_HeadInfo(); //获得比特率
if(temp!=f_kbps)
{
f_kbps=temp;//更新KBPS
}
//显示播放时间
LCD_ShowxNum(30210time/602160X80); //分钟
LCD_ShowChar(30+16210‘:‘160);
LCD_ShowxNum(30+24210time%602160X80); //秒钟
LCD_ShowChar(30+40210‘/‘160);
//显示总时间
if(f_kbps)time=(lenth/f_kbps)/125;//得到秒钟数 (文件长度(字节)/(1000/8)/比特率=持续秒钟数
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翻转
}
}
//得到path路径下目标文件的总个数
//path:路径
//返回值:总有效文件数
u16 mp3_get_tnum(u8 *path)
{
u8 res;
u16 rval=0;
DIR tdir; //临时目录
FILINFO tfileinfo; //临时文件信息
u8 *fn;
res=f_opendir(&tdir(const TCHAR*)path); //打开目录
tfileinfo.lfsize=_MAX_LFN*2+1; //长文件名最大长度
tfileinfo.lfname=mymalloc(SRAMINtfileinfo.lfsize); //为长文件缓存区分配内存
if(res==FR_OK&&tfileinfo.lfname!=NULL)
{
while(1)//查询总的有效文件数
{
res=f_readdir(&tdir&tfileinfo); //读取目录下的一个文件
if(res!=FR_OK||tfileinfo.fname[0]==0)break; //错误了/到末尾了退出
fn=(u8*)(*tfileinfo.lfname?tfileinfo.lfname:tfileinfo.fname);
res=f_typetell(fn);
if((res&0XF0)==0X40)//取高四位看看是不是音乐文件
{
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2020-07-31 15:05 实验44 录音机实验\
目录 0 2020-07-31 15:05 实验44 录音机实验\APP\
文件 9202 2015-01-20 22:40 实验44 录音机实验\APP\mp3pla
文件 759 2015-01-20 22:40 实验44 录音机实验\APP\mp3pla
文件 10294 2015-05-05 11:16 实验44 录音机实验\APP\recorder.c
文件 2301 2015-01-21 21:43 实验44 录音机实验\APP\recorder.h
目录 0 2020-07-31 15:05 实验44 录音机实验\CORE\
文件 17273 2010-06-07 10:25 实验44 录音机实验\CORE\core_cm3.c
文件 85714 2011-02-09 14:59 实验44 录音机实验\CORE\core_cm3.h
文件 15503 2011-03-10 10:52 实验44 录音机实验\CORE\startup_stm32f10x_hd.s
目录 0 2020-07-31 15:05 实验44 录音机实验\FATFS\
目录 0 2020-07-31 15:05 实验44 录音机实验\FATFS\doc\
文件 3425 2015-02-11 12:11 实验44 录音机实验\FATFS\doc\css_e.css
文件 3840 2015-02-12 20:17 实验44 录音机实验\FATFS\doc\css_j.css
文件 125 2015-02-11 12:11 实验44 录音机实验\FATFS\doc\css_p.css
目录 0 2020-07-31 15:53 实验44 录音机实验\FATFS\doc\en\
目录 0 2020-07-31 15:05 实验44 录音机实验\FATFS\doc\img\
文件 1063 2015-02-11 12:11 实验44 录音机实验\FATFS\doc\img\app1.c
文件 1609 2015-02-11 12:11 实验44 录音机实验\FATFS\doc\img\app2.c
文件 3810 2015-02-11 12:11 实验44 录音机实验\FATFS\doc\img\app3.c
文件 10365 2015-02-11 12:11 实验44 录音机实验\FATFS\doc\img\app4.c
文件 1414 2015-02-11 12:11 实验44 录音机实验\FATFS\doc\img\f1.png
文件 1458 2015-02-11 12:11 实验44 录音机实验\FATFS\doc\img\f2.png
文件 1039 2015-02-11 12:11 实验44 录音机实验\FATFS\doc\img\f3.png
文件 2335 2015-02-11 12:11 实验44 录音机实验\FATFS\doc\img\f4.png
文件 2479 2015-02-11 12:11 实验44 录音机实验\FATFS\doc\img\f5.png
文件 1464 2015-02-11 12:11 实验44 录音机实验\FATFS\doc\img\f6.png
文件 11388 2015-02-11 12:11 实验44 录音机实验\FATFS\doc\img\f7.png
文件 14357 2015-02-11 12:11 实验44 录音机实验\FATFS\doc\img\funcs.png
文件 5521 2015-02-11 12:11 实验44 录音机实验\FATFS\doc\img\la
文件 3843 2015-02-11 12:11 实验44 录音机实验\FATFS\doc\img\la
............此处省略272个文件信息
相关资源
- 基于STM32f103 PWM波呼吸灯
- Proteus 8.6仿真STM32F103C6
- C语言嵌入式Modbus协议栈,支持主站和
- stm32 +w5500 裸机 远程升级 自动dns pi
- stm32双机spi通信
- STM32 PCB封装库 全系列 全网不好找
- 基于STM32F407的W5500 tcpserver(官网例程
- 串口调试助手(测试STM32串口)
- 基于STM32F407ZG的监控摄像头及FATFS文件
- tm1650+stm32f103源码(board_tm1650.c)
- stm32定时器中断
- 颜色识别形状识别STM103嵌入式代码
- 51单片机protues文件(KST-51.DSN)
- 基于STM32的音频信号采样与FFT分析
- STM32肺活量测试仪
- 基于STM32F103C8T6主控板使用BH1750检测光
- cubeMX设计实现stm32f407上的CAN及485的通
- stm32 BootLoader程序(main.c)
- STM32修炼的最好书
- 弹跳的小球(test.c)
- C++ STL实现
- STM32 BLDC 无刷电机
-
Google C++ st
yle Guide - stm8l四按键状态机实现
- stm32 实现Fatfs对U盘文件操作(main.c)
- stm32f103 USB键盘
- C++ Primer by Stanley B. Lippman Josée La
- OBD_CAN读取代码(stm32f103)
-
STM32-ba
se64加密源代码 - stm32 MQTT
评论
共有 条评论