iOS-Core系列框架介绍(二)

音视频相关框架CoreMedia、CoreAudio、CoreVideo、CoreAudioKit、AVFoundation、AVKit

1.CoreMedia 提供对媒体文件操作的底层接口 2.CoreAudio 提供对音频文件操作的底层接口 3.CoreVideo 提供对视频文件操作的底层接口 以上三个框架,在需要对音频或视频创建及展示进行精确控制的应用程序才会涉及,一般应用程序应该都用不上,而我们常用的是下面几个

4.CoreAudioKit

import CoreAudioKit.AUViewController
import CoreAudioKit.CABTMIDICentralViewController
import CoreAudioKit.CABTMIDILocalPeripheralViewController
import CoreAudioKit.CAInterAppAudioSwitcherView
import CoreAudioKit.CAInterAppAudioTransportView

CoreAudioKit提供了一个简单的音频界面,并且是跨应用的

5.AVFoundation

import AVFoundation.AVAnimation
// 媒体资源和元数据
import AVFoundation.AVAsset
import AVFoundation.AVAssetCache
import AVFoundation.AVAssetDownloadStorageManager
import AVFoundation.AVAssetDownloadTask
import AVFoundation.AVAssetExportSession
import AVFoundation.AVAssetImageGenerator
import AVFoundation.AVAssetReader
import AVFoundation.AVAssetReaderOutput
import AVFoundation.AVAssetResourceLoader
import AVFoundation.AVAssetTrack
import AVFoundation.AVAssetTrackGroup
import AVFoundation.AVAssetTrackSegment
import AVFoundation.AVAssetWriter
import AVFoundation.AVAssetWriterInput
import AVFoundation.AVAsynchronousKeyValueLoading
// 音频
import AVFoundation.AVAudioFormat
import AVFoundation.AVAudioMix
import AVFoundation.AVAudioProcessingSettings
import AVFoundation.AVBase
// 媒体捕捉
import AVFoundation.AVCameraCalibrationData
import AVFoundation.AVCaptureAudioDataOutput
import AVFoundation.AVCaptureAudioPreviewOutput
import AVFoundation.AVCaptureDataOutputSynchronizer
import AVFoundation.AVCaptureDepthDataOutput
import AVFoundation.AVCaptureDevice
import AVFoundation.AVCaptureFileOutput
import AVFoundation.AVCaptureInput
import AVFoundation.AVCaptureMetadataOutput
import AVFoundation.AVCaptureOutput
import AVFoundation.AVCaptureOutputBase
import AVFoundation.AVCapturePhotoOutput
import AVFoundation.AVCaptureSession
import AVFoundation.AVCaptureSessionPreset
import AVFoundation.AVCaptureStillImageOutput
import AVFoundation.AVCaptureSystemPressure
import AVFoundation.AVCaptureVideoDataOutput
import AVFoundation.AVCaptureVideoPreviewLayer
// 视频过渡
import AVFoundation.AVComposition
import AVFoundation.AVCompositionTrack
import AVFoundation.AVCompositionTrackSegment
import AVFoundation.AVContentKeySession
import AVFoundation.AVDepthData
import AVFoundation.AVError
import AVFoundation.AVFAudio
import AVFoundation.AVMediaFormat
import AVFoundation.AVMediaSelection
import AVFoundation.AVMediaSelectionGroup
// 元数据
import AVFoundation.AVMetadataFormat
import AVFoundation.AVMetadataIdentifiers
import AVFoundation.AVMetadataItem
import AVFoundation.AVMetadataObject
// 缓存
import AVFoundation.AVSampleBufferAudioRenderer
import AVFoundation.AVSampleBufferDisplayLayer
import AVFoundation.AVSynchronizedLayer
import AVFoundation.AVTextStyleRule
import AVFoundation.AVTime
import AVFoundation.AVTimedMetadataGroup
import AVFoundation.AVUtilities
import AVFoundation.AVVideoCompositing
import AVFoundation.AVVideoComposition
import AVFoundation.AVVideoSettings
import AVFoundation
import AVFoundation.AVOutputSettingsAssistant
// 视图
import AVFoundation.AVPlayer
import AVFoundation.AVPlayerItem
import AVFoundation.AVPlayerItemMediaDataCollector
import AVFoundation.AVPlayerItemOutput
import AVFoundation.AVPlayerItemTrack
import AVFoundation.AVPlayerLayer
import AVFoundation.AVPlayerLooper
import AVFoundation.AVPlayerMediaSelectionCriteria
import AVFoundation.AVQueuedSampleBufferRendering
import AVFoundation.AVRouteDetector
import AVFoundation.AVSampleBufferRenderSynchronizer
import CoreGraphics
import CoreMedia
import Foundation

AVFoundation是一个强大的多媒体处理框架,它基于CoreMedia、CoreAudio、CoreVideo、CoreAnimation等框架,所以我们对音视频的处理大多数时候都是用它,我们可以用它:

  • 音视频播放和录制
  • 操作媒体资源和元数据(混合音频、视频过渡效果、使用CoreAnimation动画等)

6.AVKit

import AVKit.AVError
import AVKit.AVKitDefines
import AVKit.AVPictureInPictureController
import AVKit.AVPlayerViewController
import AVKit.AVRoutePickerView

AVKit基于AVFoundation封装的框架,它提供了视频的播放界面,如果我们的设计是符合原生系统的话,毫不犹豫就应该使用它了

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏PPV课数据科学社区

【学习】开源大数据查询分析引擎现状

文|叶蓬 【按:此文是与我的《基于大数据分析的安全管理平台技术研究及应用》同期发表在内刊上的我的同事们的作品,转载于此。这些基础性的研究和测试对比分析,对于我们...

3507
来自专栏鸿的学习笔记

Shark,Spark SQL,Spark上的Hive以及Apache Spark上的SQL的未来

随着Spark SQL和Apache Spark effort(HIVE-7292)上新Hive的引入,我们被问到了很多关于我们在这两个项目中的地位以及它们与S...

812
来自专栏我是攻城师

ES-Hadoop插件介绍

4376
来自专栏大数据文摘

如何选择满足需求的SQL on Hadoop/Spark系统

2029
来自专栏CSDN技术头条

MapReduce谢幕,谁将成为最终的接棒者?

【编者按】MapReduce,曾Hadoop的杀手级组件,被广泛运用于海量数据分析场景。然而时过境迁,随着新型资源管理器YARN的发布,Spark等各种计算框架...

1809
来自专栏加米谷大数据

Spark适用场景以及与Hadoop MapReduce优势对比

2233
来自专栏CDA数据分析师

大数据不同的瑞士军刀:对比 Spark 和 MapReduce

翻译 | 古月水语 来源 | 伯乐在线 Apache 基金会下的 Spark 再次引爆了大数据的话题。带着比 Hadoop MapReduce 速度要快 100...

19410
来自专栏大数据和云计算技术

一套数据,多种引擎

以前写过一篇文档讨论MPP DB的发展,《MPP DB 是 大数据实时分析系统 未来的选择吗?》,当时主要是想讨论下Greenplum数据库是否合适做数据存储,...

3556
来自专栏陈湘玲的专栏

生儿育女的算法应用

有没有设想过,生活中突然多了个孩子会是什么体验? 如何更好Handle新身份,用科学的理论武装自己? 不妨看一下这篇不像攻略的攻略,探索新领域带来的乐趣。

1.6K6
来自专栏Albert陈凯

Spark系列课程-0030Spark 简单的算子

我们这节课开始讲Spark的算子, 我们说transformation类算子是转换算子 我们称Action类算子是行动算子 ? image.png 我们回顾...

3387

扫码关注云+社区