天天看點

《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:來關閉它。

《iOS元件與架構——iOS SDK進階特性剖析》——第6章,第6.3節媒體選擇器

如果使用者在mpmediapickercontroller中取消了選擇,将調用委托方法mediapickerdidcancel:。在這個方法中,您必須關閉mpmediapickercontroller。

《iOS元件與架構——iOS SDK進階特性剖析》——第6章,第6.3節媒體選擇器

實作委托方法後,便可建立mpmediapickercontroller執行個體了。配置設定和初始化mpmediapicker controller時,必須指定一個表示媒體類型的參數。表6.2列出了這個參數的所有可能取值。請注意,同一個媒體項可能歸屬于多種媒體類型。可給mpmediapickercontroller執行個體指定一些屬性,如支援多選及顯示提示,如圖6.2所示。還有一個boolean屬性,它指定是否顯示icloud媒體項,預設為yes。

《iOS元件與架構——iOS SDK進階特性剖析》——第6章,第6.3節媒體選擇器
《iOS元件與架構——iOS SDK進階特性剖析》——第6章,第6.3節媒體選擇器

使用mpmediapickercontroller讓使用者選擇要播放的歌曲時,這些就是需要完成的所有步驟。然而,在很多情況下,都必須提供自定義的使用者界面或在沒有界面的情況下選擇歌曲,這将在下一節介紹。