自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

转载 音频几个很重要的参数!

音频几个很重要的参数!采样率:每秒采集数据的次数采样精度:每次采集数据的位数通道数:存在几路音频比特率:针对编码格式,表示压缩编码后每秒的音频数据量大小。音频的帧的概念没有视频帧那么清晰,几乎所有视频编码格式都可以简单的认为一帧就是编码后的一副图像。但音频帧跟编码格式相关,它是各个编码标准自己实现的。因为如果以PCM(未经编码的音频数据)来说,它根本就不需要帧的概念,根据采样率和采样...

2018-09-30 10:48:30 1483

转载 音频帧大小计算

采样率   sampling = 44100 格式(编码字节数、采样一位所占的字节数) format = s16(格式)=16(bit)声道数 channels = 2一次采样(一秒中所占的位数)TotalBit = sampling * channels * format = 1411200一次采样(一秒中所占的字节数)TotalByte = TotalBit/8 = 17640...

2018-09-30 10:23:09 6712

原创 vim 基本设置

命令行:vim ~/.vimrcset nu           //显示行号set tabstop=4    //tab四个空格set shiftwidth=4set cindent     //自动缩进set mouse=a      //鼠标

2018-09-21 12:34:53 138

转载 alsa-lib应用层接口分析

ALSA lib接口调用简介ALSA逻辑,在我当前看来,总共有两条线:1、录放音流控,2、amixer cset控件。 录放音流控(自定义名称),相当于操作OSS的/dev/dsp设备,可以设置三大参数等,并且启动录放音。这里,aplay,mplayer等播放器,调用ALSA lib中的snd_pcm_***等,标准接口函数,再通过该函数,操作/dev/snd/pcmC0D0c pcm...

2018-09-20 13:15:53 6983 6

转载 (转)ALSA音频概念介绍 ---绝对权威

最近研究了一下linux上ALSA库的使用,下面总结一下:首先先了解一下音频的几个概念,上网一搜一堆介绍,可特么的大多数概念介绍都是模糊的.只想说一句我....................(1) 采样位数 : 也就是codec采样时一个点所占的bit数,通常有8,16,24bit等.(2) 通道数[channel] : 是mono还是stereo,对应的是1或者是2通道.(3)...

2018-09-19 17:02:28 222

转载 Linux 下 ls -l 命令执行显示结果的每一列含义

转自:https://blog.csdn.net/zhuoya_/article/details/77418413#commentBox

2018-09-19 15:25:47 520

原创 ubuntu下怎么查看声卡型号?

在Ubuntu上查看声卡型号执行如下命令:~# lspci |grep -i audio~/WorkSpace/mobvoi_test$ lspci |grep -i audio02:02.0 Multimedia audio controller: Ensoniq ES1371 / Creative Labs CT2518/ES1373 (rev 02) 1、查看声卡信息...

2018-09-19 14:20:37 7260

转载 linux dmesg命令参数及用法详解(linux显示开机信息命令)

功能说明:显示开机信息。语  法:dmesg [-cn][-s <缓冲区大小>]补充说明:kernel会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用dmesg来查看。开机信息亦保存在/var/log目录中,名称为dmesg的文件里。参  数: -c  显示信息后,清除ring buffer中的内容。  -s<缓冲区大小>  预设置为819...

2018-09-18 15:49:50 695

转载 linux下错误的捕获:errno和strerror的使用

linux下错误的捕获:errno和strerror的使用经常在调用linux 系统api 的时候会出现一些错误,比方说使用open() write() creat()之类的函数有些时候会返回-1,也就是调用失败,这个时候往往需要知道失败的原因。这个时候使用errno这个全局变量就相当有用了。在程序代码中包含 #include#include <stdio.h>#inclu...

2018-09-18 14:11:10 694

原创 回调函数

版权声明:本文为博主原创文章,未经博主允许不得转载。 //cb.h 接口文档#include <iostream>#include <cstdio>struct A{ void (*pA)();//回调函数(函数指针)};void run(A *); //cb.cpp//接口的实现#include "cb...

2018-09-17 15:25:11 93

转载 CentOS下查看电脑硬件设备属性命令

如何在linux下查看电脑硬件设备属性# uname -a               # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue   # 查看操作系统版本# cat /proc/cpuinfo      # 查看CPU信息# hostname               # 查看计算机名# lspci -tv              # ...

2018-09-13 17:48:31 4370

转载 Linux 中如何卸载已安装的软件

Linux软件的安装和卸载一直是困扰许多新用户的难题。在Windows中,我们可以使用软件自带的安装卸载程序或在控制面板中的“添加/删除程序”来实现。与其相类似,在Linux下有一个功能强大的软件安装卸载工具,名为RPM。它可以用来建立、安装、查询、更新、卸载软件。该工具是在命令行下使用的。在Shell的提示符后输入rpm,就可获得该命令的帮助信息。  软件的安装  Linux下软件的安装...

2018-09-13 16:49:37 3646

转载 使用gdb调试段错误

我们打算使用gdb去解决为什么下面的程序(文件为segfault.c)引起了段错误的问题。下面的这段程序是从用户那里读入一行文本字串然后显示在屏幕上。然而,如下当前的程序并不会如期执行...#include <stdio.h>#include <stdlib.h>int main(int argc, char **argv){ char *buf; ...

2018-09-12 11:05:54 948

转载 C++虚函数与纯虚函数用法与区别

1. 虚函数和纯虚函数可以定义在同一个类(class)中,含有纯虚函数的类被称为抽象类(abstract class),而只含有虚函数的类(class)不能被称为抽象类(abstract class)。  2. 虚函数可以被直接使用,也可以被子类(sub class)重载以后以多态的形式调用,而纯虚函数必须在子类(sub class)中实现该函数才可以使用,因为纯虚函数在基类(base c...

2018-09-11 17:56:53 125

转载 Linux makefile 教程 非常详细,且易懂

最近在学习Linux下的C编程,买了一本叫《Linux环境下的C编程指南》读到makefile就越看越迷糊,可能是我的理解能不行。            于是google到了以下这篇文章。通俗易懂。然后把它贴出来,方便学习。           后记,看完发现这篇文章和《Linux环境下的C编程指南》的makefile一章所讲述的惊人的相似,只是这篇文章从一个实例切入,在有些地方比较好理解...

2018-09-11 10:15:32 1103

转载 使用cJSON解析JSON字符串

使用cJSON解析JSON字符串 一、为何选择cJSON          我们在使用JSON格式时,如果只是处理简单的协议,可以依据JSON格式,通过对字符串的操作来进行解析与创建。然而随着协议逐渐复杂起来,经常会遇到一些未考虑周全的地方,需要进一步的完善解析方法,此时,使用比较完善的JSON解析库的需求就提出来了。         基于方便引用的考虑,我们希望这个JSON解析库...

2018-09-10 15:19:48 3370

原创 gettimeofday函数的简单使用

#include <iostream>#include <sys/time.h>#include <cstdio>#include <unistd.h>using namespace std;void fun(){ sleep(2);}int main(){ struct timeval tp; struct ti...

2018-09-06 16:46:28 2800

转载 Linux下查看和添加环境变量

转自:https://www.cnblogs.com/aaronLinux/p/5837702.html$PATH:决定了shell将到哪些目录中寻找命令或程序,PATH的值是一系列目录,当您运行一个程序时,Linux在这些目录下进行搜寻编译链接。  编辑你的 PATH 声明,其格式为:  PATH=$PATH:<PATH 1>:<PATH 2>:<PAT...

2018-09-06 09:52:45 106

翻译 Linux 中/etc/profile、~/.bash_profile 等几个环境配置文件的执行过程

环境变量是和Shell紧密相关的,用户登录系统后就启动了一个Shell。对于Linux来说一般是bash,但也可以重新设定或切换到其它的 Shell。对于UNIX,可能是CShelll。环境变量是通过Shell命令来设置的,设置好的环境变量又可以被所有当前用户所运行的程序所使用。对于bash这个Shell程序来说,可以通过变量名来访问相应的环境变量,通过export来设置环境变量。下面通过几个实例...

2018-09-05 17:52:35 178

转载 Linux下gcc编译生成动态链接库*.so文件并调用它

动态库*.so在linux下用c和c++编程时经常会碰到,最近在网站找了几篇文章介绍动态库的编译和链接,总算搞懂了这个之前一直不太了解得东东,这里做个笔记,也为其它正为动态库链接库而苦恼的兄弟们提供一点帮助。1、动态库的编译下面通过一个例子来介绍如何生成一个动态库。/* * max.c /*生成libmax.so链接库*//* * # -shared 为链接库 ...

2018-09-05 17:47:18 140

转载 C++中const、volatile、mutable的用法 (及其详细)

const修饰普通变量和指针const修饰变量,一般有两种写法:const TYPE value;TYPE const value;这两种写法在本质上是一样的。它的含义是:const修饰的类型为TYPE的变量value是不可变的。对于一个非指针的类型TYPE,无论怎么写,都是一个含义,即value值不可变。 例如:const int nValue;    //nValue是co...

2018-09-04 17:02:30 111

转载 C++ const用法 尽可能使用const

C++ const 允许指定一个语义约束,编译器会强制实施这个约束,允许程序员告诉编译器某值是保持不变的。如果在编程中确实有某个值保持不变,就应该明确使用const,这样可以获得编译器的帮助。1.const 修饰成员变量  1 #include<iostream> 2 using namespace std; 3 int main(){ 4 int a1=3...

2018-09-04 16:36:24 75

转载 Zlib的deflate, z_stream结构的使用

From: http://blog.sina.com.cn/s/blog_625cce080100k187.htmlZlib的deflate, z_stream结构的使用 使用deflate进行压缩时,先要定义z_stream结构体,先将z_stream的zalloc, zfree, opaque偏量设为Z_NULL, 再调用deflateInit函数初始化z_stream结构...

2018-09-03 15:19:17 453

原创 unsigned char 和char 数据类型的区别

引用:在C中,默认的基础数据类型均为signed,现在我们以char为例,说明(signed) char与unsigned char之间的区别 首先在内存中,char与unsigned char没有什么不同,都是一个字节,唯一的区别是,char的最高位为符号位,因此char能表示-128~127, unsigned char没有符号位,因此能表示0~255,这个好理解,8个bit,最多25...

2018-09-03 14:37:55 4040

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除