1

我正在尝试播放Media ItemUITableViewiOS 中选择的内容。

我正在使用MediaQuery并且我从 iPod 库中加载了歌曲列表UITableView

但我不知道如何播放从 中选择的歌曲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

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

4

1 回答 1

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];

}
于 2013-01-01T11:25:09.563 回答