iOS Overview – Media Layer

The Media layer contains the graphics, audio, and video technologies

Graphics Technologies

Table 2-1  Graphics technologies in iOS

Technology

Description

UIKit graphics

UIKit defines high-level support for drawing images and Bézier paths and for animating the content of your views. In addition to providing classes to implement drawing support, UIKit views provide a fast and efficient way to render images and text-based content. Views can also be animated, both explicitly and using UIKit dynamics, to provide feedback and promote user interactivity.

For more information about the classes of the UIKit framework, see UIKit Framework Reference.

Core Graphics framework

Core Graphics (also known as Quartz) is the native drawing engine for iOS apps and provides support for custom 2D vector- and image-based rendering. Although not as fast as OpenGL ES rendering, this framework is well suited for situations where you want to render custom 2D shapes and images dynamically.

For more information, see “Core Graphics Framework.”

Core Animation

Core Animation (part of the Quartz Core framework) is a foundational technology that optimizes the animation experience of your apps. UIKit views use Core Animation to provide view-level animation support. You can use Core Animation directly when you want more control over the behavior of your animations.

For more information, see “Quartz Core Framework.”

Core Image

Core Image provides advanced support for manipulating video and still images in a nondestructive manner.

For more information, see “Core Image Framework.”

OpenGL ES and GLKit

OpenGL ES handles advanced 2D and 3D rendering using hardware-accelerated interfaces. This framework is traditionally used by game developers, or by anyone wanting to implement an immersive graphical experience. This framework gives you full control over the rendering process and offers the frame rates needed to create smooth animations. For more information, see “OpenGL ES Framework.”

GLKit is a set of Objective-C classes that provide the power of OpenGL ES using an object-oriented interface. For more information, see “GLKit Framework.”

Text Kit and Core Text

Text Kit is a family of UIKit classes used to perform fine typography and text management. If your app performs advanced text manipulations, Text Kit provides seamless integration with the rest of your views. For more information, see “Text Kit.”

Core Text is a lower-level C-based framework for handling advanced typography and layout. For more information, see“Core Text Framework.”

Image I/O

Image I/O provides interfaces for reading and writing most image formats. For more information, see “Image I/O Framework.”

Assets Library

The Assets Library framework lets you access a user’s photos, videos, and media. You use this framework in places where you want to integrate the user’s own content with your app. For more information, see “Assets Library Framework.”

Audio Technologies

Table 2-2  Audio technologies in iOS

Technology

Description

Media Player framework

This high-level framework provides easy access to a user’s iTunes library and support for playing tracks and playlists. Use this framework when you want to integrate audio into your app quickly and when you don’t need to control playback behavior. For more information, see “Media Player Framework.”

AV Foundation

AV Foundation is an Objective-C interface for managing the recording and playback of audio and video. Use this framework for recording audio and when you need fine-grained control over the audio playback process. For more information, see “AV Foundation Framework.”

OpenAL

OpenAL is an industry-standard technology for delivering positional audio. Game developers frequently use this technology to deliver high-quality audio using a set of cross-platform interfaces. For more information, see “OpenAL Framework.”

Core Audio

Core Audio is a set of frameworks that provide both simple and sophisticated interfaces for the recording and playback of audio and MIDI content. This framework is for advanced developers who need fine-grained control over their audio. For more information, see “Core Audio.”

Video Technologies

Table 2-3  Video technologies in iOS

Technology

Description

UIImagePickerController

The UIImagePickerController class is a UIKit view controller for choosing user media files. You can use this view controller to prompt the user for an existing picture or video or to let the user capture new content. For more information, see Camera Programming Topics for iOS.

Media Player

The Media Player framework provides a set of simple-to-use interfaces for presenting video. This framework supports both full-screen and partial-screen video playback and supports optional playback controls for the user. For more information, see “Media Player Framework.”

AV Foundation

AV Foundation provides advanced video playback and recording capabilities. Use this framework in situations where you need more control over the presentation or recording of video. For example, augmented reality apps could use this framework to layer live video content with other app-provided content. For more information, see “AV Foundation Framework.”

Core Media

The Core Media framework defines the low-level data types and interfaces for manipulating media. Most apps do not need to use this framework directly, but it is available when you need unparalleled control over your app’s video content. For more information, see “Core Media Framework.”

AirPlay

AirPlay lets your app stream audio and video content to Apple TV and stream audio content to third-party AirPlay speakers and receivers. 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s