如何从iOS中的UITableView播放选定的媒体项?

时间:2013-01-01 10:49:10

标签: ios cocoa-touch mpmediaitem

我正在尝试播放从iOS中的Media Item中选择的UITableView

我正在使用MediaQuery,我在我UITableView的iPod库中加载了歌曲列表。

但我不知道如何播放来自UITableView的所选歌曲。

我知道真正基本的简单AudioPlayer,代码如下。

NSString *soundFilePath = [[NSBundle mainBundle] pathForResource: @"sample" 
                                                              ofType: @"mp3"];
    NSURL *fileURL = [[[NSURL alloc] initFileURLWithPath: soundFilePath] autorelease];
    self.player = [[[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error: nil] 
                   autorelease];

用于已经位于资源中的ContentOfURL。无需从iPod库中检索歌曲。

这是我的CellForRowAtIndexPath方法代码

MPMediaItemCollection *songs = [self.arrayOfSongs objectAtIndex:indexPath.row];

    cell.textLabel.text = [songs.items[0] valueForProperty:MPMediaItemPropertyTitle];

现在我正尝试使用MediaQuery从iPod库中播放检索到的歌曲,并从UITableView中选择

那么如何从UITableView中选择的iPod库中检索URL并播放歌曲? 谢谢你的阅读。

1 个答案:

答案 0 :(得分:2)

您需要像以下代码一样实施didSelectRowAtIndexPath

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
   MPMediaItemCollection *songs = [self.arrayOfSongs objectAtIndex:indexPath.row];
   MPMediaItem *item = [songs representativeItem];
   self.player = [[[AVAudioPlayer alloc] initWithContentsOfURL:[item valueForProperty:MPMediaItemPropertyAssetURL] error: nil] 
                   autorelease];

}