《iOS组件与框架——iOS SDK高级特性剖析》——第6章,第6.3节媒体选择器

简介:

本节书摘来自异步社区《iOS组件与框架——iOS SDK高级特性剖析》一书中的第6章,第6.3节媒体选择器,作者 【美】Kyle Richter , Joe Keeley,更多章节内容可以访问云栖社区“异步社区”公众号查看

6.3 媒体选择器
iOS组件与框架——iOS SDK高级特性剖析
要让用户能够选择要欣赏的歌曲,最简单的方式是让他能够访问MPMediaPickerController,如图6.2所示。MPMediaPickerController让用户能够浏览艺术家、歌曲、播放列表和专辑,以指定要播放的歌曲。要使用MPMediaPickerController,必须遵守委托协议MPMediaPicker ControllerDelegate,它定义了两个必须实现的方法。第一个是mediaPicker:didPickMediaItems:,在用户选择了要欣赏的歌曲时被调用。将通过一个MPMediaItemCollection对象返回选定的歌曲,MPMusicPlayerController可直接将这个对象作为参数来调用setQueueWith ItemCollection:。为MPMusicPlayerController设置新队列后,就可开始播放选定歌曲了。用户选择歌曲后,MPMediaPickerController不会自动关闭,您必须显式地调用dismissViewControllerAnimated: completion:来关闭它。


b274f06415b56a171209af6d63b449f21cece6b6

如果用户在MPMediaPickerController中取消了选择,将调用委托方法mediaPickerDidCancel:。在这个方法中,您必须关闭MPMediaPickerController。


bd4278debd8c21667c64f07015d6d7086432c94f

实现委托方法后,便可创建MPMediaPickerController实例了。分配和初始化MPMediaPicker Controller时,必须指定一个表示媒体类型的参数。表6.2列出了这个参数的所有可能取值。请注意,同一个媒体项可能归属于多种媒体类型。可给MPMediaPickerController实例指定一些属性,如支持多选及显示提示,如图6.2所示。还有一个Boolean属性,它指定是否显示iCloud媒体项,默认为YES。


8fb4dfbbe52c9982ad68632de71d4d88d1654239


07f88528a89c30932587acd3d9a8c16fd5b39b89

使用MPMediaPickerController让用户选择要播放的歌曲时,这些就是需要完成的所有步骤。然而,在很多情况下,都必须提供自定义的用户界面或在没有界面的情况下选择歌曲,这将在下一节介绍。

相关文章
|
2月前
|
编解码 iOS开发 开发者
探索iOS开发中的SwiftUI框架
【5月更文挑战第31天】本文将深入探讨SwiftUI框架,这是Apple为iOS应用开发推出的最新用户界面工具包。我们将分析其核心概念、优势以及如何利用SwiftUI简化和加速开发流程,同时也会触及一些常见的挑战和解决方案。
|
3天前
|
iOS开发 开发者 UED
探索iOS开发中的SwiftUI框架
【6月更文挑战第28天】在移动应用开发的海洋中,SwiftUI作为iOS平台的新星,以其声明式语法和灵活性,正引领着界面设计的未来。本文将带你深入理解SwiftUI的核心概念、布局能力以及如何通过它提升开发效率,为开发者们提供一份实操指南,解锁SwiftUI的强大潜力。
12 1
|
10天前
|
iOS开发 开发者 容器
探索iOS开发中的SwiftUI框架
【6月更文挑战第21天】本文深入探讨了苹果在iOS开发中推出的SwiftUI框架,旨在为开发者提供一种声明式、更简洁的界面设计方法。文章首先概述了SwiftUI的核心概念和优势,接着通过一个天气预报应用实例,详细讲解了如何使用SwiftUI进行布局和用户界面的设计。此外,还讨论了SwiftUI与UIKit的差异,以及如何将SwiftUI集成到现有的项目中。最后,文章展望了SwiftUI的未来发展方向,包括潜在的改进和新特性。
|
13天前
|
Swift iOS开发 开发者
探索iOS开发中的SwiftUI框架
在苹果的生态系统中,SwiftUI代表了iOS应用开发的一次重大飞跃。作为一项现代化的UI工具集,它旨在简化和加速界面设计过程,同时确保代码的清晰度与可维护性。本文将深入探讨SwiftUI的核心概念、优势以及在实际开发中的应用案例,为开发者提供全面而实用的指南。
|
17天前
|
iOS开发 开发者
探索iOS开发中的SwiftUI框架
【6月更文挑战第14天】本文将深入探讨iOS开发领域的新星——SwiftUI框架。我们将从其设计理念出发,逐步解析其结构与核心组件,并通过实例展示如何利用SwiftUI简化界面构建流程,提升开发效率。同时,我们也将讨论SwiftUI在现有项目中的集成策略及其对iOS应用开发未来的可能影响。
21 1
|
18天前
|
Swift iOS开发 开发者
探索iOS开发中的SwiftUI框架
【6月更文挑战第13天】本文将深入探讨iOS开发中的一个重要工具——SwiftUI框架。我们将了解其基本概念,如何在实际项目中应用,以及它为开发者带来的优势和挑战。
21 1
|
20天前
|
API Swift iOS开发
探索iOS开发中的SwiftUI框架
【6月更文挑战第11天】本文将深入探讨iOS开发中的一个重要工具——SwiftUI框架。我们将了解其基本概念,如何在实际项目中应用,以及它如何改变iOS应用的开发方式。
|
20天前
|
iOS开发 开发者 UED
探索iOS开发中的SwiftUI框架
在移动应用开发的广阔天地中,苹果公司的SwiftUI框架以其声明式语法和直观布局管理,为iOS开发者带来了新的生产力工具。本文将深入探讨SwiftUI的设计哲学、核心概念以及在实际项目中如何高效运用该框架,旨在为读者提供一份全面的SwiftUI使用指南。
|
2月前
|
开发工具 iOS开发 Perl
mac电脑升级到10.15.7含有支付宝SDK的组件更新报错:AlipaySDK.framework/AlipaySDK for architecture arm64
mac电脑升级到10.15.7含有支付宝SDK的组件更新报错:AlipaySDK.framework/AlipaySDK for architecture arm64
28 0
|
2月前
|
开发工具 iOS开发 Perl
iOS使用SDK静态库
iOS使用SDK静态库
25 0