技术标签: alsa库 jpeg库 qt 音视频 Qt编程 QT 界面开发工程师课程
advance linux sound architecture --》高级linux声音架构,给程序员开发音频设备的驱动和应用程序提供了统一的接口
开发声卡的驱动
开发基于linux的音频编解码软件
https://www.alsa-project.org/wiki/Main_Page //官方网站
alsa-lib-1.0.22.tar.bz2 (alsa核心库源码)
alsa-utils-1.0.22.tar.bz2(音频实用例程源码)
第一步:交叉编译alsa-lib
./configure --prefix=/home/gec/xxx \ (此处是alsa库的安装路径,是要按照实际情况来改的)
--host=arm-linux \
--disable-python
make
make install
第二步:交叉编译alsa-utils
./configure --prefix=/home/gec/xxx \
--host=arm-linux \
--with-alsa-prefix=/home/gec/xxx/lib/ \
--with-alsa-inc-prefix=/home/gec/xxx/include/ \
--disable-alsamixer \
--disable-xmlto
make
make install
第一步:将移植得到的库文件,头文件,可执行程序打包下载到开发板中
tar -jcf alsa.tar.bz2 alsadir
//把alsadir目录所有的内容的打包到alsa.tar.bz2里面
第二步:把移植得到的bin目录中arecord和aplay拷贝到开发板 /bin
第三步:把移植得到的lib目录中所有的文件拷贝到开发板/lib
第四步:把移植得到的share目录拷贝到开发板的** /home/gec/alsadir 目录下
注意,注意,注意:share目录在开发板中的路径也必须跟当初你移植的时候ubuntu上的路径一致
arecord -d3 -c1 -r16000 -twav -fS16_LE example.wav
说明:
-d:录音时长(duration)
-c:音轨(channels)
-r:采样频率(rate)
-t:封装格式(type)
-f:量化位数(format)16bit 小端
执行如下命令播放
aplay example.wav
移植alsa库
alsa-lib-1.0.22.tar.bz2 (alsa核心库源码)
alsa-utils-1.0.22.tar.bz2(音频实用例程源码)
第一步:交叉编译alsa-lib
./configure --prefix=/home/gec/xxx \ (此处是alsa库的安装路径,是要按照实际情况来改的)
--host=arm-linux \
--disable-python
make
make install
第二步:交叉编译alsa-utils
./configure --prefix=/home/gec/xxx \
--host=arm-linux \
--with-alsa-prefix=/home/gec/xxx/lib/ \
--with-alsa-inc-prefix=/home/gec/xxx/include/ \
--disable-alsamixer \
--disable-xmlto
make
make install
(1)第一步: ./configure --prefix=/home/gec/jpeg/arm-jpeg CC=arm-linux-gcc --host=arm-linux --enable-shared --enable-static
(2)第二步:make && make install
链接:https://pan.baidu.com/s/1NiNXNtsZBKeaXbCPNVVm8g?pwd=ncl2
提取码:ncl2
第六期 QTmplayer视频播放器+列表框+交叉编译QT程序+QT控制硬件+多进程
第七期 QTwindows打包QT工程+多线程QThread+菜单栏+打包QT程序
github在统计提交的时候,会判断邮箱是否跟github的登陆邮箱匹配,不匹配则不计算活跃度,即不生成小绿块。查看配置git config user.emailgit config user.name设置当前仓库的user.name/user.emailgit config user.email yourEmailNamegit config user.name yourName设置全局user.name/user.emailgit config --global use.
Linux设备驱动会以内核模块的形式出现,因此,学会编写Linux内核模块编程是学习Linux设备驱动的先决条件。4.1~4.2节讲解了Linux内核模块的概念和结构,4.3~4.8节对Linux内核模块的各个组成部分进行了展现,4.1~4.2与4.3~4.8节是整体与部分的关系。4.9节说明了独立存在的Linux内核模块的Makefile文件编写方法和模块的编译方法。4.1 Linu
//// 输入浏览器中的localstorage// var storage=function () {// if(!window.localStorage){// alert("浏览器支持localstorage");// }else{// var storage=window.localStorage
在C++中BOOL,TRUE,FALSE 和 bool ,true, false 两组都可以用 原因 在以前的C++标准中,没有定义”bool”类型,因此,Microsoft 使用了类型定义,定义了”bool”类型: typedef int BOOL; #define FALSE
如果你不了解View,那就说明你没有真正入门android无论是TextView小控件,还是LineLayout这种大容器,都是View演化而来,TextView也继承自Viewpublic class TextView extends View implements ViewTreeObserver.OnPreDrawListener {}LineLayout这类布局控件特殊一点,来自ViewGroup,而ViewGroup继承自Viewpublic class RelativeLayout e
题目链接:http://acm.hust.edu.cn/vjudge/problem/visitOriginUrl.action?id=19051题意:有两个长度分别为p+1和q+1的由1到n2之前的整数组成的序列,每个序列的元素各不相等,两个序列第一个元素均为1。求两个序列的最长公共子序列。分析:LCS的复杂度为O(p∗q),这题p,q最...
1.后端配置nginx 开启 gzip访问规则2.前端配置WWW www = new WWW (Url); www类封装了针对不同平台不同的方法实现。会在ios和android自动添加header,gzip其实前端不需要做任何事情,nginx开启gzip即可。3.插件推荐BestHttp 5星推荐!支持Http , Websocket等协议。...
最近在学习java,可是在与数据库建立连接这块儿老出错。因此,在阅读JDBC官方帮助文档时,看到一些非常有用的资料,真有一点“柳暗花明又一村”的味道。希望能将自己的总结记录下来,分享给大家,共同努力,一起学习。 步入正题,下面介绍使用 Microsoft JDBC Driver for SQL Server 连接到SQL Server的几种方式,以及其实例。1、使用Driver
最近都在做ARM的方面学习工作,感觉有必要记录下来之前FPGA的工作,好记性也不如烂笔头;说起FPGA,断断续续的也用过4,5年了,中间接触过DSP,就是因为没有记录文档资料,目前几乎快忘光了;FPGA方面的心得,将会由以下几个方面进行总结:1.FPGA时序约束以及高速ADC约束实例2.TDC进位延时链设计以及研究3.TDC的精度以及自动校正算法的实现STA:S
java根据空格截取字符串、用一个空格替换多个空格例子、正则表达式去掉重复值、正则表达式判断邮箱格式
其中有一些值的概念不太清楚,参考了:https://blog.csdn.net/lsgqjh/article/details/63685058https://blog.csdn.net/mulinsen77/article/details/84583716在此感谢!LockLock接口功能:public interface Lock { // 获得锁 void lock();...
文章目录1. 一些必备软件1.1 github 账户1.2 下载nodejs2 按照Hexo3. 将hexo本地博客 推送到github 仓库里1. 一些必备软件1.1 github 账户如果没有到话,首先去github官网去注册一个账户(有的话,相信你懂这个网站,这部分你可以跳过)按部就班地填写信息即可,用户名别乱起,以后改起来麻烦,后面还要拿用户名当域名,当然你们开心就好接着创建Repository登陆GitHub,点击右上角的 +号,选择New repositoryReposito