iOS - 从 didPickMediaItems 获取播放列表

标签 ios ios5 audio-streaming mpmusicplayercontroller mpmediapickercontroller

我想知道当用户使用媒体选择器选择歌曲时,他们从哪个播放列表中选择了歌曲。由于某种原因,播放列表似乎不存在。

基本上,当用户转到媒体选择器中的播放列表(我们称之为“健身房歌曲”)并选择一首歌曲时,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]; }

最佳答案

此数据不可用。您唯一的选择是自己用代码完成所有这些工作。建立一个表格 View 并用库中的所有播放列表填充它。当用户选择一个播放列表时,放置另一个包含该播放列表中所有轨道的表格 View ,并允许用户选择一个。

关于iOS - 从 didPickMediaItems 获取播放列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11890300/

相关文章:

ios - Xcode 运行成功但归档时出错

iphone - Xcode 4.2 在 IB 中的选项卡栏上放置导航 Controller 时发出警告

iphone - 使用委托(delegate)数组时出错

ios - 从 NSString 读取格式化数据的最佳方式?

ios - AFNetworking 2.0、AFJSONResponseSerializer、AFHTTPResponseSerializer 和并发

iphone - 如何在ViewController中初始化实例变量和属性

c# - 有没有办法拦截从我的扬声器发出的声音,以便我可以插入一个基于 C#.NET 软件的音频过滤器?

java - 麦克风 UDP 实时音频流

linux - 将 VPS 设置为流媒体复制器(用于在线广播)?

ios - Apple 是否允许具有禁用功能的免费应用程序,这些应用程序在单击时会显示购买内容的提示?