基本名词
- 采样率
采样频率指录音设备在一秒钟内对声音信号的采样次数。采样频率越高,声音的还原就越真实越自然。
目前主流的采样频率有22.05KHz、44.1KHz、48KHz三种。
22.05 KHz为FM广播的声音品质,44.1KHz为理论上的CD声音品质。48KHz为人耳可辨别的最高采样频率。
- 量化位数
量化位数是音频文件的另一个参数。量化位数越大,声音的质量越高。常用的量化位数有8位、16位和32位。
量化位数指用几位二进制数来存储采样获得的数据。量化位数为8即指用8位二进制数来存储数据,如00010111
- 声道数
声道分为单声道与双声道。
单声道即为左右耳听到的声音相同。
双声道两耳听到的信息不同。相同的声音时间、采样频率和比特率的情况下,双声道文件的存储空间是单声道的两倍。但其会给人空间感,游戏和电影中常采用双声道,可达到“听声辨位”的效果。
播放一个视频,需要经历下面几步:
- 输入视频url
- 确定视频的封装格式
- 开始解封装
- 识别视频的轨道数据
- 分离轨道数据,音频轨道、视频轨道
- 解码视频数据为原始数据,解码音频数据为原始数据
- 做好音视频同步
- 渲染视频原始数据,播放音频原始数据
音频数据的存储
音频数据在 java 中以 16 位为基本单位,也就是两个字节,众所周知 int 类型的数据占用 32位(4字节),short 类型的数据占用 16 位,byte 类型占用 8 位(1字节)
我们可以使用 byte 和 short 来存放音频数据,在 Java 中 short 的运算结果会被转换为 Integer,所以在赋值前需要进行强制类型转换
// example
short a = 1234;
short b = 1234;
short c;
c = (short) a + b;
网友评论