NSURL

jeanjacq

Membre enregistré
28 Février 2003
4
0
salut à tous

j'ai SimpleMoviePlayer et son pdf film et menu.
tout fonctionne parfaitement bien et c'est très clair.
(merci pour l'adresse et la traduction)

Je désire créer un bouton pour démarrer la lecture
d'un .mov dans un simple conteneur NSMovieView
et que le film quicktime fasse parti au final de l'application cocoa.

je ne connais rien sur NSURL et plus je lis le sujet moins je pige...
ce qui me manque comme à beaucoup de débutant
c'est une explication aussi claire que celle de simpleMoviePlayer
avec un NSURL...me donnant l'ordre de création des class et action et des connections...

si quelqu'un peut me mettre dans la bonne direction
ou me donner l'url d'un document sympa
merci d'avance.

jean jacques
 
NSUrl permet de gérer des moyens d'accès qui décrivent le type et l'emplacement d'une "ressouce" (généralement un fichier) localisée aussi bien sur un disque dur d'ordinateur que sur un réseau local ou sur internet...

Etrangement, la classe NSMovie ne permet de charger un film que si on lui passe une URL...

Donc si tu veux utiliser un film que tu as sur ton disque dur (et même mieux dans le bundle de ton application), il faut que tu transformes le chemin de ce fichier en URL pour ensuite l'utiliser dans NSMovie. Cette transformation passe par la méthode fileURLWithPath de la classe NSURL qui accepte en paramètre un chemin d'accès classique et qui te retourne une instance NSURL basée sur ce chemin.

Je te donne une piste : je suppose que ton film se nomme MonFilm.mov et que tu l'as placé dans le répertoire Resources qui se trouve dans le bundle de ton application.

NSString *chemin_du_film=[[NSBundle mainBundle] pathForResource:@"MonFilm" ofType:@"mov"];
NSURL *url_du_film=[NSURL fileURLWithPath:chemin_du_film];
NSMovie *film=[[NSMovie alloc] initWithURL:url_du_film byReference:NO];

ou plus simplement :

NSMovie *film=[[NSMovie alloc] initWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"MonFilm" ofType:@"mov"]] byReference:NO];

.