2

我在位于我的应用程序文档目录中的 UITableView 中显示了一堆 mp3。

当我选择行时,我希望文件加载到 AVAudioPlayer 和播放中。

谁能建议我如何去做这件事?

任何帮助将不胜感激。

谢谢!

4

1 回答 1

1

我终于想通了:

NSArray *songs;
AVAudioPlayer *player;

- (void)viewDidLoad
{
  [self.player prepareToPlay];

  // Point to Document directory
  NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
  NSError *error = nil;
  NSArray *array = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:path error:&error];

  if (array == nil) {
    // Handle the error
  }
  self.songs = array;
  //[array release];

  //self.title = @"Song List";
  [super viewDidLoad];
  // Do any additional setup after loading the view from its nib.
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
  NSString *applicationDocumentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
  NSString *filePath = [applicationDocumentsDirectory stringByAppendingPathComponent: [songs objectAtIndex:indexPath.row]];
  NSURL *url = [NSURL fileURLWithPath:filePath];

  player = [[AVAudioPlayer alloc]initWithContentsOfURL:url error:nil];

  [player play];
}
于 2011-05-04T22:00:44.170 回答