美文网首页
安卓音视频开发(1)

安卓音视频开发(1)

作者: ZSACH | 来源:发表于2019-11-30 20:56 被阅读0次
    • 基础知识

      1. 声音三要素:频率(声音的高低)、振幅(响度)、波形(音色),低频更容易绕过障碍物,传播的远。
      2. 数字音频产生:连续的模拟信号转化为离散的数字信号,先进行采样,一般为人耳最高频率的两倍,44.1khz,即1秒采样44100次。然后对每个采样进行量化,转化成数字。最后进行存储,即编码。有很多种格式,裸数据PCM格式,纯原始数据,描述他需要3个概念,量化的格式,采样率,声道数。如果量化格式是2字节,采样44100,声道2。那么一秒里的大小为44100162,大约为1.2M。
      3. 如何采集声音的:麦克风碳膜十分敏感,声音是一种波,会压缩碳膜,下方有一个电极,会接触它,接触的长短和频率就和声音的振幅和频率有关,这就完成了从声音信号到电信号的转换,之后经过放大电路,就可以完成2的采样的。
      4. 分贝:表示声音强度的单位。
      5. 音频编码:如果使用裸数据传输,可以看到,数据量是非常大的,所以要对数据进行压缩,指标就是压缩比,压缩的原理就是去掉冗余的信号,包括不能贝人耳感知到的信号。常见的编码格式包括WAV(就是在PCM文件前加入藐视PCM的三个元素信息,不进行压缩处理。他的音质非常好,适合做中间文件素材等)、MP3(有不错的压缩比,听感就非常WAV格式)、AAC、OGG等
      6. 图像的表示:红绿蓝没发被分解,是三原色,等量的三色光变成白光。屏幕上每个像素点又三个子元素点促成,可以用RGB(每一个原色使用浮点0.0-1.0或者整数表示0-255)、YUV(主要用于彩色引号的传输,包括明亮度,色彩,饱和度)
    • 安卓平台的音频渲染

    SDK提供了三套API:
    MediaPlayer:封装的比较高,使用比较简单,适合在后台长时间播放音乐;
    SoundPool:适合播放短音频,比如按键铃声等;
    AudioTrack:是更加底层的API,需要配合解码器使用

    NDK提供了OpenSL ES的C语言接口,提供了强大的音频处理等功能。

    • 安卓平台的视频渲染

    使用OpenGL的嵌入式版本OpenGL ES,是OpenGL的一个子集。它是跨平台设计的,可用于2D3D的渲染的底层平台库。它是跨平台的,所以每个平台都有它的实现。系统需要提供上下文环境和窗口的管理。

    下一篇会讲OpenSL 和 OpenGL的具体使用

    相关文章

      网友评论

          本文标题:安卓音视频开发(1)

          本文链接:https://www.haomeiwen.com/subject/xznowctx.html