Media Player框架详细解析(一) —— 基本概览

版本记录

版本号 时间
V1.0 2018.02.07

前言

Media Player框架添加从您的应用程序中查找和播放歌曲,音频播客,音频书籍等功能。接下来几篇我们就一起看一下这个框架。

Overview

下面先看一下该框架的基本信息。

Media Player框架详细解析(一) —— 基本概览_第1张图片

下面看一下该框架的基本结构。

Media Player框架详细解析(一) —— 基本概览_第2张图片

Media Player框架为开发者提供了几种播放媒体的方法。 内置的音乐播放器提供了一种访问和播放应用中用户音乐库音频的简单方法。 外部音乐播放器也可以从用户的音乐库中检索和播放媒体项目。 要使用户能够播放包含 MPMediaItem对象的视频,请使用AVPlayer。 您无法使用Media Player框架播放视频媒体项目。

重要:从iOS 10开始,访问用户的媒体库需要用户的同意。 需要在Info.plist文件中添加`Privacy - Media Library Usage Description密钥和应用的密钥说明。 如果该键未添加到项目中,您的应用程序将崩溃。

使用其中一个内置音乐播放器,使用户能够从您的应用中的音乐库中播放音频选择。例如,您可以让用户在尝试完成特定游戏级别时从应用内播放自己的音乐。

加入MusicKit,允许用户从您的应用程序和游戏中本地播放Apple Music及其本地音乐库。用户向其Apple Music帐户提供权限后,您的应用可以创建播放列表,将歌曲添加到其音乐库,并播放Apple音乐目录中的数百万首歌曲。如果您的应用检测到该用户还不是Apple音乐成员,则可以在您的应用内提供试用。

根据您的目标,您可以将两种类型的内置媒体播放器中的一种整合到您的应用中。如果您希望在应用中进行的更改也影响Music应用,请使用系统播放器。如果您想在播放音频时离开Music应用程序,请使用应用程序播放器。在决定播放器之后,使用媒体查询来检索将填充播放器的媒体项目。


Topics

1. Built-In Music Playback

  • Playing Audio Using the Built-In Music Player

    • 在应用程序内部创建媒体播放器,以播放用户媒体库中的音频。
  • MPMusicPlayerController

    • 用于播放设备Music应用程序库中的音频媒体项目的对象。
  • MPMediaPlayback

    • 定义控制音频媒体播放界面的协议。
  • MPSystemMusicPlayerController

    • 用于在Music应用程序中播放视频的协议。

2. Media Library Synchronization

  • MPMediaLibrary
    • 表示设备上已同步媒体项目状态的对象。

3. Media Item Queries

  • Using Filters to Create Specialized Queries

    • 在填充音乐播放器队列之前,将过滤器添加到查询中。
  • MPMediaQuery

    • 通过过滤器和分组类型指定来自设备媒体库的一组媒体项目的查询。
  • MPMediaQuerySection

    • 媒体查询中的一系列媒体项目或媒体项目集合。
  • MPMediaPropertyPredicate

    • 一组谓词,用于定义媒体查询中使用的过滤器。
  • MPMediaPredicate

    • 定义在媒体查询中过滤媒体的类的抽象类。

4. Media Player Queues

  • MPMusicPlayerControllerQueue

    • 包含要由应用程序队列媒体播放器播放的媒体项目的不可变队列。
  • MPMusicPlayerControllerMutableQueue

    • 包含媒体播放器要播放的媒体项目的可变队列。
  • MPMusicPlayerApplicationController

    • 媒体播放器对象,用于修改当前正在播放的队列。
  • MPMusicPlayerMediaItemQueueDescriptor

    • 用于修改播放器的媒体队列中的音频媒体项目的一组属性和方法。
  • MPMusicPlayerStoreQueueDescriptor

    • 一组属性和方法,用于根据玩家队列中的商店标识符修改商品。
  • MPMusicPlayerPlayParametersQueueDescriptor

    • 一组属性和方法,用于根据从MusicKit API结果返回的播放参数来修改项目的播放方式。
  • MPMusicPlayerQueueDescriptor

    • 音频媒体项目和存储队列描述符的抽象基类。

5. Media Items and Playlists

  • MPMediaItem

    • 表示媒体库中包含的单个项目的属性集合。
  • MPMediaItemArtwork

    • 与媒体项目相关联的图形图像,例如音乐专辑封面。
  • MPMediaItemCollection

    • 来自媒体库的有序媒体项目集。
  • MPMediaPlaylist

    • 可播放的相关媒体项目集合。
  • MPMediaPlaylistCreationMetadata

    • 播放列表首次创建时用于描述播放列表的一组属性
  • MPMediaEntity

    • 媒体项目,媒体项目集合和媒体播放列表实例的抽象超类。

6. Media Player User Interface

  • Adding Individual Media Items Using a Media Picker

    • 将媒体选择器添加到您的应用中,以允许用户挑选单个音乐项目。
  • MPMediaPickerController

    • 提供用于选择媒体项目的图形界面的专用视图控制器。
  • MPVolumeView

    • 用于设置系统音频输出音量的滑块控件,以及用于选择音频输出路径的按钮。
  • Global Volume Setting Methods

    • 用于设置音量警报窗口状态的全局函数。

7. Now Playing Information

提供有关当前track的信息。

  • MPNowPlayingInfoCenter

    • 一个对象,用于设置您的应用程序正在播放媒体的即时播放信息。
  • MPNowPlayingInfoLanguageOption

    • 一组用于为正在播放的项目设置语言选项的界面。
  • MPNowPlayingInfoLanguageOptionGroup

    • 一组语言选项,一次只能激活一种语言选项。
  • Language Option Characteristic Constants

    • 用于定义语言特性的常量。

8. External Player and System Event Handling

支持外部媒体播放器或系统显示的控件的播放控制。

  • Handling External Player Events Notifications

    • 处理外部媒体播放器的事件。
  • Remote Command Center Events

    • 设置远程指挥中心来处理媒体播放器事件。
  • Track Navigation Events

    • 响应请求以更改媒体项目的部分播放。
  • Media Playback Mode Events

    • 回应媒体项目播放方式的变化。
  • Feedback and Rating Events

    • 响应反馈和评级事件。

9. External Media Player Items

提供内容并与外部媒体播放器进行交互。

  • MPContentItem

    • 包含显示给用户的特定媒体项目信息的对象。
  • MPPlayableContentManager

    • 共享内容管理器,用于控制媒体应用与系统提供的或外部媒体播放器界面之间的交互。
  • MPPlayableContentManagerContext

    • 表示可播放端点当前状态的对象。

10. Errors

  • MPErrorCode

    • 媒体播放器错误域的错误代码。
  • MPErrorDomain

    • Media Player框架错误域

11. Deprecated

  • Deprecated Symbols
    • 这些符号已被弃用,不再推荐使用。

12. Reference

  • MediaPlayer Constants

后记

本篇已结束,后面更精彩~~~

Media Player框架详细解析(一) —— 基本概览_第3张图片

你可能感兴趣的:(Media Player框架详细解析(一) —— 基本概览)