美文网首页
AudioUnit - iOS端的音频处理框架

AudioUnit - iOS端的音频处理框架

作者: 哈库呐玛塔塔__ | 来源:发表于2020-05-15 00:34 被阅读0次

简单介绍

在iOS平台,所有音频框架的底层都是基于AudioUnit实现的。比如熟悉的AVFoundation,AudioToolBox等等,这些框架都封装了AudioUnit,然后提供了更高层的API。
主要的功能:
1.使用低延迟的音频I/O
2.多录声音的合成并且回访
3.回声消除,Mix两轨音频,以及均衡器,压缩器,混响器等效果器。
4.需要图状结构来处理音频,可以将音频处理模块组装到灵活的图状结构中。这是iOS中唯一提供此功能的音频API

简单使用

步骤:

创建音频会话AudioSession image.png 构建一个AudioUnit,设置AudioUnit参数,首先构建一个AudioUnit描述的结构体 image.png

Audio的分类

按照用途分为五大类型

1.Effect Unit kAudioUnitType_Effect 主要提供声音特效处理的功能

常用子类型如下:
  • 均衡效果器 kAudioUnitSubType_NBandEQ
  • 压缩效果器 kAudioUnitSubType_DynamicsProcessor
  • 混响效果器 kAudioUnitSubType_Reverb2

2.Mixer Unit kAudioUnitType_Mixer 主要提供Mix多路声音的功能

常用子类型如下:
3DMixer 和 多路声音混音的效果器kAudioUnitSubType_MultiChannelMixer

3.I/O Unit kAudioUnitType_Output 提供I/O功能

RemoteIO 采集音频与播放音频
Generic OutPut  只使用输出,不需要麦克风,比如播放文件

4.FormatConverter 提供格式的转换

5.Generator 提供播放器的功能

用这个描述来构造真正的AudioUnit有两种方式。
第一种:直接使用AudioUnit裸的创建方式;
根据AudioUnit的描述,找出实际的AudioUnit类型。

第二种:使用AUGraph和AUNode来构建;
构建一个AUGraph完成一个音频播放的功能


image.png

相关文章

  • AudioUnit播放PCM文件(三)

    前言: AudioUnit是什么?在IOS平台下,AudioUnit是一个底层音频处理框架,主要功能如下:1、音频...

  • AudioUnit - iOS端的音频处理框架

    简单介绍 在iOS平台,所有音频框架的底层都是基于AudioUnit实现的。比如熟悉的AVFoundation,A...

  • iOS AudioUnit学习

    AudioUnit是iOS底层音频框架,相比于AudioQueue和AVAudioRecorder,能够对音频数据...

  • AudioUnit 实现录音和播放

    AudioUnit是iOS底层音频框架,相比于AudioQueue和AVAudioRecorder,能够对音频数据...

  • AudioUnit

    在iOS平台上,所有的音频框架底层都是基于AudioUnit实现的。较高层次的音频框架包括:MediaPlayer...

  • 音频编解码基础篇之AudioUnit-1-裸创建播放

    一.AudioUnit 1.简要 在iOS平台上,所有的音频框架底层都是基于AudioUnit实现的。较高层次的音...

  • iOS 音频框架AudioUnit

    AudioComponentDescription结构体 描述AudioUnit 类型 AudioComponen...

  • iOS AudioUnit实时录音与播放

    AudioUnit是iOS底层音频框架,可以用来进行混音、均衡、格式转换、实时IO录制、回放、离线渲染、语音对讲(...

  • iOS AudioQueue实时录音

    在iOS中,AVCaptureSession、AudioUnit、AudioQueue均可以实现实时录制音频。其中...

  • 音频采集

    音频采集 音频采集的方式 AudioUnit音频单元 AudioUnit总结 最底层 AVFoundation...

网友评论

      本文标题:AudioUnit - iOS端的音频处理框架

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