Bonjour

J’aimerais afficher une vidéo sur mon detailView grâce à l’URL passé par le masterView. Pour cela j’appelle la méthode configureView du DetailViewController une fois que l’utilisateur à cliquer sur une des URL de la TableView.

Le problème est que la vidéo ne s’affiche pas mais on entend le son de la vidéo.

Mais si j’initialise la vidéo directement depuis le viewDidLoad du DetailViewcontroller.m la vidéo s’affiche parfaitement sur l’écran. Le problème est que cette méthode est lancé à l’initialisation de la vueet je ne peux plus lui passé une autre URL au player par après…

Je pense que le problème viens de la gestion de mémoire de l’ARC ou que storyboard fait une sorte de « réinitialisation » du detailView et on ne peut plus interagir avec les vue. Ça fais plus d’une semaine que je tourne la dessus et je n’ai maintenant plus de corde à mon arc… C’est pourquoi je serai très reconnaissant si vous pouviez m’aidé ou me donner une nouvelle piste car là je sèche complètement.

J’espère avoir été assez clair sur la description de mon problème et que vous aurez un petit moment à me consacrer…
Si il vous manque quelque chose je vous donnerai toute les informations complémentaire qu’il faudra.



Si je fais ça la vidéo se lance (on entend le son de la vidéo) mais la vidéo ne s’affiche pas

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
// MasterViewController.m - Méthode appelé lorsque l’utilisateur sélectionne une cellule
 
- (void)tableView:(UITableView *)aTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
 
    if (!detailViewController) {
        detailViewController = [[DetailViewController alloc] init];
    }
 
// Je set la valeur de mon URL au detailItem de la detailView
 
    detailViewController.detailItem = [video objectForKey:kUrl];
 
    }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
// DetailViewController.m - Cette méhode est appelé juste après que le masterView aie setter la valeur de l’url au detailItem.
 
- (void)setDetailItem:(id)newDetailItem {
 
            urlVideo1 = [NSURL URLWithString:newDetailItem];
            [self configureView];
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
-(void)configureView{
 
    videoC = [[VideoController alloc]init];
    videoC.mPlaybackView = self.mPlaybackView;
    [videoC playMovie:2:[NSURL URLWithString:@"http://trailers.apple.com/movies/disney/tronlegacy/tron-tlr1_r640s.mov"]];
 
 
}
Si je fais ça par contre ça fonctionne (son et affichage de la vidéo) mais sans pouvoir setter mon URL.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
-(void)viewDidLoad{
 
    [super viewDidLoad];
 
    videoC = [[VideoController alloc]init];
    videoC.mPlaybackView = self.mPlaybackView;
    [videoC playMovie:2:[NSURL URLWithString:@"http://trailers.apple.com/movies/disney/tronlegacy/tron-tlr1_r640s.mov"]];
 
 
}

Merci d’avoir pris le temps de lire mon problème