我正在尝试播放从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并播放歌曲?
谢谢你的阅读。
答案 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];
}