具有AVFoundation和Swift的iOS多声道音频

Nig*_*eck 6 iphone audio avfoundation ios swift3

我目前正在开发一个项目的研究和原型设计阶段,以开发包含多声道音频播放器(多个立体声MP3文件)的原生iOS应用程序(Swift 3).我发现在线信息非常有限,特别是用Swift 3编写的,所以我想继续我的研究,我会在这里提出一个问题.

关于框架,从我到目前为止看来AVFoundation将要做的工作似乎很清楚.它不是太低级别并且具有一组良好的功能.它支持使用AVAudioPlayer播放多个音频文件.我打算很快开始用这个原型进行原型设计.

但是我是Swift和iOS开发的新手,拥有大量的库,所以我想知道我是否遗漏了任何东西,如果我在这里正确的话.任何有关此问题的一般信息和想法的答案都将被投票通过.对于一个接受的答案,使用适当的框架,AVFoundation或合理的替代方案的一些示例大纲代码.

如果没有答案,我会在到达那里时发布自己的代码.

具体来说,我需要2到10个输入通道,来自项目资源中的MP3文件,每个都有自己的增益,可以单独调整,然后所有这些混合,维护他们的立体声通道,到单个输出(设备)与掌握收益.有些轨道需要循环,有些则不需要.轨道需要准确同步.这只是信息和大纲代码将很好地涵盖重要的点.

研究笔记和资源

Apple:AVFoundation

与AVFoundation相关的资源集合.

Apple:AVFoundation编程指南

这个文件起初看起来很令人鼓舞,但实际上只涉及视频.它说:

AVFoundation框架有两个方面 - 与视频相关的API和仅与音频相关的API.较旧的音频相关类提供了处理音频的简便方法.它们在"多媒体编程指南"中描述,而不是在本文档中描述.

苹果公司其他地方也提到的"多媒体编程指南"从未被链接过,Google的结果指向Apple网站上未找到的网页.它似乎已经消失了.

Rudi Strahl:使用AVFoundation混合多个音轨

使用AVComposition比较使用多个AVPlayer.示例代码是Objective-C.不确定AVPlayers在第二种解决方案中是如何混合的.也许与AVAudioMix.目前正在看这个.文章谈了一点,但没有提供任何具体细节.

音频会话编程指南

本文档介绍AVAudioSession,它提供了支持功能:

AVAudioSession可让您控制应用程序的音频行为.您可以:

  • 为您的应用选择合适的输入和输出路线
  • 确定您的应用如何集成其他应用的音频
  • 处理其他应用程序的中断
  • 自动为您正在创建的应用类型配置音频

Techotopia:使用AVAudioPlayer在iOS 10上播放音频

有关使用AVAudioPlayer的一些有用信息.

Stack Overflow:使用AVAudioPlayer播放声音

用于播放声音的基本Swift代码.一些答案包括一些额外的功能.

使用Swift进行黑客攻击:如何使用AVAudioPlayer播放声音

再次,涵盖了基础知识.

Sweet Tutos:如何播放声音文件和管理持续时间进度 - AVAudioPlayer教程

更新为Swift 3.一些有用的信息.

Xamarin:用AVAudioPlayer播放声音

我想,写在Swift 2中.

Apple视频:WWDC 2013转向AV套件和AV基金会

虽然没有直接关系,但我发现此视频的前30分钟将开发人员介绍给OS X 10中的AV Kit和AV Foundation提供了有用的技术概述.

小智 0

我正在研究同样的问题,我能做的最好的事情是,对要使用 avplayer 播放的媒体内容进行转码,这是一个草稿,也许它可以提供帮助。