iOS 音视频开发(一)

Audio:

  1. iOS 框架

    MediaPlayer 、 AudioToolbox 、 AudioUnit 、 AVFoundation 、 AVKit 、 OpenAL。其中MediaPlayer 、 AVFoundation 是基于 Objective-C/Swift 的; AudioToolBox 、 AudioUnit 和 OpenAL 是基于 C 的。

  2. 第三方库

    FFmpeg 、 FAAC 、 FAAD2。

使用 MediaPlayer 框架的 MPMusicPlayerController 播放音频文件。 使用 AudioToolbox 框架的 System Sound Services 播放音频文件、 Audio Queue Services 录制和播放音频数据、 Audio Converter Services 进行音频转码(格式、 bit-depth 和采样率)、 Audio File Services 和 AudioFileStream 读写音频文件。 使用 AudioUnit 框架进行回音消除、音频数据录制和播放等。 使用 AVFoundation 框架的 AVAudioSession 操作音频会话、 AVAudioFile(iOS8) 读写音频文件、 AVAudioRecorder 录制音频文件、 AVAudioPlayer 和 AVPlayer 播放音频文件、 AVCaptureSession 录制音频和视频数据。 在 iOS 8 之前使用 AVFoundation 框架的 AVAssetWritter 将 PCM 音频写入 AAC LC 编码格式的音频文件,而且使用的是硬编码。 在 iOS 8 及以后可以使用 AVFoundation 框架的 AVAudioEngine 进行均衡器、混响和混音等操作,其基于底层的 AudioUnit ,但比后者更易用。 在 iOS 8 及以后可以使用 AVKit 框架的 AVPlayerController 播放音频文件或流。 使用 FAAC 将 PCM 软编码为 AAC LC。 使用 FFmpeg 或 FAAD2 将 AAC LC 软解码为 PCM 、 PCM 重采样(Resample)。

Video:

  1. iOS 框架

    UIKit 、 MediaPlayer 、 AVFoundation 、 AVKit 、 VideoToolBox 、 GLKit(OpenGL ES) 。其中 UIKit 、 MediaPlayer 、 AVFoundation 和 AVKit 基于 Objective-C ; VideoToolBox 和 GLKit 基于 C 的。当然, GLKit 远远不只是可以渲染视频。

  2. 第三方库 FFmpeg 、 x264。

使用 UIKit 框架的 UIImagePickerController 录制包含音频的视频文件、 UIVideoEditorController 可对视频进行简单编辑。 使用 MediaPlayer 框架的 MPMoviePlayerViewController(MPMoviePlayerController/MPMoviePlayer) 播放视频文件或流。 使用 AVFoundation 框架的 AVPlayer 播放视频文件或流、 AVCaptureSession 录制视频帧。 在 iOS 8 之前使用 AVFoundation 框架的 AVAssetWritter 将 YUV 数据写入 H.264 编码格式的视频文件,而且使用的是硬编码。 在 iOS 8 及以后使用 VideoToolBox 框架将 YUV 视频数据硬编码为 H.264 ,以及将 H.264 硬解码为 YUV 视频数据。 在 iOS 8 及以后可以使用 AVKit 框架的 AVPlayerController 播放视频文件或流。 使用 GLKit 将 sRGB 或 YUV 视频数据渲染输出到屏幕。 使用 FFmpeg 将 H.264 软解码为 YUV 。 使用 x264 将 YUV 视频软编码为 H.264 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值