2013-05-07 12 views
5

私のアプリでは、UITableViewCellに複数の動画を再生しようとしていますが、私はMPMoviePlayerControllerを使ってビデオを再生しています。それは一度に1つのビデオを再生し、他のセルでは黒い画面が表示されます。最初に1つのセルが表示されていると考えられますが、2番目の行をスクロールするとすぐに黒い画面で最初のセルのビデオ表示が消えます。私は、たとえテーブルビューをスクロールしても、すべてのビデオビューを表示する方法を得ていません。UITableViewCellで複数のビデオを再生する問題

カスタムセルの初期化:すべてのヘルプは高く評価されるだろう

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"Cell"; 

    CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if(cell == nil){ 
     cell = [[CustomCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier]; 
     cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 
    }else{ 
     [self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObjects:[NSIndexPath indexPathForRow:indexPath.row inSection:indexPath.section], nil] withRowAnimation:UITableViewRowAnimationAutomatic]; 
    } 

    cell.selectionStyle = UITableViewCellSelectionStyleNone; 
    return cell; 
} 

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier 
{ 
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; 
    if (self){ 
     NSArray *nibArray=[[NSBundle mainBundle]loadNibNamed:@"CustomCell" owner:self options:nil]; 
     self=[nibArray objectAtIndex:0]; 

     _player = [[MPMoviePlayerController alloc] init]; 
     _player.view.frame = CGRectMake(0,0,320,300); 
     _player.movieSourceType = MPMovieSourceTypeStreaming; 
     [_player setContentURL:[NSURL URLWithString:@"http://files.parse.com/ef5649ee-75c6-4c76-ba3b-37be4d281125/b35589f7-c0aa-4ca8-9f7c-fd31b2dc8492-vedioTeaser.mov"]]; 
     [_player prepareToPlay]; 
     [_player play]; 
     [self addSubview:_player.view]; 
    } 
    return self; 
} 

CellForRowAtIndexPath方法これはカスタムセルで、私がプレイビデオに使用していたコードです。

+0

こんにちは@vinod - あなたはこれで最終的にエレガントな解決策を見つけましたか?私はこれも苦労しています(私は生のAVFoundationが良くないので、コントロールが必要です) – Boaz

答えて

10

AVFoundation frameworkを使用すると、複数の動画を同時に再生できます。 ステップバイステップおよびこれを行う方法に関する完全なソースコード:multiple-video-playback-on-ios

MPMoviePlayerControllerは使用できません。はっきり..

documentation状態は、複数のMPMoviePlayerControllerオブジェクトを作成し、インターフェイスに自分の意見を提示することができますが、一度に1つのムービープレイヤーは、そのムービーを再生することができます。

あなたのお役に立てば幸いです。

+0

ソースコードでは、ムービーを再生するのに異なるコントローラを使用します。 –

関連する問題