iOS采集录制音视频API选择推荐

需求

对于整个iOS体系中音视频众多框架,我们不应该盲目选择,针对音视频的采集录制,需要根据自己的实际需求选择最适合项目的API,以致于最高效的完成项目任务.

以下是一些主要中低层框架的选择推荐与原理讲述,代码实战,可以通过以下链接了解你需要的,也可以从文中链接找到对应文章,去github下载相应的Demo帮助你快速开发.


iOS中音频架构图

3.CoreAudioLevel

1.上层API

对于仅仅想直接播放个音频或视频的需求,没有必要使用底层的API,这些API可以简单的直接调用一些类似start,stop,设置一些资源文件路径就可以做录制与播放.

  • 视频播放:AVPlayer
  • 视频录制:UIImagePickerController
  • 音频播放:AVAudioRecorder
  • 音频录制:AVAudioPlayer

以上API如需了解使用自行百度,简单易用.

2.中层API

如果想采集到视频帧,音频帧加以利用,需要使用一些中层的API,对于采集而言,视频最底层即AVCaptureSession,我们可以通过回调函数拿到指定格式的音频视频.录制基本也同理.但对音频而言,如果不对音频有太多具体设置,仅仅做同步,可以直接使用AVCaputureSession中的音频采集.

3.底层,功能最多的API

音频采集方面还可以使用更底层,更好用的Audio Queue, Audio Unit.

  • 音频采集/播放: Audio Queue, Audio Unit
  • 音频录制: Audio File -简书,掘金,博客

Audio Queue与Audio Unit的选择

  • Audio Queue: 以队列的形式高效采集视频数据,可以直接设置采集PCM,AAC等压缩,未压缩类型格式音频数据.
  • Audio Unit: 比起Audio Queue, 提供更加专业音频处理,支持混合,均衡,格式转换和实时输入/输出,用于录制,播放,离线渲染和实时对话,例如VoIP(互联网协议语音).可以从iOS应用程序动态加载和使用它.
穷则github点星,达可兼济本人
显示 Gitment 评论
0%