OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3631|回复: 9

新:战舰V3音乐播放器程序分享

[复制链接]

4

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2015-11-17
在线时间
5 小时
发表于 2018-5-16 11:30:06 | 显示全部楼层 |阅读模式
原帖更新: 如图,为自己改写原子哥程序的音乐播放器,与原子哥的程序相比增加了红外遥控功能,可以实现多种播放模式的设置,如选歌、随机等切歌模式;此外,还增加了图片背景,可以实现以图片为背景的动态显示,如进度条、歌曲名等信息




源码已上传至 GitHub ,链接为:https://github.com/HobbyStarSky/STM32-MP3
或直接进入 GitHub 搜索 STM32-MP3
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

29

主题

162

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1243
金钱
1243
注册时间
2018-4-25
在线时间
185 小时
发表于 2018-5-25 16:03:39 | 显示全部楼层
回复 支持 反对

使用道具 举报

32

主题

146

帖子

0

精华

高级会员

Rank: 4

积分
642
金钱
642
注册时间
2017-7-25
在线时间
129 小时
发表于 2018-6-12 08:59:14 | 显示全部楼层
mark!!!!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2018-6-13 01:01:06 | 显示全部楼层
不错,谢谢分享。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2018-6-13 01:01:23 | 显示全部楼层
能直接上传到我们开发板么?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2018-6-13 01:01:27 | 显示全部楼层
能直接上传到我们论坛么?
回复 支持 反对

使用道具 举报

6

主题

153

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1323
金钱
1323
注册时间
2016-12-27
在线时间
156 小时
发表于 2018-6-13 08:06:02 | 显示全部楼层
同楼上,我也想问,代码怎么不直接分享到原子的论坛呢
回复 支持 反对

使用道具 举报

10

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
65
金钱
65
注册时间
2017-11-8
在线时间
10 小时
发表于 2018-8-23 17:36:26 | 显示全部楼层
这个实验项目中的wav_buffill程序好像并不能将24位的WAV数据的最高字节p[2]转换到缓冲区的首地址buf[0]中的,为什么?
回复 支持 反对

使用道具 举报

10

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
65
金钱
65
注册时间
2017-11-8
在线时间
10 小时
发表于 2018-8-23 17:38:40 | 显示全部楼层
这个实验项目中的wav_buffill程序好像并不能将24位的WAV数据的最高字节p[2]转换到缓冲区的首地址buf[0]中的,为什么?
书上不是说,WAV数据流时低字节在前,高字节在后吗?
另外当WAV数据流是16位,不是也需要将高字节转换到缓冲区的首地址吗
回复 支持 反对

使用道具 举报

10

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
65
金钱
65
注册时间
2017-11-8
在线时间
10 小时
发表于 2018-8-23 17:45:33 | 显示全部楼层

STM32F4开发指南V1.1-库函数版本中第四十八章 音乐播放器实验
书中P660页写到“SD卡读取到的24位WAV数据流,是低字节在前,高字节在后,比如,我们读到一个声道的数据(24位),存储在buf[3]里面,那么要通过SPI-DR发送这个24位数据,过程如下:SPI_DR=((u16)buf[2]<<8+buf[1];SPI_DR=((u16)buf[0]<<8;然而在P672页的wav_buffill填充函数中对于24位数据转换处理后的结果却是buf[0]=p[1],buf[1]=p[2],buf[3]=p[0]......
我的问题是:
(1)对于24位的WAV数据流,wav_buffill函数并没有将WAV数据流的高字节p[2]赋值给缓冲区的首地址buf[0],这是为什么?
(2)为何 是低字节在前,高字节在后的,什么原则导致的?
(3)加入SD卡读取到的是16位WAV数据流,是否也是低字节在前,高字节在后的?如果是,为何wav_buffill函数并没有对16位WAV数据流进行转换处理?
(4)该开发板的下一个实验(第四十九章 录音机实验)进行了WAV录音并保存为SD卡内的WAV数据流文件,然而该实验里并看不出WAV数据流是低字节在前,高字节在后的,那么问题(2)是什么原因导致的?
感谢原子哥及各位学友指导。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-11 12:27

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表