宁海县 建德市 南漳县 项城市 长岛县 卢氏县 宁德市 左贡县 辉县市 大安市 和龙市 巴楚县 石泉县 蚌埠市 潮安县 班玛县

灵契_基于Orangpi Zero和Linux ALSA实现WIFI无线音箱(一)

标签:信及豚鱼 炸金花忌讳什么

作品已经完成,先上源码:

https://files.cnblogs.com/files/qzrz十二怒汉_2018年最新新闻网q1/WIFISpeaker.zip

全文包含三篇,这是第一篇,作为前言和概述。

第二篇:基于Orangpi Zero和Linux ALSA实现WIFI无线音箱(二)

第三篇:基于Orangpi Zero和Linux ALSA实现WIFI无线音箱(三)

以下是正文:

一、前言

  先说为什么要做这个作品。作者手头上有一闲置的蓝牙音箱,可恨的是笔记本电脑没有蓝牙功能,而USB口只有两个,即使买个蓝牙适配器也不够用USB口用,也不考虑用USBnana_2018年最新新闻网 H九真九阳_2018年最新新闻网ub,看着这么多线就让人觉得糟心。刚好还有一块OrangPi Zero,突发奇想,打算利用它和家里的WIFI无线网络实现无线音箱的功能。其实类似功能音箱某宝上也有,不过大部分都是打着云音箱、智能音箱的旗号,个人觉得这类音箱都有一个很大问题:只能播放网络音乐或者使用DLNA、Airplay等协议从手机或电脑推送音频,可是实际上很多浏览器、播放器并不支持DLNA或Airplay推送,这就很大的限制了这种音箱的使用范围。例如作者习惯使用Potplayer(不支持DLNA和Airplay)作为PC端的音乐播放器和视频播放器,这种情况下,这些智能音箱就完全没用了。另外,在安卓上也有一些类似的app,类似Soundwire、wifiaudio等,能实现电脑声卡输出的音频实时录音并传输到安卓手机上,把手机充当wifi音箱,但在Linux环境上目前没发现类似软件。

二、硬件连接

  说干就干,先说硬件:OrangPi Zero硬件引出了音频接口,如下图所示。本作品直接使用耳机接口的LINEOUTR、LINEOUTL和GND引脚,分别代表左右声道,这样硬件环境就搭建好了。

  

三、软件运行环境

  发送端:Windows7,开发工具Visual Studio 2012,C++语言。根据微软MSDN,Core Audio APIs只支广汽传祺_2018年最新新闻网持Windows Vista以上操作系统,所以发送端软件也只能在Vista以上系统运行。

  接收端:Orangpi Zero,运行Armbian 5.38,python3.5

四、系统原理图

  发送端和接收端通过底层socket进行数据的发送和接受。socket意为套接字,是实现TCP/IP协议的一种最常用的方式,在各中央财经大学_2018年最新新闻网种编程环境下都有成熟的应用。了解网络通讯的人都知道,网络通讯最主要的两种通讯协议是TCP协议和UDP协议,以下是我对这两种协议的理解:

1、TCP协议是建立连接的通讯,是可靠的通讯,能保证发出去的数据包不丢失、不重复。

2、UDP协议是无连接的通讯,是不可靠的通讯,UDP尽最大努力保证数据可靠传输,但不保证一定能不出差错、不丢包。梵克雅宝_2018年最新新闻网

  这两种通讯方式的优缺点也很明显,TCP要建立连接、麻烦、效率低,一般使用在对数据准确率要求高而实时性不高的情况。相反,UDP协议不建立连接,操作简单,不管对方能否收到,发送端都不停地发送,UDP协议在实时性要求比较高的场合非常合适,例如传输视频、音频数据时,一两帧数据丢失、错误并不会影响用户的体验。所以,在本作品中,使用UDP协议的socket接口进行网络通讯。系统框图如下所示:

  发送端原理看似较简单,但实际上作者花的最多的时间就在调试发送端上,在下一节将详细讲述发送端的原理和过程。以下是发送端和接收端运行界面:

当前文章:http://r0koq-shoujiake-com.bfdrq5.tw/kzn4/618ec_154389.html

发布时间:2019-07-23 00:00:00

澳门银河娱乐送彩金网站  银河娱乐首页yh163am.com中国女留学生在西班牙被辱骂攻击,多次反抗无效  澳门银河有正规平台吗  银河娱乐手机官网  澳门银河娱乐送彩金网站  澳门银河官网手机app  澳门银河真人在线娱乐  澳门银河yh99.com  澳门银河真人在线娱乐  澳门银河送彩金  

关于2018年最新新闻网 | 2018年最新新闻网动态 | 联系我们 | 法律声明 | 2018年最新新闻网员工 | 2018年最新新闻网邮箱 | 网站地图

2018年最新新闻网版权所有