查看: 119|回复: 2

[技术] 【赚周年币】技术贴-----(6)Fireduino TF卡音乐测试

[复制链接]

56

主题

1

好友

1813

积分

进士

Rank: 5Rank: 5

  • TA的每日心情
    奋斗
    昨天 08:57
  • 签到天数: 571 天

    [LV.9]以坛为家II

    爱板会员勋章 活跃会员勋章 发帖机器勋章 在线达人勋章

    发表于 2016-12-10 12:09:35 |显示全部楼层
    本帖最后由 wambob 于 2016-12-10 17:58 编辑

            先学习下官方的资料。
    Fireduino Audio
             Fireduino 内部集成了HIFI级高质量的音频解码器、专业的硬件MP3解码加速器、硬件低损耗音频解码加速器和丰富的外设,支持WI-FI协议,支持24bits 192k Hz 采样率、低损耗、低功耗的音频解码。
            Fireduino 支持播放在SD卡以及网络上的音频文件,解码格式支持APE/FLAC/WAV/MP3/WMA/AAC/OGG;
    官方的例程
    1. #include <Arduino.h>
    2. #include "TF.h"
    3. #include "Audio.h"
    4. void setup() {
    5.         Serial.begin(115200);
    6.         Serial.print("\r\narduino setup ...\r\n");
    7.         if(!SD.begin())
    8.         {
    9.                 Serial.println("sd init err\r\n");
    10.                 while(1);
    11.         }
    12.         Audio.begin(AUDIO_SD);
    13.         if(Audio)
    14.         {
    15.                 Audio.playFile("\\4.MP3");
    16.         }
    17. }
    18. void loop() {
    19.         Serial.println("loop");
    20.         delay(2000);
    21.         if(Audio.getStatus() == AudioStop)
    22.         {
    23.                 Audio.playFile("\\3.MP3");
    24.         }
    25. }
    复制代码
    可以看到使用了音频和TF卡头文件
    1. #include "TF.h"
    2. #include "Audio.h"
    复制代码
    程序中使用了如下API,开始、播放和获得播放状态
    1. Audio.begin()
    2. Audio.playFile()
    3. Audio.getStatus()
    复制代码
    7.JPG

    准备好mp3音乐文件,一个是官方社区的 Strongest.rar (2.37 MB, 下载次数: 0) ,一个是从网上下载的 singmetoyou.rar (5.3 MB, 下载次数: 0) ,两个我都改了下名字,为何?接着看,先看看mp3文件属性
    5.JPG
    4.JPG

    先烧代码吧,修改好官方例程里的音乐文件后,下载代码,结果并没有预期想象中的音乐。打开串口,一步一步加串口输出调试。首先在setup()中加了检测串口。
    1. while(!Serial);
    复制代码
    再次下载,串口助手有输出了,但结果是
    1. arduino setup
    2. sd init err
    复制代码
    技术在于折腾,好吧,换个卡。把我手机里的闪迪8G卡去了出来,比较了下,除了丝印,看不出所以然

    8.JPG

    继续编译上传工作。这次倒是不出
    1. sd init err
    复制代码
    而是
    9.JPG

    但是依然没有音乐。看了下官方例程里的是MP3,改成了小写mp3测试,为了更保险,名字里也去掉了空格。也在里面添加了串口输出语句
    1. if(Audio)
    2.         {
    3.    Serial.println("sd ok?\r\n");
    4.                 Audio.playFile("\\Strongest.mp3");
    5.         }
    复制代码
    再次编译上传代码,等了几分钟吧,也许说的时间有点长,什么情况下感觉时间过的慢?等待的时候!
    耳机终于有音乐了!串口输出
    11.JPG
    22.JPG

    在loop里又添加了一段代码
    1. void loop() {
    2.         Serial.println("loop");
    3.         delay(2000);
    4. //        if(Audio.getStatus() == AudioStop)
    5. //        {
    6. //    Serial.println("song1 ok!\r\n");
    7. //                Audio.playFile("\\Strongest.mp3");
    8. //        }
    9.   if(Audio.getStatus() == AudioStop)
    10.   {
    11.     Serial.println("song2 ok!\r\n");
    12.     Audio.playFile("\\singmetoyou.mp3");
    13. }
    14. }
    复制代码
    3.JPG

    整个代码
    1. #include <Arduino.h>
    2. #include "TF.h"
    3. #include "Audio.h"

    4. void setup() {
    5.   Serial1.begin(115200);
    6.   Serial.begin(115200);
    7.   while(!Serial);
    8.   Serial1.print("\r\n FireDuino Setup ...\r\n");
    9.         Serial.print("\r\narduino setup ...\r\n");

    10.         if(!SD.begin())
    11.         {
    12.                 Serial.println("sd init err\r\n");
    13.                 while(1);
    14.         }

    15.         Audio.begin(AUDIO_SD);
    16.         if(Audio)
    17.         {
    18.    Serial.println("sd ok?\r\n");
    19.                 Audio.playFile("\\Strongest.mp3");
    20.         }

    21. }

    22. void loop() {
    23.         Serial.println("loop");
    24.         delay(2000);
    25. //        if(Audio.getStatus() == AudioStop)
    26. //        {
    27. //    Serial.println("song1 ok!\r\n");
    28. //                Audio.playFile("\\Strongest.mp3");
    29. //        }
    30.   if(Audio.getStatus() == AudioStop)
    31.   {
    32.     Serial.println("song2 ok!\r\n");
    33.     Audio.playFile("\\singmetoyou.mp3");
    34. }
    35. }
    复制代码
    已有 1 人评分周年币 收起 理由
    loveeeboard + 20

    总评分: 周年币 + 20   查看全部评分

    回复

    使用道具 举报

    5

    主题

    1

    好友

    712

    积分

    举人

    Rank: 4

  • TA的每日心情
    开心
    4 天前
  • 签到天数: 47 天

    [LV.5]常住居民I

    发表于 2016-12-10 19:02:08 |显示全部楼层
    楼主是活动领取的板子吗?         
    回复

    使用道具 举报

    56

    主题

    1

    好友

    1813

    积分

    进士

    Rank: 5Rank: 5

  • TA的每日心情
    奋斗
    昨天 08:57
  • 签到天数: 571 天

    [LV.9]以坛为家II

    爱板会员勋章 活跃会员勋章 发帖机器勋章 在线达人勋章

    发表于 2016-12-10 21:51:48 |显示全部楼层
    jackten 发表于 2016-12-10 19:02
    楼主是活动领取的板子吗?

    申请的                    
    回复

    使用道具 举报

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

    关闭

    站长推荐上一条 /1 下一条

    手机版|爱板网 |网站地图  

    GMT+8, 2017-1-18 17:56 , Processed in 0.087319 second(s), 13 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部