美文网首页
iOS 音频基础知识(一)

iOS 音频基础知识(一)

作者: 明若晴空 | 来源:发表于2020-05-30 14:30 被阅读0次

iOS系统通过使用音频会话(audio session ),在APP、APP之间和设备级别,来管理音频行为。


1590817842077.png

我们使用音频会话(audio session )来和系统进行通信,以说明我们打算如何在APP中使用音频。这个音频会话,就像是APP和操作系统(或者说底层音频硬件)之间的一个中介。我们可以使用它来告诉操作系统,APP的音频的性质,而不需要详细说明各种与音频硬件的必需交互和操作。而这些细节的管理委托给音频会话,可以确保对用户的音频体验进行最佳管理。

概览

可以通过下面这个方法,使用AVAudioSession实例与APP的音频会话进行交互:

  • 配置音频会话类别和模式,告诉系统,我们打算如何在APP中使用音频;
  • 激活APP的音频会话,以使类别和模式的配置生效
  • 订阅并响应重要的音频会话通知,如音频中断、线路更改等;
  • 执行高级音频设备配置,如设置采样率、I/O缓冲区持续时间和通道数;

音频会话如何管理音频行为

音频会话是APP和操作系统之间的中介。启动时,APP将自动提供单声道音频会话。我们可以通过配置来提供所需要的行为,并激活它以使行为生效。

类别代表音频的角色

音频行为是通过音频会话类别来进行区分的。通过设置类别,可以来告诉APP是否使用输入或输出路由,是否希望音乐与音频一起继续播放,等等。

AVFoundation定义了许多音频会话类别,以及一组覆盖和修改的方法,这样我们就可以根据APP来定制自定义的音频行为。这些类别支持播放、录制、带录制的播放。系统会根据APP所需的音频功能,来提供相应的对硬件资源的访问。系统还会确保设备上的其他音频以适合APP的方式运行,来达到我们期望的效果。

通过指定一个模式,我们还可以自定义某些类别。例如,当APP使用视频录制模式时,系统可能会选择与使用默认模式时不同的内置麦克风。该系统还可能针对视频录制对麦克风信号进行处理来调谐。

通知支持中断处理

音频中断是指使APP的音频会话失活(激活的反义词),从而立即停止音频。当APP的一个竞争音频会话被激活,并且这个竞争音频会话没有按系统分类以与我们自己的会话混合时,就会发生中断。这时,我们的应用应该通过保存状态、更新用户界面等来响应中断。我们可以通过注册AVAudioSessionInterruptionNotification类型的通知,来在音频中断开始和结束时收到通知进行相应的处理。

通知支持音频路由更改处理

当用户通过连接或断开设备、插入或拔出耳机来启动音频路由更改时,一般来说,用户对这些操作是有特殊的期望的。在iOS人机界面指南描述了这些期望,并提供了如何满足这些期望的指南。我们通过注册AVAudioSessionRouteChangeNotification类型的通知,来处理路由更改的事件的相应处理。

音频会话控制设备配置

APP无法直接控制设备硬件,但音频会话为我们提供了请求首选硬件设备设置的接口。这个接口允许我们执行一些高级的音频设备配置,例如设置采样率、I/O缓冲区持续时间和音频通道数。

音频会话保护用户隐私

单独录制音频,或者与视频一起录制音频的APP,在允许录制之前需要明确的用户权限。在用户授予APP录制权限之前,应用程序只能录制静默。AVAudioSession提供了请求此权限和确定用户隐私设置的界面。

相关文章

  • IOS 音频开发

    音频基础知识 音频文件计算大小 音频转码 标签(空格分隔): 调查 IOS音频https://developer....

  • iOS 音频学习基本术语和概念

    一、音频的基础知识 在学习iOS音频开发之前, 要对音频的基础知识和一些术语概念有一定的了解, 当然我再写这篇文章...

  • 多媒体音频播放简单介绍

    概述 基础知识-音频编解码,音频格式,音频会话(session) ios软硬件音频编解码器 音频会话(Audio ...

  • 音频基础知识02

     音频基础知识 01  音频基础知识 02  音频基础知识 03  音频基础知识 04 人类收集声音的历史   为...

  • iOS 音频基础知识(一)

    iOS系统通过使用音频会话(audio session ),在APP、APP之间和设备级别,来管理音频行为。 我们...

  • iOS之音频开发系列之音频基础

    在正式学习音频开发之前,我们要认识下关于音频的一些基础。这些知识会有助于我们后面学习iOS的音频框架。 基础知识 ...

  • iOS一音频直播

    今天看了一些音频直播类的App,所以就想着如何去解决这个问题。 我们先搞清楚音频基础知识 iOS中支持音频的一些类...

  • 音视频学习路径

    第1章音视频基础知识 11.1视频编码 11.2音频编码 21.3多媒体播放组件(Android、iOS) 21....

  • Android音频知识收集

    Android音频基础知识Android音频剪辑合成

  • iOS音频基础知识(三)

    激活音频会话 我们可以通过设置音频会话的类别、选项和模式来配置音频会话。要使配置生效,现在需要激活音频会话。 系统...

网友评论

      本文标题:iOS 音频基础知识(一)

      本文链接:https://www.haomeiwen.com/subject/rmoczhtx.html