2013-05-07 11 views
5

In meiner App versuche ich, mehrere Videos in UITableViewCell für dieses zu spielen Ich verwende MPMoviePlayerController es spielt das Video ohne irgendein Problem. aber es wird jeweils ein Video gleichzeitig abgespielt und in einer anderen Zelle bekomme ich einen schwarzen Bildschirm. Zum ersten Mal ist eine Zelle sichtbar. Das Video wird abgespielt, aber sobald ich für die zweite Zeile blättern muss, verschwindet die erste Videoansicht mit schwarzem Bildschirm. Ich verstehe nicht, wie man die gesamte Videoansicht sichtbar macht, selbst wenn ich die Tabellenansicht durchblättere. dies ist der Code, den ich für Spiel-Video in benutzerdefinierten Zelle bin mit:Problem mit mehreren Videospielen in UITableViewCell

Individuelle Zell Initialisierung:

- (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 Methode

- (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; 
} 

Jede mögliche Hilfe würde geschätzt sehr.

+0

Hey @vinod - hast du irgendwann eine elegante Lösung gefunden? Ich kämpfe auch mit diesem (ich brauche Kontrollen so rohen AVFoundation ist nicht gut) – Boaz

Antwort

10

Sie können AVFoundation framework zum gleichzeitigen Abspielen mehrerer Videos verwenden. Eine Schritt für Schritt und vollständigen Quellcode, wie Sie dies tun: multiple-video-playback-on-ios

Sie können MPMoviePlayerController nicht verwenden. Die documentation Staaten, die klar ..

Obwohl Sie mehr MPMoviePlayerController Objekte und ihren Standpunkt in Ihrer Schnittstelle zu einer Zeit, nur ein Video-Player kann seinen Film spielen erstellen können.

hoffe es hilft dir.

+0

im Quellcode verwendet es verschiedene Controller, um Film nicht eins zu spielen. –

Verwandte Themen