AVFoundation框架解析(十八)—— AVAudioEngine之基本概览(一)

版本记录

版本号 时间
V1.0 2018.08.18

前言

AVFoundation框架是ios中很重要的框架,所有与视频音频相关的软硬件控制都在这个框架里面,接下来这几篇就主要对这个框架进行介绍和讲解。感兴趣的可以看我上几篇。
1. AVFoundation框架解析(一)—— 基本概览
2. AVFoundation框架解析(二)—— 实现视频预览录制保存到相册
3. AVFoundation框架解析(三)—— 几个关键问题之关于框架的深度概括
4. AVFoundation框架解析(四)—— 几个关键问题之AVFoundation探索(一)
5. AVFoundation框架解析(五)—— 几个关键问题之AVFoundation探索(二)
6. AVFoundation框架解析(六)—— 视频音频的合成(一)
7. AVFoundation框架解析(七)—— 视频组合和音频混合调试
8. AVFoundation框架解析(八)—— 优化用户的播放体验
9. AVFoundation框架解析(九)—— AVFoundation的变化(一)
10. AVFoundation框架解析(十)—— AVFoundation的变化(二)
11. AVFoundation框架解析(十一)—— AVFoundation的变化(三)
12. AVFoundation框架解析(十二)—— AVFoundation的变化(四)
13. AVFoundation框架解析(十三)—— 构建基本播放应用程序
14. AVFoundation框架解析(十四)—— VAssetWriter和AVAssetReader的Timecode支持(一)
15. AVFoundation框架解析(十五)—— VAssetWriter和AVAssetReader的Timecode支持(二)
16. AVFoundation框架解析(十六)—— 一个简单示例之播放、录制以及混合视频(一)
17. AVFoundation框架解析(十七)—— 一个简单示例之播放、录制以及混合视频之源码及效果展示(二)

Overview

首先看一下该类的基本信息和情况。

AVFoundation框架解析(十八)—— AVAudioEngine之基本概览(一)_第1张图片

可以很清楚看到,它是AVFoundation框架的一部分。

它是一组连接的音频节点对象,用于生成和处理音频信号并执行音频输入和输出。

您可以单独创建每个音频节点并将其附加到音频引擎。 您可以在运行时连接它们,断开它们并删除它们时对音频节点执行所有操作 - 只有很小的限制:

  • 仅当音频节点位于mixerupstream时才重新连接。
  • 如果删除具有不同输入和输出通道数的音频节点,或者是混音器,则结果可能是损坏的graph

Topics

1. Creating an Audio Engine Instance

  • - init
    • 初始化一个新的音频引擎。

2. Attaching and Detaching Audio Nodes

  • attachNode:

    • 将新音频节点附加到音频引擎。
  • detachNode:

    • 分离先前连接到音频引擎的音频节点。

3. Getting the Input, Output, and Main Mixer Nodes

  • inputNode

    • 音频引擎的单例输入音频节点。
  • outputNode

    • 音频引擎的单例输出音频节点。
  • mainMixerNode

    • 音频引擎的可选单例主混音节点

4. Connecting and Disconnecting Audio Nodes

  • connect:to:format:

    • 建立两个音频节点之间的连接。
  • connect:to:fromBus:toBus:format:

    • 在两个音频节点之间建立连接,指定输入和输出总线。
  • disconnectNodeInput:

    • 删除音频节点的所有输入连接。
  • disconnectNodeInput:bus:

    • 删除指定总线上音频节点的输入连接。
  • disconnectNodeOutput:

    • 删除音频节点的所有输出连接。
  • disconnectNodeOutput:bus:

    • 删除指定总线上音频节点的输出连接。

5. Playing Audio

  • musicSequence

    • 之前附加到音频引擎的音乐序列。
  • prepare

    • 准备音频引擎以启动。
  • startAndReturnError:

    • 启动音频引擎。
  • running

    • 一个布尔值,指示音频引擎是否正在运行。
  • pause

    • 暂停音频引擎。
  • stop

    • 停止音频引擎并释放任何以前准备的资源。
  • reset

    • 重置音频引擎中的所有音频节点。

6. Manually Rendering an Audio Engine

  • enableManualRenderingMode:format:maximumFrameCount:error:`

    • 设置引擎以手动渲染模式运行,具有指定的渲染格式和最大帧数。
  • disableManualRenderingMode

    • 将引擎设置为与音频设备进行渲染。
  • renderOffline:toBuffer:error:

    • 对以offline手动渲染模式运行的引擎进行渲染调用。

7. Getting Manual Rendering Properties

  • AVAudioEngineManualRenderingBlock

    • 在手动渲染模式下操作时渲染引擎的块。
  • manualRenderingBlock

    • 在手动渲染模式下操作时渲染引擎的块。
  • manualRenderingFormat

    • 手动渲染模式下引擎的渲染格式。
  • manualRenderingMaximumFrameCount

    • 引擎在手动渲染模式下的任何单个渲染调用中可以生成的最大PCM采样帧数。
  • manualRenderingMode

    • 在引擎上配置手动渲染模式。
  • manualRenderingSampleTime

    • 在手动渲染模式下指示引擎在其渲染时间轴上的位置。
  • autoShutdownEnabled

    • 一个布尔值,指示何时启用自动关闭。
  • isInManualRenderingMode

    • 一个布尔值,指示引擎是否在手动渲染模式下运行。

8. Using Connection Points

  • AVAudioConnectionPoint

    • 声音引擎中源或目标连接点的表示。
  • - connect:toConnectionPoints:fromBus:format:

    • 在源节点和多个目标节点之间建立连接。

9. Notifications

  • AVAudioEngineConfigurationChangeNotification
    • 音频引擎配置更改时发布的通知。

10. Constants

  • AVAudioEngineManualRenderingError

    • 描述可以从手动渲染模式方法返回的错误代码的常量。
  • AVAudioEngineManualRenderingMode

    • 手动渲染的两个模式
  • AVAudioEngineManualRenderingStatus

    • 从渲染回调到以手动渲染模式运行的引擎的状态代码

后记

本篇主要讲述了AVAudioEngine类的基本信息,感兴趣的给个赞或者关注~~~

AVFoundation框架解析(十八)—— AVAudioEngine之基本概览(一)_第2张图片

你可能感兴趣的:(AVFoundation框架解析(十八)—— AVAudioEngine之基本概览(一))