采样率:sampleRate :,每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。一般音乐CD的采样率是44100Hz,所以视频编码中的音频采样率保持在这个级别就完全足够了,通常视频转换器也将这个采样率作为默认设置。

frame是ALSA内部的一个单位,被用来描述一个采样点音频数据量的多少bytes。

一个采样点=1 frame。

所以:1单位Frame等于1个采样点的字节数 X 声道数(比如PCM 16,双声道的1个Frame等于2x2=4字节)

(1) sampleRate :可以简单理解为每秒多少个frames。

(2) frames(count) = sampleRate * time

(3) bytes = framesize * frames

bytes = framesize * sampleRate * time

(4)针对pcm数据:

framesize = channelCount * bytesPerSample

还有另外一层意思:2者相乘就是这么多channel占了多少size(bytes)。

比如:2 channel 16 bit的pcm数据,framesize = 2 * 2 = 4;

针对非pcm的编码数据流:

framesize = 1

(5) bytesPerSample:每个采样点有多少bytes,也即每个channel的size。原本每个采样点都是以bits为单位,这里一定要将bits量化为bytes。

比如:16bits = 2bytes;

32bits = 4bytes;

(6) period_size: 单位是多少个frames。可以理解成底层硬件buffer

(7) audio_stream_out_frame_size(&out->stream);表示一个frame多少个bytes。

(8) get_buffer_size,硬件产生终端的bytes。

static size_t out_get_buffer_size(const struct audio_stream *stream) {

struct siengine_stream_out *out = (struct siengine_stream_out *)stream;

int size = out->pcm_config.period_size * audio_stream_out_frame_size(&out->stream); return size;

}

Audio的framecount、framesize、sampleRate计算关系相关推荐

  1. 高德地图中缩放级别(zoom)和比例尺(getScalePerPixel)之间的计算关系

    高德地图缩放级别(zoom) 高德开放平台的开发文档中,地图缩放级别为(4-20),如下截图: 实际测试结果为(3-19),如下截图:     高德地图比例尺(getScalePerPixel) 表示 ...

  2. 魔域服务器修改和宝宝数据,宝宝属性与真实值之间的公式计算关系

    副本时代,大家都明白攻击才是王道,一方面人物装备不断提升,如属性神佑等级等.但宝宝攻击大家都知道,加攻击有3方面,一个是主属性(这里侧重与最小物攻成长和最大物攻成长),一个是超杀,一个是初始性. 话不 ...

  3. 直流电机(BLDC)转速和频率的计算关系

    在做BLDC电机转速PID控制的时候,需要检测BLDC反馈回来的实际转速,跟目标转速进行比较,通过PID算法,修改驱动PWM脉冲的占空比,实现速度闭环控制. 转速到频率的计算 我们假设转速用n表示,单 ...

  4. tb6600 两相四线步进电机相关参数计算关系

    假设细分数为16细分 ,步距角为1.8°,则每个脉冲产生的电机转动角度为 1.8°/16 = 0.1125°. 电机转 一圈所需的脉冲数量为 S 360°/0.1125° = 3200个脉冲. 同理求 ...

  5. 音叉公振频率与双臂质量的计算关系

    #include<iostream> #include<iomanip> using namespace std; int main() {double T[5], f[5], ...

  6. 基于NEO4J图模型的关系计算

    基于NEO4J图模型的关系计算 一.原始图模型 二.计算关系(不溯源) 三.计算关系(溯源) 四.批量人员关系计算(一对多的计算)<仅供参考> 一.原始图模型 原始图模型只有人与发帖之间的 ...

  7. 1.7 深入理解Audio系统

    第7章 深入理解Audio系统 7.1 概述 Audio系统是Android平台的重要组成部分,它主要包括三方面的内容: AudioRcorder和AudioTrack:这两个类属于Audio系统对外 ...

  8. [深入理解Android卷一全文-第七章]深入理解Audio系统

    由于<深入理解Android 卷一>和<深入理解Android卷二>不再出版,而知识的传播不应该因为纸质媒介的问题而中断,所以我将在CSDN博客中全文转发这两本书的全部内容. ...

  9. Android深入浅出之Audio

    Android深入浅出之Audio 第一部分 AudioTrack分析 一 目的 本文的目的是通过从Audio系统来分析Android的代码,包括Android自定义的那套机制和一些常见类的使用,比如 ...

最新文章

  1. mysql mysqld_multi 单机多进程
  2. C#实现动态生成Word
  3. GDI+ 中发生一般性错误
  4. 特别实用的 6 款 Python 特殊文本格式处理库推荐
  5. 前端学习(1328):服务器基础概念
  6. Shared Event-loop for Same-Origin Windows(译)
  7. webrender 查看是否开启_查看端口是否启用
  8. android 视网膜黄斑检查 amsler,自测黄斑病变 | 一张图搞定
  9. 无法读取源文件或磁盘_系统监控之磁盘和网络监控工具
  10. spring boot设置项目名称
  11. 树莓派安装拼音输入法(此处为谷歌拼音输入法)
  12. idea的HttpClient工具,发送post/get请求,可以发送json
  13. 19年12月六级翻译词汇
  14. 双11临近,电脑无缘无故的弹出了双11天猫广告,必须追踪到底
  15. 大友克洋机器人嘉年华_大友克洋
  16. MAC M1/M2安装ADOBE等第三方软件问题终极解决 “开启任何来源”“无法检查更新,请确认您已接入互联网”“移除下载镜像的Quarantine属性” “闪退”【MACBOOK】
  17. Netstat命令使用方法
  18. 深耕技术,与实践赛跑:一文告诉你如何稳妥快速完善区块链技术并有序推动商用​?...
  19. 三人易行PLC编程培训怎么样?
  20. Window SendMessage,PostMessage分析

热门文章

  1. form表单中的 action=./? 是什么意思
  2. 毕业设计-基于DGA 恶意域名的检测算法
  3. Oracle Primavera Unifier Version 22.10 新特征
  4. 什么是软连接,软连接的作用
  5. 计算机Excel批量改试卷,Excel批量修改标准化试卷(转)
  6. 用户权限管理之权限管理
  7. C++中四舍五入、取整的函数
  8. libcoap 接口分析与 CoAP 协议开发
  9. 【沃趣科技】再述mysqldump时域问题
  10. Ubuntu使用笔记(Talk is cheap,show me the code.)