音频应用   音频插件联盟,正版插件,欢迎大家选择!

 找回密码
 快速注册

QQ登录

只需一步,快速开始

阅读: 27379|回复: 1

[音频] 音频几个很重要的参数

[复制链接]

2609

积分

2

听众

2274

音贝

音频应用新手发布

Rank: 3

积分
2609
发表于 2019-6-7 | |阅读模式
音频应用公众号资讯免费发布推广

音频几个很重要的参数




  采样率:每秒采集数据的次数


  采样精度:每次采集数据的位数

  通道数:存在几路音频

  比特率:针对编码格式,表示压缩编码后每秒的音频数据量大小。

  音频的帧的概念没有视频帧那么清晰,几乎所有视频编码格式都可以简单的认为一帧就是编码后的一副图像。

  但音频帧跟编码格式相关,它是各个编码标准自己实现的。因为如果以PCM(未经编码的音频数据)来说,它根本就不需要帧的概念,根据采样率和采样精度就可以播放了。比如采样率为44.1HZ,采样精度为16位的音频,你可以算出bitrate(比特率)是44100*16kbps,每秒的音频数据是固定的44100*16/8 字节。

  amr帧比较简单,它规定每20ms的音频是一帧,每一帧音频都是独立的,有可能采用不同的编码算法,以及不同的编码参数。

  mp3帧较为复杂一点,包含了更多的信息,比如采样率,比特率,等各种参数。

  

pIYBAFzwvh2AXyJBAAH-1C6knXg508.png

  AT测试前设定音频参数

  这里主要是说明一个从C语言调用AudioSystem::SetParameter封装的过程。

  新增一个audio_hw_interface.cpp文件

  #include 《media/AudioSystem.h》

  namespace android {

  extern “C” void send_audio_calibration(int acdb_id, int capability, int app_id, int sample_rate)

  {

  char param[50];

  String8 paramValue;

  snprintf(param, sizeof(param), “send_audio_calibraTIon=%d-%d-%d-%d”,acdb_id, capability, app_id, sample_rate);

  paramValue.setTo(param);

  AudioSystem::setParameters(paramValue);

  return;

  }

  }; // namespace android

  在Android.mk中添加需要头文件搜索目录和动态库

  LOCAL_C_INCLUDES := $(LOCAL_PATH)/include \

  $(TOP)/frameworks/av/include/media

  LOCAL_SHARED_LIBRARIES := libcuTIls liblog libc libmedia libuTIls

  在调用该封装函数的C语言中。

  extern void send_audio_calibraTIon(int acdb_id, int capability, int app_id, int sample_rate);

  send_audio_calibration(acdb_id, 2,14, 48000);

  这样就可以了。
欢迎厂家入驻,推文!免费!微信:yinpinyingyong

456

积分

5

听众

187

音贝

音频应用

Rank: 1

积分
456
QQ
发表于 2019-6-20 |
路过,欣赏,学习了啊
欢迎厂家入驻,推文!免费!微信:yinpinyingyong
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

音频应用搜索

小黑屋|手机版|音频应用官网微博|音频招标|音频应用 (鄂ICP备16002437号)

Powered by Audio app

快速回复 返回顶部 返回列表