我目前正在项目的研究和原型阶段开发本机iOS应用程序(SWIFT 3),其中包括多通道音频播放器(多个立体声MP3文件)。我在网上发现了非常有限的信息,尤其是用Swift 3编写的信息,所以想一想,当我继续研究时,我会在这里提出一个问题。
关于框架,从我到目前为止的看来,Avfoundation将可以完成这项工作。它的水平不是太低,并且具有良好的功能。它支持使用Avaudioplayer播放多个音频文件。我计划很快就开始对某些东西进行原型。
,但我是Swift和iOS开发的新手,它的图书馆数量众多,所以我想知道我是否缺少任何东西,如果我在这里的正确轨道上。有关此通用信息和想法的任何答案都将被上投票。对于接受的答案,使用适当的框架,Avoundation或合理的替代方案的一些示例大纲代码。
如果没有回答,我将在到达那里时发布自己的代码。
特别是,我需要从项目资源中的MP3文件中进行两个到十个输入渠道,每个都可以单独调整自己的增益,然后所有这些混合,维护其立体声频道,到单个输出(设备)带有主收益。有些曲目需要循环,有些则不是。轨道需要准确同步。这只是用于信息,概述代码可以涵盖重要点。
研究笔记和资源
苹果:avfoundation
与Avfoundation有关的资源集合。
Apple:Avoundation编程指南
起初,该文档似乎令人鼓舞,但实际上仅处理视频。它说:
Avoundation框架有两个方面 - 与音频相关的视频和API相关。较旧的音频相关课程提供了轻松处理音频的简便方法。它们在《多媒体编程指南》中进行了描述,而不是在本文档中进行描述。
"多媒体编程指南"与此相关的其他地方也从未链接到Apple的其他地方,Google结果指出在Apple网站上找不到页面。它似乎已经消失了。
rudi strahl:将多个音轨与avfoundation混合
使用AvComposition比较使用多个Avplayers。示例代码是Objective-C。不确定如何在第二个解决方案中混合Avplayer。也许与avaudiomix。目前正在看这个。本文讨论了一点,但没有提供任何细节。
音频会话编程指南
本文档着眼于提供支持功能的AvauioSession:
avauiosession可让您控制应用程序的音频行为。您可以:
- 选择应用程序的适当输入和输出路由
- 确定您的应用程序如何集成其他应用程序的音频
- 处理其他应用程序中断
- 自动为您创建的应用程序类型配置音频
Techotopia:使用Avaudioplayer在iOS 10上播放音频
有关使用Avaudioplayer的一些有用的信息。
堆栈溢出:使用Avaudioplayer播放声音
播放声音的基本快速代码。一些答案包括一些额外的功能。
黑客swift:如何使用avaudioplayer播放声音
再次覆盖基础知识。
甜蜜的tutos:如何播放声音文件并管理持续时间进度 - avaudioplayer教程
已更新到Swift 3.一些有用的信息。
Xamarin:使用Avaudioplayer播放声音
我想用swift 2写。
Apple视频:WWDC 2013移至AV Kit和AV Foundation
虽然没有直接相关,但我发现该视频的前30分钟将开发人员介绍给OS X 10中的Av Kit和Av Foundation提供了有用的技术概述。
我正在处理相同的问题,我能做的就是使用Avplayer播放媒体内容,这是草稿,也许可以帮助您。