2012-04-04 9 views
0

私はビデオをキャプチャし、写真ライブラリに保存するipadでアプリをやっています。しかし、私が望むのは、写真ライブラリからビデオを選んで再生したいのです。MPMoviePlayerControllerを使って多くの例を見ましたが、そこにビデオを追加して、ビデオを再生しています。私の以下のコードのための書き込みパス。 私のコードは、ここで私はMPMoviePlayerController .CODEを呼び出しています。ここPhotoLibraryからビデオを取得してビデオを再生するには

-(IBAction) goToPhotos:(id)sender { 

    ipc = [[UIImagePickerController alloc] init]; 
    ipc.delegate = self; 
    ipc.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
    ipc.allowsEditing = YES; 
    UIPopoverController *videoController = [[UIPopoverController alloc]initWithContentViewController:ipc]; 
    // pop.popoverContentSize = CGSizeMake(300, 900); 
    [videoController presentPopoverFromRect:[sender frame] inView:self.view permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES]; 
    [ipc release]; 
    [self presentModalViewController:ipc animated:YES]; 

} 

フォトライブラリを呼び出す

この行くいずれかが、私はフォトライブラリのパスを得ることができる方法を教えてもらえますここ

- (void)viewDidLoad 
{  
    NSString *url = [[NSBundle mainBundle] 
        pathForResource:@"Stock_Footage_Demobroadband" 
        ofType:@"mp4"]; 
    MPMoviePlayerViewController *playerViewController = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL fileURLWithPath:url]]; 

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(movieFinishedCallback:) name:MPMoviePlayerPlaybackDidFinishNotification object:[playerViewController moviePlayer]]; 

    [self.view addSubview:playerViewController.view]; 

    //---play movie--- 
    MPMoviePlayerController *player = [playerViewController moviePlayer]; 
    [player play]; 

    [super viewDidLoad];  
} 

- (void) movieFinishedCallback:(NSNotification*) aNotification 
{ 
    MPMoviePlayerController *player = [aNotification object]; 
    [[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification 
    object:player]; 
    [player stop]; 
    [self.view removeFromSuperview]; 
    [player autorelease];  
} 

行きます私はそこでビデオを再生する必要があります。

NSString *url = [[NSBundle mainBundle] 
         pathForResource:@"Stock_Footage_Demobroadband" 
         ofType:@"mp4"]; 

私はこの行を修正することができますし、そこにビデオを再生できるようにフォトライブラリへのパスを得ることができます。ありがとうございました!

答えて

0

UIImagePickerControllerのデリゲートメソッドを実装する必要があります。

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 
    NSURL *movieURL = [info objectForKey:UIImagePickerControllerMediaURL]; 

    MPMoviePlayerController *mp = [[MPMoviePlayerController alloc] initWithContentURL: movieURL]; 
    //finish implementing the movie player controller 

} 
+0

おかげで私は、このメソッドの前に実装さ... – Kiran

+0

uは、私たちは、この行を変更することができ、我々は、この行に – Kiran

+0

NSStringの* URL = [[NSBundleを置き換えることにより、フォトライブラリのパスを書くことができますどのような方法があります伝えることができます[mainBundle] pathForResource:@ "Stock_Footage_Demobroadband" of type:@ "mp4"]; – Kiran

関連する問題