大家好这一章我们来学习一下音频的播放,声音是由不同频率组成的,录音时会将声音编码成数字存储成文件,而播放声音相反,在将文件转换为声音时需要用到一个重要的东西,它叫做CODEC,它能将数据转换成电压,其实它就是DAC,匠芯创D133CBS的板卡上提供了2种音频播放的方法,一种是PWM音频,另一种是IIS音频,我们这一章要讲的是PWM音频。
我们首先看电路图,这里官方用了RC滤波,这是必不可少的,pwm音频都需要这样滤波否则会有杂音,U14是一个音频功放,也叫做PA
然后我们再来讲WAV音频,WAV属于无损音频文件格式,因为他的数据是不压缩直接存储的,所以他的音质比MP3等格式要好很多。而且它由于没有压缩数据在播放时也不需要复杂的解码,但他有个缺点,就是文件会非常大,通常是MP3大小的10倍以上,但是这里我们使用到了sd卡所以不需要担心文件过大。
我们再来看看代码,这里我们直接使用官方的DEMO
圈出来的这一部分就是PWM音频的初始化,主要是设置通道和频率以及比特率,这里需要根据音乐文件的不同进行动态调整
这一部分就是从文件中读取音乐数据流然后不断的送入PWM进行输出,直至文件结束
然后我们编译烧录并接上扬声器来看看效果,实际音质还是非常好的,但是我上传前进行了视频压缩,所以画质和音质都没有现场那么好了,小伙伴们可以自己动手试试
da8cf75e57b73cb0439dc655c427fb20
下一章我们讲解一下IIS来播放,IIS的音质会比PWM要好一点,这一章到这里就结束了有疑问的小伙伴欢迎提问