2011-08-10 18 views
0

例如,如果我只想播放媒體庫中索引3,5和9的歌曲,我該怎麼做? 我的代碼如下:播放列表管理窗口手機7

private SongCollection mySongCollection; 

,我能是這樣的:

mySongCollection = library.Albums[index].Songs + library.Songs[index]; 

回答

2

因爲SongCollection是一個不可變類,不能直接實例化,將項目添加到它,並把它傳遞給MediaPlayer 。相反,您可以創建一個IEnumerable<Song>的實例,然後在將數據傳遞到MediaPlayer.Play時遍歷它。舉例來說,如果你有兩個SongCollection情況下,你可以很容易地做到這一點:

IEnumerable<Song> ultimateCollection = collection.Concat(collection2); 

collectioncollection2SongCollection類型。

+0

感謝丹尼斯,一切都奏效了,但是當我擁有終極夢想時,我該如何演奏這個列表?我使用MediaPlayer.Play(ultimateCollection);但它似乎不是正確的語法 –

+0

因爲您不能將'IEnumerable'的實例傳遞給'MediaPlayer'。您需要遍歷枚舉(例如,在foreach循環的幫助下),並在推進到下一首歌曲之前檢查「MediaPlayer」的狀態。 –

+0

但如果用戶從我們的應用導航,則檢查方法不再有效,MediaPlayer將不再播放。你有辦法解決這個問題嗎?我對這件事開始了一個新的問題 –