AVFoundation笔记

第一章 概述

#1.1 AV Foundation 框架

处理基于时间的媒体数据的高级 Objective-C 框架

#1.2 MacOS X 及 iOS 媒体底层框架

  1. Core Audio
  2. Core Video
  3. Core Media
  4. Core Animation

#1.3 AV Foundation 核心功能

  1. 音频播放和记录
  2. 媒体文件检查
  3. 视频播放
  4. 媒体捕捉
  5. 媒体编辑
  6. 媒体处理

#1.4 数字媒体

  1. 数字媒体采样
    • 时间采样
    • 空间采样
  2. 音频采样
    • 频率:一定周期内振动完成循环的次数
      人类可以接收的音频范围为 20Hz 到 20kHz
    • 振幅:信号的强度
    • Linear pulse-code modulation 线性脉冲编码调制
    • Nyquist rate 尼奎斯特频率 采样对象最高频率的两倍
    • 位元深度:用于保存样本值的字节数定义了在线性维度上可行的离散度
      描述一个音频资源时,比如一个 44.1kHz 16位LPCM 的音频文件,这里采用的就是采样率加位元深度的描述方式

#1.5 数字媒体压缩

  1. 色彩二次抽样
    • YUV
      Y(亮度通道) UV(色彩通道)
    • 人眼对亮度的敏感度要高于颜色,减少存储在每个像素中的颜色信息不至于使图片的质量严重受损
  2. 编解码器压缩
    • 无损压缩(zip、gzip)
    • 有损压缩(压缩过程中会损失部分数据)
  3. 视频编解码器
    • H.264
      • 压缩维度
        • 空间维度:压缩独立视频帧,被称为帧内压缩
        • 时间维度:通过以组为单位的视频帧压缩冗余数据,被称为帧间压缩
      • GOP 帧类型
        • I-frames:关键帧
        • P-frames:预测帧
        • B-frames:双向预测帧
      • 标准
        • Baseline:提供最低效的压缩,不支持双向帧
        • Main:可以达到比较高的压缩率
        • High“计算复杂度高,最高质量的压缩效果
    • Apple ProRes
      • 独立于帧,只有关键帧可以被使用,支持可变比特率编码
      • 最高的编解码质量
      • 仅支持 MacOS X
  4. 音频编解码器
    • AAC

#1.6 容器格式

* QuickTime
* MPEG-4


第二章 播放和录制音频

#2.1 Mac 和 iOS 的音频环境

  1. 音频环境管理,硬件的管理及场景的管理(Audio Session)

#2.2 理解音频会话

  1. 音频会话分类(AVAudioSession Category)

    • Ambient:游戏,允许混音,非音频输入,音频输出
    • Solo Ambient:游戏,不允许混音,非音频输入,音频输出
    • Playback:音视频播放器,可选混音,非音频输入,音频输出
    • Record:录音机、音频捕捉,不允许混音,音频输入,非音频输出
    • Play and Record:VoIP、语音聊天,可选混音,音频输入,音频输出
    • Audio Processing:离线会话和处理,不允许混音,非音频输入,非音频输出
    • Multi-Route:使用外部硬件的高级A/V应用程序,不允许混音,音频输入,音频输出
  2. 音频会话选项(AVAudioSession options)

  3. 音频会话模式(AVAudioSession modes)

  4. 配置音频会话

    // 设置分类
    [[AVAudioSession sharedInstance] setCategory...
    // 激活
    [[AVAudioSession sharedInstance] setActive...
    

#2.3 使用 AVAudioPlayer 播放音频

  1. 播放本地或者内存中的音频
    对于 AVAudioPlayer 实例要强引用
  2. 主要功能
    • 播控
    • 修改音量
    • 修改声场
    • 调整速率
    • 设置循环播放
    • 音频计量
  3. 适合音频播放的 Audio Session 配置
  4. 处理中断事件
  5. 对线路改变的响应
    • 音频输出设备
      • AVAudioSessionPortLineOut 总线坞
      • AVAudioSessionPortHeadphones 有线耳机
      • AVAudioSessionPortBluetoothA2DP Advanced Audio Distribution Profile 蓝牙
      • AVAudioSessionPortBuiltInReceiver 贴耳内置听筒
      • AVAudioSessionPortBuiltInSpe
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值