查看: 190|回复: 5

[技术] 【赚周年币】技术帖——Fireduino学习7:播放TF卡音乐

[复制链接]

1552

主题

25

好友

9778

积分

状元

Rank: 6Rank: 6

  • TA的每日心情
    奋斗
    3 天前
  • 签到天数: 878 天

    [LV.10]以坛为家III

    活跃会员勋章 发帖机器勋章 在线之王勋章

    发表于 2016-12-12 09:14:40 |显示全部楼层
    本帖最后由 wudianjun2001 于 2016-12-12 09:16 编辑

          上一篇我们测试了TF,熟悉了TF卡的基本操作,本篇我们来使用TF卡播放音频文件。
          Fireduino 内部集成了HIFI级高质量的音频解码器、专业的硬件MP3解码加速器、硬件低损耗音频解码加速器和丰富的外设,支持WI-FI协议,支持24bits 192k Hz 采样率、低损耗、低功耗的音频解码。
          Fireduino 支持播放在SD卡以及网络上的音频文件,解码格式支持APE/FLAC/WAV/MP3/WMA/AAC/OGG;
          Fireduino Audio API 提供了播放、暂停、停止、以及设置和获取声音大小等。


    FireduinoAudio 相关结构体
    //playing status
    typedefenum
    {
        AudioFailed = 0,
        AudioPlay ,
        AudioPause ,
        AudioStop ,
    }AudioStatus;
    typedefenum
    {
        AUDIO_SD,         // SD
        AUDIO_NET      // NET
    }Storage;

    接口操作函数,有了函数就是很方便,直接使用就可以了
    begin(...)
       说明
           初始化 Audio。
       语法
           Audio.begin(AUDIO_NET);
           Audio.begin(AUDIO_SD);
      参数
           Storage:AUDIO_SD、AUDIO_NET  
       返回
          

    playFile(...)
       说明
           播放指定文件。
       语法
           Audio.playFile("\\4.MP3");
       
    参数
           char * :文件路径
       返回
          

    playNetFile(...)
       说明
           播放网络资源的地址(仅支持http协议)。
       语法
           Audio.playNetFile("http://192.168.199.240/%E6%89%93%E8%80%81%E8%99%8E.MP3");
       
    参数
          char* :网络资源地址。
       返回
          

    setVolume(...)
       说明
           设置声音大小
       语法
            Audio. setVolume(16);
       
    参数
          int :声音大小(0~31)
       返回
          

    getVolume(...)
       说明
           获取声音大小
       语法
          Audio. getVolume();
       
    参数
          
       返回
          音量大小值

    pause()
       说明
           暂停播放。
       语法
           Audio. pause();
       
    参数
          
       返回
          

    resume()
       说明
           恢复播放。
       语法
           Audio. resume();
       
    参数
          
       返回
          

    stop()
       说明
           停止播放。
       语法
          Audio. stop();
       
    参数
          
       返回
          

    getStatus()
       说明
           获取播放状态。
       语法
           Audio. getStatus();
       
    参数
          
       返回
          返回状态

    end()
       说明
           结束使用Audio,与begin 相反。
       语法
           Audio. end();
       
    参数
          
       返回
          

    音频输出接耳机接口,用普通的3.5MM耳机就可以了,下图所示
    1.png

    耳机输出电路
    2.png

    音频初始化程序,很简单,就判断SD卡时候存在,然后使用SD卡播放音乐
    3.png

    主程序部分内容
    4.png

    5110上显示内容
    5.png

    6.png


    源代码
    fire.rar (7.64 KB, 下载次数: 1)

    已有 1 人评分 收起 理由
    loveeeboard + 15

    总评分:  + 15   查看全部评分

    回复

    使用道具 举报

    5

    主题

    1

    好友

    862

    积分

    举人

    Rank: 4

  • TA的每日心情
    开心
    昨天 12:19
  • 签到天数: 68 天

    [LV.6]常住居民II

    发表于 2016-12-12 09:37:10 |显示全部楼层
    谢谢分享              
    回复

    使用道具 举报

    10

    主题

    10

    好友

    1497

    积分

    进士

    Rank: 5Rank: 5

  • TA的每日心情
    开心
    2017-1-2 14:43
  • 签到天数: 154 天

    [LV.7]常住居民III

    发表于 2016-12-12 11:18:38 |显示全部楼层
    好帅啊!!!!   
    回复

    使用道具 举报

    无效楼层,该帖已经被删除

    161

    主题

    4

    好友

    5347

    积分

    状元

    Rank: 6Rank: 6

  • TA的每日心情
    开心
    昨天 17:23
  • 签到天数: 571 天

    [LV.9]以坛为家II

    发表于 2016-12-28 22:34:42 |显示全部楼层
    问下音量怎么控制?发现音量好大
    回复

    使用道具 举报

    161

    主题

    4

    好友

    5347

    积分

    状元

    Rank: 6Rank: 6

  • TA的每日心情
    开心
    昨天 17:23
  • 签到天数: 571 天

    [LV.9]以坛为家II

    发表于 2016-12-28 22:38:47 |显示全部楼层
    suoma 发表于 2016-12-28 22:34
    问下音量怎么控制?发现音量好大

           找到了
    回复

    使用道具 举报

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

    关闭

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

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

    GMT+8, 2017-2-20 07:50 , Processed in 0.329445 second(s), 17 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部