首页 > 其他分享 >iOS的AudioUnit音效框架技术详解

iOS的AudioUnit音效框架技术详解

时间:2024-08-11 11:55:00浏览次数:11  
标签:HAL 框架 iOS Effect 音效 均衡器 AudioUnit

iOS的AVAudioUnit提供的音效包括:混响、延迟、均衡器、失真、变速、变调等。按照类型划分为Audio Effect和Time Effect,其中Audio Effect包括混响、延迟、均衡器和失真,而Time Effect主要是变速、变调。

一、音效应用层框架
音效的应用层框架以AVAudioUnit作为核心抽象类,如下图所示:

二、音效HAL层
1、音效与HAL层关系图
音效的HAL硬件抽象层属于CoreAudio框架,而AUHAL即AudioUnit的HAL层,用于连接I/O Kit与Mixer Unit的桥梁。如下图所示:

2、音效HAL层核心类
音效硬件抽象层的相关头文件如下:

 AUComponent.h: 定义AudioUnit类型.
AudioComponent.h: 定义音频组件的接口.
AudioOutputUnit.h: 定义输出单元开关的接口.
AudioUnit.h: 涵盖AudioUnit框架类.
AudioUnitParameters.h: 预定义AudioUnit的参数常量.
AudioUnitProperties.h: 预定义AudioUnit的属性类型.
三、Audio Effect
1、均衡器
AVAudioUnitEQ均衡器提供EQ滤波器参数,用于设置频率、增益、滤波器类型࿰

标签:HAL,框架,iOS,Effect,音效,均衡器,AudioUnit
From: https://blog.csdn.net/m0_70960708/article/details/141065066

相关文章

  • iOS Object-C 创建类别(Category) 与使用
    有时候使用系统给出类或者第三方的类,但是呢它们自带的属性和方法又太少,不够我们的业务使用,这时候就需要给“系统的类或者第三方类”创建一个类别(Category),把自己的想添加的属性和方法写进来.Category模式用于向已经存在的类添加方法从而达到扩展已有类的目的一:创建Cate......
  • 把catoiOS介绍翻译10遍
    原文:catoiOS这是什么?catoiOS(catsOlympiadinInformaticsOpenSystem),是一个丰富多样的开放系统,其代码符合跨平台要求。它包含游戏、工具,还有个性化设置。包括各种活动在内,catoiOS致力于满足用户的所有需求.如何查看、下载catoiOScatoiOS官网下载catoiOS我可以一起开发......
  • IOS-增强现实的--NET-开发者指南-全-
    IOS增强现实的.NET开发者指南(全)原文:.NETDeveloper'sGuidetoAugmentedRealityiniOS协议:CCBY-NC-SA4.0一、设置您的环境首先,我们需要确保你已经安装了一些你需要的东西;之后,我们可以开始编写基本的增强现实应用并将其部署到您的iOS设备上。这是你需要的东西的清......
  • IOS-AR-游戏开发入门手册-全-
    IOSAR游戏开发入门手册(全)原文:BeginningiOSARGameDevelopment协议:CCBY-NC-SA4.0一、介绍在本书中,我们将学习如何使用Unity(Unity3D2018,或者更常见的是Unity)的游戏开发软件来创建一个增强现实(或AR)游戏。在这一章中,我们将介绍Unity的下载和安装过程,并了解Un......
  • 升级到iOS 18、降级回iOS 17
    热烈欢迎,请直接点击!!!进入博主AppStore主页,下载使用各个作品!!!注:博主将坚持每月上线一个新app!! 苹果官方下载链接:【操作系统OperatingSystems】:https://developer.apple.com/download/【应用Applications】:https://developer.apple.com/download/applications/【描述文件Pr......
  • nagios 飞信(fetion) 短信报警
    nagios飞信(fetion)短信报警张映发表于2012-04-25分类目录:服务器相关前面提到nagios用邮件来发邮件报警,如果能将报警信息发到手机上来不是更好。其实手机上也可以使用邮箱的。邮箱和手机绑定一下就行了。下面说一下,centos6.064位的系统下,用飞信来发报警信息。一,安装所要......
  • Element学习(axios异步加载数据、案例操作)(5)
    1、这次学习的是上次还未完成好的恶element案例,对列表数据的异步加载,并渲染展示。——>axios来发送异步请求(1)(2)在vue当中安装axios(注意在当前的项目目录,并且安装完之后再将项目重启一下)(3)这里我用到数据的url地址为:https://mock.apifox.cn/m1/3128855-0-default/emp/list......
  • 用了两个月苹果iOS 18后 这是我最满意的几个地方
    自从六月的苹果全球开发者大会(WWDC)上发布了首个开发者版本以来,我便在我的iPhone15ProMax上开始试用iOS18。笔者发现,iOS18包含了许多引人注目的新特性。对于外界来说,iOS18目前可能看起来还不算完全成熟的产品,因为一些最令人期待的新功能尚未正式亮相。深色图标多年来......
  • Nuxt3 axios封装 使用axios接口请求
    一、先安装axiosnpminstalladdaxios封装请求request.ts文件importaxiosfrom'axios'import{ElMessage,Message}from"element-plus"import{getToken}from'./token.js'constservice=axios.create({baseURL:'/api',//......
  • 二、Tauri 使用(http请求 axios)
    1.启用该功能        在tauri.conf.json文件中启用该功能,配置要请求的API路径,多个API的情况使用逗号隔开就可以了{ "tauri":{  "allowlist":{   "http":{    "all":true,    "request":true,    "scope":["http:......