美文网首页
AudioToolbox音频入门(一)

AudioToolbox音频入门(一)

作者: flyWhite | 来源:发表于2020-04-22 19:30 被阅读0次

AudioToolbox, 记录或播放音频,转换格式,解析音频流以及配置音频会话。音频工具箱框架提供了用于记录,回放和流解析的接口。在iOS中,该框架提供了用于管理音频会话的其他接口。

整合音效和乐器(Incorporating Audio Effects and Instruments)

通过托管音频单元(AU)插件,将自定义音频处理和MIDI乐器添加到您的应用程序。注释:AU(Audio Unit) MIDI (Musical Instrument Digital Interface)乐器数字接口

image
HostViewController 及其关联的Storyboard提供了用户界面。

AudioUnitManager 使用效果器和乐器插件管理交互。

SimplePlayEngine 用AVAudioEngine播放音频样本和MIDI数据

一、 查找音频单元(Audio Units)

AudioComponentDescription结构体。音频组建描述,标识音频组件的信息。
例:

  AudioComponentDescription description = {0};
  //用于标识组件的接口。输出播放,乐器等等
  description.componentType = kAudioUnitType_Output;
  //可用于指示组件的用途。例如,您可以使用lpas或lowp作为助记符指示音频单元是低通滤波器。
  description.componentSubType = kAudioUnitSubType_RemoteIO;
   //向Apple注册的音频组件的唯一供应商标识符。
  description.componentManufacturer = kAudioUnitManufacturer_Apple; 

AVAudioUnitComponent类 。提供有关音频单元的详细信息,例如:类型,子类型,制造商和位置。

//该音频单元组分
//获取音频单元组件的音频单元
@property(nonatomic, readonly) AudioComponent audioComponent;

AVAudioUnitComponentManager类 。一个对象,提供一种搜索和查询在系统中注册的音频组件的方法。

  // 存放AVAudioUnitComponent的NSArry
  // - (NSArray<AVAudioUnitComponent *> *)componentsMatchingDescription:(AudioComponentDescription)desc;
 NSArray*arr = [[AVAudioUnitComponentManager sharedAudioUnitComponentManager]componentsMatchingDescription:description];
//与搜索匹配的音频组件对象数组。
//predicate搜索谓词。音频组件的信息或标签可用于构建搜索条件,例如"typeName CONTAINS 'Effect'" or "tags IN {'Sampler', 'MIDI'}".
- (NSArray<AVAudioUnitComponent *> *)componentsMatchingPredicate:(NSPredicate *)predicate;

//等等。还有一些别的参数方法获取根据需要去拿。

kAudioUnitType_Effect 全局变量。音频效果

kAudioUnitType_Effect = 'aufx'

kAudioUnitType_MusicDevice 全局变量\枚举。乐器单元可以用作软件乐器,例如采样器或合成器。它响应MIDI(乐器数字接口)控制信号并可以创建音符。

kAudioUnitType_MusicDevice = 'aumu'
二、初始化 AVAudioUnit

AVAudioUnit 类。音频节点类的子类,根据音频单元的类型,可以实时或非实时处理音频。
异步实例化

//异步创建包装在AVAudioUnit中的音频单元组件(audio unit)的实例
[AVAudioUnit instantiateWithComponentDescription:description options:kAudioComponentInstantiation_LoadOutOfProcess completionHandler:^(__kindof AVAudioUnit * _Nullable audioUnit, NSError * _Nullable error) {
    }];

相关文章

  • AudioToolbox音频入门(一)

    AudioToolbox, 记录或播放音频,转换格式,解析音频流以及配置音频会话。音频工具箱框架提供了用于记录,回...

  • AudioServices

    AudioServices归属AudioToolbox框架,AudioToolbox是更底层的音频框架。 每个音频...

  • AudioToolbo详解

    AudioToolbox系列文章 AudioToolbox能做的事情 record audio 录制音频 play...

  • 音频 (三) : AudioToolbox

    AudioToolbox概述通过AudioToolbox框架,可以将短声音注册到system sound服务上,被...

  • 音频 (三) : AudioToolbox

    AudioToolbox概述 通过AudioToolbox框架,可以将短声音注册到system sound服务上,...

  • 关于iOS多媒体的学习

    音频 主要的音频播放类是AudioToolbox.framework和AVFoundation.framework...

  • iOS音频(1)——AudioToolbox

    一、前言二、音频文件Audio File Services三、音频文件转换Extended Audio File ...

  • AudioToolbox音频硬编码

    音频编码相关知识概念 AAC是新一代音频有损压缩技术,它通过一些附加的编码技术(PS、SBR)衍生出LC-AAC、...

  • 音频初见

    音频初见 基本介绍 音频: 从形式上分为短音频(音效播放):不需要进度|循环等控制 AudioToolbox.f...

  • 用AVPlayer写音乐播放器

    iOS提供了几种播放音频的方式:AudioToolbox 、AVAudioPlayer、AVPlayer。 Aud...

网友评论

      本文标题:AudioToolbox音频入门(一)

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