ios - 媒体选择器项目选择

标签 ios mpmediapickercontroller

我希望我的代码允许我通过我的 iPod 库选择多个项目。目前我可以选择一首歌曲。我想修改我的代码以允许将一系列歌曲添加到队列中。当前为“选择多个项目”选择"is"允许进行选择,但播放仅包含一首歌曲。第一个选择的。

我该如何改变这个。我在下面包含了我的代码示例...

@implementation ProjectViewController


/*
// The designated initializer. Override to perform setup that is required before the view is loaded.
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}
*/

/*
// Implement loadView to create a view hierarchy programmatically, without using a nib.
- (void)loadView {
}
*/



// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad 
{
    [self performSelector:@selector(presentLibrary) withObject:nil afterDelay:0.1];
    [super viewDidLoad];

}

-(void)presentLibrary
{
    MPMediaPickerController *picker = [[MPMediaPickerController alloc] initWithMediaTypes: MPMediaTypeMusic];
    // picker.navigationController.delegate = self;
    picker.delegate = self;
    picker.allowsPickingMultipleItems = YES;
    picker.prompt  = NSLocalizedString (@"Select any song from the list", @"Prompt to user to choose some songs to play");
    //[self.view addSubview:picker.view];
    [self presentModalViewController: picker animated: YES];
    //picker.view.frame = CGRectMake(picker.view.frame.origin.x, 0, picker.view.frame.size.width, picker.view.frame.size.height);
    [picker release];

}

/*
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
*/



- (void)didReceiveMemoryWarning {
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];

    // Release any cached data, images, etc that aren't in use.
}

- (void)viewDidUnload {
    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
}

// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:
(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    //return (interfaceOrientation == UIInterfaceOrientationPortrait);
    return YES;    



}




- (void)dealloc {
    [super dealloc];
}


- (IBAction)onlaunch:(id)sender
{
    xxxxxxxx ViewController *viewController = [[xxxxxxxxxViewController alloc] init];
    [self presentModalViewController:viewController animated:YES];
    [viewController release];
}

-(void)viewDidAppear:(BOOL)animated
{

}


- (void) mediaPicker: (MPMediaPickerController *) mediaPicker didPickMediaItems: (MPMediaItemCollection *) mediaItemCollection
{
    [self dismissModalViewControllerAnimated: NO];
    //[mediaPicker.view removeFromSuperview];
    //NSURL *url = [NSURL fileURLWithPath:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"screen1.mp4"]]; //test.caf
    NSURL *url = [[mediaItemCollection.items objectAtIndex: 0] valueForProperty:MPMediaItemPropertyAssetURL];
    NSLog(@"url:%@",url);
    [[ShareInfo shareduserInfoManager] setSongUrl:url];
    [self goToxxxxxxxxxyView];
}

- (void)mediaPickerDidCancel:(MPMediaPickerController *)mediaPicker
{
    [self dismissModalViewControllerAnimated: NO];
    [[ShareInfo shareduserInfoManager] setSongUrl:nil];
    [self goToxxxxxxxxxView];
}

-(void)goToxxxxxxxView
{
    xxxxxxxxxxxxxx *viewController = [[xxxxxxxxxxxxxxxr alloc] init];
    [self presentModalViewController:viewController animated:YES];
    [viewController release];
}
@end

最佳答案

而不是

NSURL *url = [[mediaItemCollection.items objectAtIndex: 0] valueForProperty:MPMediaItemPropertyAssetURL];

这是选择第一首歌曲,

尝试

if (mediaItemCollection)
    [musicPlayer setQueueWithItemCollection: mediaItemCollection];

关于ios - 媒体选择器项目选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7669521/

相关文章:

ios - Xcode 中的快速变量检查

ios - 在运行时根据类类型动态解析对象

iphone - 从 super View 中删除表 subview

iphone - MPMediaPickerController 在一个 View 中,MPMediaPlayback 在另一个 View 中。如何?

ios - ios 应用程序中有一个显示音频/图像/视频的选择器吗?

ios - 麻烦交叉编译 Python 2 Xcode : kivy-ios distribution throwing error

ios - pod lint 编译我的 swift 代码而不考虑 #define

ios - 从 didPickMediaItems 将 NSURL 转换为 NSData

ios - 在 iOS 模拟器中使用 MPMediaPickerController 时出现运行时错误

iphone - iPad 上的 MPMediaPickerController 方向