3

ユーザーがメディアピッカーを使用して曲を選択したとき、どのプレイリストから曲を選択したかを知りたい。何らかの理由で、プレイリストが存在しないようです。

基本的に、ユーザーがメディアピッカーのプレイリストにアクセスして「ジムの曲」と呼び、曲を選択すると、mediaPicker:didPickMediaItems:関数は曲の詳細を返しますが、ユーザーがどのプレイリストから曲を選択したかは示しません。

だから私がやりたいのは、その曲を再生し、そのプレイリストの他の曲を再生し続けることです。ただし、プレイリスト情報がないと、その曲の再生が開始され、「すべての曲」リストの残りの曲の再生が続行されます。

これは私のコードです:

(void) mediaPicker: (MPMediaPickerController *) mediaPicker didPickMediaItems: (MPMediaItemCollection *) mediaItemCollection

{

    MPMediaItem *selectedSong = [[mediaItemCollection items] objectAtIndex:0];

    MPMediaQuery *songQuery = [MPMediaQuery songsQuery];
    [musicPlayer setQueueWithQuery:songQuery];
    for (MPMediaItem *oneSong in [songQuery items]) {

        if ([selectedSong isEqual:oneSong]) {
            musicPlayer.nowPlayingItem = oneSong;
            [musicPlayer play];

            // Exit the loop
            break;
        }
    }
    [self dismissModalViewControllerAnimated: YES]; }
4

1 に答える 1

3

このデータは利用できません。唯一のオプションは、これらすべてをコードで自分で行うことです。テーブルビューを作成し、ライブラリ内のすべてのプレイリストを入力します。ユーザーがプレイリストを選択したら、そのプレイリスト内のすべてのトラックを含む別のテーブルビューを表示し、ユーザーが1つを選択できるようにします。

于 2012-08-11T11:58:54.030 に答える