|
自己尝试DIY做一个MP3的时候,历尽千难到了最后却发现VX1003B模块虽然有数据流入(在VS1003B模块的个接口有LED相连,所以数据流入可以看到其闪烁)
但是在连接的耳机上听不到音乐,完全没有声音
程序以及测试N次,所有的初始化都不存在问题并验证过了,并且VS1003B模块也经正弦测试和小段音乐文件播放,都没有问题。
然后我开始回头找问题所在,大致有几个方向:
第一,小端转大端程序存在的必要性以及是否出错?
从带ZNFAT32系统的SD卡数据是小端存储的,我用的51单片机是大端存储的,中间可能涉及到小端转大端的问题。
这里要说一句的是,我原本打算用ZNFAT32系统读取文件,但中间过程太过复杂,并且之前在无法放出音乐的时候,我就直接将这一部分简化了,转而直接用winhex直接读出来MP3文件所在的扇区起始,直接用SD_Read_Sector,读扇区,再一步步到播放程序里面。
但是,我在加了转换程序后依旧不可以。
而且我感觉,就算是这一块出了问题,至少有数据输入,应该可以有声音吧?
第二,MP3文件的采样率、压缩比的问题?
依旧是,如果这边出问题,我听到的应该是变形的音乐,而不应该是没有声音吧?
第三,可能涉及到变量初始化的问题,例如应该是unsigned int,而用成unsigned char,这种类似的问题?
都有检查过,并且程序的模板程序经烧写测试等都没问题。
或者可能还有其他的问题?
如果有大神最近正好知晓一模块相关的问题,烦请解惑,万分感谢,如果可以解决,也可以有另外感谢。
拜托了,秋梨膏!
|
|