资源简介
stm32F407从flash上播放mp3 flash是W25Q128,代码可用,有疑问可以一起交流,留言必回,互相学习
代码片段和文件信息
#include “audioplay.h“
#include “ff.h“
#include “malloc.h“
#include “usart.h“
#include “wm8978.h“
#include “i2s.h“
#include “led.h“
#include “lcd.h“
#include “delay.h“
#include “key.h“
#include “exfuns.h“
#include “text.h“
#include “string.h“
//////////////////////////////////////////////////////////////////////////////////
//本程序只供学习使用,未经作者许可,不得用于其它任何用途
//ALIENTEK STM32F407开发板
//音乐播放器 应用代码
//正点原子@ALIENTEK
//技术论坛:www.openedv.com
//创建日期:2014/5/24
//版本:V1.0
//版权所有,盗版必究。
//Copyright(C) 广州市星翼电子科技有限公司 2014-2024
//All rights reserved
//////////////////////////////////////////////////////////////////////////////////
//音乐播放控制器
__audiodev audiodev;
//开始音频播放
void audio_start(void)
{
audiodev.status=3<<0;//开始播放+非暂停
I2S_Play_Start();
}
//关闭音频播放
void audio_stop(void)
{
audiodev.status=0;
I2S_Play_Stop();
}
//得到path路径下目标文件的总个数
//path:路径
//返回值:总有效文件数
u16 audio_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)//取高四位看看是不是音乐文件
{
rval++;//有效文件数增加1
}
}
}
myfree(SRAMINtfileinfo.lfname);
return rval;
}
//显示曲目索引
//index:当前索引
//total:总文件数
void audio_index_show(u16 indexu16 total)
{
//显示当前曲目的索引及总曲目数
LCD_ShowxNum(60+0230index3160X80); //索引
LCD_ShowChar(60+24230‘/‘160);
LCD_ShowxNum(60+32230total3160X80); //总曲目
}
//显示播放时间比特率 信息
//totsec;音频文件总时间长度
//cursec:当前播放时间
//bitrate:比特率(位速)
void audio_msg_show(u32 totsecu32 cursecu32 bitrate)
{
static u16 playtime=0XFFFF;//播放时间标记
if(playtime!=cursec) //需要更新显示时间
{
playtime=cursec;
//显示播放时间
LCD_ShowxNum(60210playtime/602160X80); //分钟
LCD_ShowChar(60+16210‘:‘160);
LCD_ShowxNum(60+24210playtime%602160X80); //秒钟
LCD_ShowChar(60+40210‘/‘160);
//显示总时间
LCD_ShowxNum(60+48210totsec/602160X80); //分钟
LCD_ShowChar(60+64210‘:‘160);
LCD_ShowxNum(60+72210totsec%602160X80); //秒钟
//显示位率
LCD_ShowxNum(60+110210bitrate/10004160X80);//显示位率
LCD_ShowString(60+110+322102001616“Kbps“);
}
}
//播放音乐
void audio_play(void)
{
u8 res;
DIR wavdir; //目录
FILINFO wavfileinfo;//文件信息
u8 *fn; //长文件名
u8 *pname; //带路径的文件名
u16 totwavnum; //音乐文件总数
u16 curindex; //图片当前索引
u8 key; //键值
u16 temp;
u16 *wavindextbl; //音乐索引表
WM8978
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-04-15 21:59 实验43 音乐播放器实验\
目录 0 2018-11-07 22:01 实验43 音乐播放器实验\APP\
文件 6704 2018-11-07 22:01 实验43 音乐播放器实验\APP\audioplay.c
文件 1361 2016-04-15 21:59 实验43 音乐播放器实验\APP\audioplay.h
目录 0 2016-04-15 21:59 实验43 音乐播放器实验\AUDIOCODEC\
目录 0 2016-04-15 21:59 实验43 音乐播放器实验\AUDIOCODEC\wav\
文件 7567 2016-04-15 21:59 实验43 音乐播放器实验\AUDIOCODEC\wav\wavplay.c
文件 3091 2016-04-15 21:59 实验43 音乐播放器实验\AUDIOCODEC\wav\wavplay.h
目录 0 2016-04-15 21:59 实验43 音乐播放器实验\CORE\
文件 109142 2016-04-15 21:59 实验43 音乐播放器实验\CORE\core_cm4.h
文件 22735 2016-04-15 21:59 实验43 音乐播放器实验\CORE\core_cm4_simd.h
文件 17146 2016-04-15 21:59 实验43 音乐播放器实验\CORE\core_cmFunc.h
文件 20513 2016-04-15 21:59 实验43 音乐播放器实验\CORE\core_cmInstr.h
文件 29605 2016-04-15 21:59 实验43 音乐播放器实验\CORE\startup_stm32f40_41xxx.s
目录 0 2016-04-15 21:59 实验43 音乐播放器实验\FATFS\
目录 0 2016-04-15 21:59 实验43 音乐播放器实验\FATFS\doc\
文件 3248 2016-04-15 21:59 实验43 音乐播放器实验\FATFS\doc\css_e.css
文件 3661 2016-04-15 21:59 实验43 音乐播放器实验\FATFS\doc\css_j.css
目录 0 2018-11-07 22:18 实验43 音乐播放器实验\FATFS\doc\en\
目录 0 2016-04-15 21:59 实验43 音乐播放器实验\FATFS\doc\img\
文件 1063 2016-04-15 21:59 实验43 音乐播放器实验\FATFS\doc\img\app1.c
文件 1597 2016-04-15 21:59 实验43 音乐播放器实验\FATFS\doc\img\app2.c
文件 3811 2016-04-15 21:59 实验43 音乐播放器实验\FATFS\doc\img\app3.c
文件 10365 2016-04-15 21:59 实验43 音乐播放器实验\FATFS\doc\img\app4.c
文件 1414 2016-04-15 21:59 实验43 音乐播放器实验\FATFS\doc\img\f1.png
文件 1458 2016-04-15 21:59 实验43 音乐播放器实验\FATFS\doc\img\f2.png
文件 1039 2016-04-15 21:59 实验43 音乐播放器实验\FATFS\doc\img\f3.png
文件 2335 2016-04-15 21:59 实验43 音乐播放器实验\FATFS\doc\img\f4.png
文件 2479 2016-04-15 21:59 实验43 音乐播放器实验\FATFS\doc\img\f5.png
文件 1436 2016-04-15 21:59 实验43 音乐播放器实验\FATFS\doc\img\f6.png
文件 11388 2016-04-15 21:59 实验43 音乐播放器实验\FATFS\doc\img\f7.png
............此处省略308个文件信息
- 上一篇:Zemax Manual
- 下一篇:des源码
相关资源
- 水星mw4530r 原厂固件
- flash作品的源文件
- 基于gtk的mp3播放器
- flash读取EXCEL程序
- ffmpeg(amr转换mp3).exe.zip
- FreeRTOS和FreeMODBUS移植到STM32F407傻瓜教
- 15款Flash AS3.0游戏源码文件
- ADS1115的STM32F407的驱动
- STM32F429内部FLASH读写保护测试程序
- DSP CCS的入门、进阶的经典合集自己整
- 基于STM32F407的PS2遥控手柄代码
- STM32F407+OV7725+BMP+SD卡
- 示波器.rar
- STM32F407VET6_SMART_LCD1602显示
- stm32f407 矩阵键盘输入数字
- flash冰火人游戏源码
- STM32f407驱动光栅尺
- stm32f407 独立模式单通道采集(DMA FF
- STM32F407开发板集成程序
- SmartRF Flash Programmer v1.6.2
- 大学flash课件1-10章
- Huawei LiteOS for STM32F407.zip
- FLASH拼图游戏源码
- STM32F407-四路超声波测距代码
- stm32f407实现串口收发
- STM32F407ZGT6串口通信源码
- 运用STM32F407写的FFT,分辨率是1Hz。可
- STM32F407低功耗睡眠模式源码
- MP3音乐txt文件转16进制代码工具
- 基于cef3的flash插件NPSWF32.dll
评论
共有 条评论