查看: 1994|回复: 3

【赚周年币】技术贴----(8)Fireduino DLNA 播放器

[复制链接]
  • TA的每日心情
    奋斗
    2020-5-27 15:41
  • 签到天数: 868 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2016-12-13 10:19:00 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 wambob 于 2016-12-13 12:06 编辑

            DLNA的全称是DIGITAL LIVING NETWORK ALLIANCE(数字生活网络联盟)。
            DLNA 成立于2003 年6 月24 日, 其前身是DHWG (Digital Home Working Group 数字家庭工作组),由Sony、Intel、Microsoft等发起成立、旨在解决个人PC ,消费电器,移动设备在内的无线网络和有线网络的互联互通,使得数字媒体和内容服务的无限制的共享和增长成为可能。
            DLNA的口号是Enjoy your music, photos and videos, anywhere anytime。  
            DLNA并不是创造技术,而是形成一种解决的方案,一种大家可以遵守的规范。所以,其选择的各种技术和协议都是当前所应用很广泛的技术和协议。
           DLNA将其整个应用规定成5个功能组件。
           从下到上依次为:网络互连,网络协议,媒体传输,设备的发现控制和管理,媒体格式。

    Fireduino支持的音源使用了枚举类型定义了

    1.         AUDIO_SD,                 // SD
    2.         AUDIO_NET,                    // NET
    3.         AUDIO_DLNA,                        //DLNA
    4.         AUDIO_LINEIN1,                //line in1
    5.         AUDIO_LINEIN2                 //line in2
    6. }Audio_Source;
    复制代码
    已经学习了SD卡和NET播放音乐了。
    首先下载支持DLNA协议的音乐软件,官方给出的是网易云。
    下载安装后,软件
    2.JPG
    点击设置
    3.JPG
    打开连接DLNA设备
    4.JPG
    给开发板下载DLNA程序后才能识别出来,Fireduino在这里是作为接收端的,音乐软件作为发送端。
    5.JPG
    发送方和接收方遵循DLNA协议。
    Fireduino作为DLNA接收端,这里使用的是wifi传送。
    和播放网络音乐相同。
    1.首先初始化SD卡,作为接受缓冲。
    1. Serial.begin(115200);
    2.   while(!Serial);
    3.         Serial.print("\r\narduino setup ...\r\n");

    4.         if(!SD.begin())
    5.         {
    6.                 Serial.println("sd init err\r\n");
    7.                 while(1);
    8.         }
    复制代码
    2.wifi的状态检查并连接,打印连接后的信息
    1. // check for the presence of the shield:
    2.   if (WiFi.status() == WL_NO_SHIELD) {
    3.     Serial.println("WiFi shield not present");
    4.     // don't continue:
    5.     while (true);
    6.   }

    7.   String fv = WiFi.firmwareVersion();
    8.   if (fv != "1.1.0") {
    9.     Serial.println("Please upgrade the firmware");
    10.   }

    11.   // attempt to connect to Wifi network:
    12.   while (status != WL_CONNECTED) {
    13.     Serial.print("Attempting to connect to SSID: ");
    14.     Serial.println(ssid);
    15.     // Connect to WPA/WPA2 network. Change this line if using open or WEP network:
    16.     status = WiFi.begin(ssid, pass);
    复制代码
    3.初始化DLNA,并播放 遵循DLNA 协议的发送方推送过来的数据。
    1. Audio.begin(AUDIO_DLNA);
    复制代码
    就像DLNA说的一样,DLAN不是新的技术,只是一种解决方案。使用Fireduino DLNA,可以轻松实现无线wifi功放。
    1.JPG

    评分

    参与人数 1 +20 收起 理由
    loveeeboard + 20

    查看全部评分

    回复

    使用道具 举报

  • TA的每日心情
    开心
    2021-12-10 15:56
  • 签到天数: 2675 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2016-12-14 17:45:02 | 显示全部楼层
    还没有接触过这方面的技术,学习一下
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-5-27 15:41
  • 签到天数: 868 天

    连续签到: 1 天

    [LV.10]以坛为家III

     楼主| 发表于 2016-12-14 17:48:02 | 显示全部楼层
    slotg 发表于 2016-12-14 17:45
    还没有接触过这方面的技术,学习一下

    要不是这个板卡,我也不知道DLNA协议
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    3 小时前
  • 签到天数: 1254 天

    连续签到: 9 天

    [LV.10]以坛为家III

    发表于 2016-12-17 07:48:20 | 显示全部楼层
    DLNA技术前景广阔
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

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



    手机版|小黑屋|与非网

    GMT+8, 2024-4-20 12:08 , Processed in 0.146423 second(s), 23 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.