如何从库中获取音乐文件

  • 本文关键字:获取 音乐 文件 iphone
  • 更新时间 :
  • 英文 :


i正在开发一个应用程序。在这种情况下,我需要从手机库中获取音乐文件。为此,我使用的是 MPMediaPickerConntroller,但它不会触发 didpickingitem delegate 方法。我的代码如下所示。

- (void)viewDidLoad
 {
[super viewDidLoad];
MPMediaPickerController *picker =[[MPMediaPickerController alloc] initWithMediaTypes: MPMediaTypeMusic];
picker.delegate                     = self;
picker.allowsPickingMultipleItems   = YES;
picker.prompt                       =@"Add songs to play";
[self presentModalViewController:picker animated: YES];
}
 - (void) mediaPicker: (MPMediaPickerController *) mediaPicker didPickMediaItems: (MPMediaItemCollection *) mediaItemCollection 
   {
        NSLog(@"sdfadsf");
        NSLog(@"%@",mediaItemCollection);
        NSArray *slist=[mediaItemCollection copy];
         NSLog(@"%@",slist);
  }

您是否在 .h 中声明 MPMediaPickerControllerDelegate?

前任:

@interface FirstViewController : UIViewController

如果你不这样做,这将解释为什么该方法没有触发。另外,我不相信它会在模拟器上工作;仅在设备上。

编辑:

-(IBAction)presentLibrary:(id)sender
{
    //this is called from a button press, but you could do it in viewDidLoad
    MPMediaPickerController *picker = [[MPMediaPickerController alloc] initWithMediaTypes: MPMediaTypeMusic];
    picker.delegate = self;
    picker.allowsPickingMultipleItems = NO;
    picker.prompt  = NSLocalizedString (@"Select any song from the list", @"Prompt to user to choose some songs to play");
    [self presentModalViewController: picker animated: YES];    
}
- (void)mediaPicker:(MPMediaPickerController *)mediaPicker didPickMediaItems:(MPMediaItemCollection *)mediaItemCollection
{
     NSLog(@"didpick");
    if (mediaItemCollection) {
        [_mediaPlayer setQueueWithItemCollection: mediaItemCollection];
        _mediaCollection = mediaItemCollection;
    }
    [mediaPicker dismissModalViewControllerAnimated:YES];
}

从这里阅读 iPhone 中的音乐播放器框架

最新更新