begin process at 2012 05 26 17:47:26
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

Contrôle de plusieurs vidéos - AS 3.0


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Contrôle de plusieurs vidéos - AS 3.0

lundi 27 avril 2009 à 23:13:39 | Contrôle de plusieurs vidéos - AS 3.0

phobus


Salut à tous,


Voici mon problème :

Je dois réaliser une animation flash sur la base d'une vidéo en green key (donc détourée et importée dans flash avec couche alpha).
Dans cette vidéo, le protagoniste désigne du doigt quatre vignettes (boutons). Chacune de ces vignettes est un lien vers une vidéo correspondant à un thème particulier.
Une fois la vidéo de présentation des vignettes terminée, elle cède la place à une vidéo "d'attente" dans lequel la personne regarde distraitement à gauche et à droite, avant d'inviter l'utilisateur à cliquer sur une vignette s'il n'a pas encore tout visionné.

Pour gérer cela, étant débutant en actionscript, j'ai téléchargé le script "ENCHAINEMENT FLV SANS XML PAR BOUTON AVEC FULLSCREEN+FLVPLAYBACK UNIQUE+AS3" sur Flashkod (http://www.flashkod.com//code.aspx?ID=45710) qui m'a permis, jusqu'à présent, d'afficher toutes les vidéos.

J'ai donc inséré un autre
FLVPlayback (nommé "mainvid") qui lance automatiquement la lecture de la vidéo de présentation et affiche ensuite la vidéo d'attente

Malheureusement, j'ai un souci :

1°) Je souhaiterais qu'après chaque capsule vidéo (vidéos accessibles depuis les vignettes) se lance automatiquement la vidéo "d'attente". Dans le source téléchargé (en actionscript 3.0), chaque bouton "vignette" appelle une fonction de correspondant à la capsule que l'on veut visionner. Voici une partie du code :

mainvid.play("flv/presentation_vignettes.flv")

but1.addEventListener(MouseEvent.CLICK, c1);

function c1 (pEvt:Event):void
{   
    player.visible=true; // player est le FLVPlayback des vidéos "capsule" donc des vidéos accessibles par les vignettes
    mainvid.visible=false; // mainvid est le FLVPlayback de la vidéo de présentation et de la vidéo d'attente qu'on arrête pour lancer la capsule sélectionnée.
    mainvid.stop();
    player.play("flv/capsule1.flv");
  }
mainvid.addEventListener("complete", attente);
function attente (pEvt:Event):void
{
    mainvid.play("flv/attente.flv");
}



Comment peut-on, à partir de la fonction c1, détecter la fin de la vidéo du composant "player" et commander la lecture de celle du composant "mainvid" via la fonction attente

Quelqu'un peut-il m'aider sivoplé ?






mardi 28 avril 2009 à 11:59:58 | Re : Contrôle de plusieurs vidéos - AS 3.0

Girou

Membre Club
Bonjour,

pas sur que ca va aider, mais utilise plutot les constantes pour les Event video (comme tu le fais pour MouseEvent)

mainvid.play("flv/presentation_vignettes.flv")

but1.addEventListener(MouseEvent.CLICK, c1);

function c1 (pEvt:
MouseEvent):void
{   
    player.visible=true; // player est le FLVPlayback des vidéos "capsule" donc des vidéos accessibles par les vignettes
    mainvid.visible=false; // mainvid est le FLVPlayback de la vidéo de présentation et de la vidéo d'attente qu'on arrête pour lancer la capsule sélectionnée.
    mainvid.stop();
    player.play("flv/capsule1.flv");
  }
//mainvid.addEventListener("complete", attente);
player.addEventListener(videoEvent.COMPLETE, attente);

function attente (pEvt:videoEvent):void
{
    mainvid.play("flv/attente.flv");
}


@+

signature not found
mardi 28 avril 2009 à 12:17:37 | Re : Contrôle de plusieurs vidéos - AS 3.0

phobus


J'ai fait la modif.

C'est certainement meilleur au niveau du code, mais malheureusement, ça ne résout pas mon problème.
A la compilation, Flash me dit : "TypeError: Error #1010: Un terme n'est pas défini et n'a pas de propriété."

J'imagine que cela est dû au fait qu'il ne reconnait pas le composant player en dehors de des fonctions dans lesquelles il est utilisé. Je ne parviens pas à trouver un moyen pour que player soit également accessible en dehors de ces fonctions "boutons".

D'autres idées ?
mardi 28 avril 2009 à 12:25:33 | Re : Contrôle de plusieurs vidéos - AS 3.0

Girou

Membre Club

player.visible=true

tu as bien défini une variable player avant le bourt de code que tu nous propose, ou bien c'est une référence direct au nom d'occurence de ton FLVPlayback ?



@+

signature not found
mardi 28 avril 2009 à 12:57:06 | Re : Contrôle de plusieurs vidéos - AS 3.0

phobus

Merci de tes réponses !

En fait, le code que j'ai posté se trouve dans le calque "boutons".

Dans un autre calque, appellé player, se trouve ce que je pense être la définition de player ainsi que des paramètres concernant sa position x et y, sa taille et d'autres paramètre comme addchild(player) (et celui là, j'avoue que je n'y comprends rien, même après avoir consulté l'aide de Flash).

Voici le code en question :

//on importe la classe fl.video.*
//pour la prise en charge des attributs vidéo
import fl.video.*;
//création de l'objet flvplayback
var player = new FLVPlayback();
//emplacement du player
player.x = 10;
player.y = 10;
//dimension du player
player.width = 320;
player.height = 280;
//generation de l'occurence 'player' pour l'actionscript
addChild(player);
//skin du player
//(il doit etre exporter ou coller dans le meme repertoire
player.skin = "SkinUnderAll.swf"
//skin disparait= vrai-faux(true,false)
player.skinAutoHide= true;
//player demarre = vrai-faux(true,false)
player.autoPlay= false;
//player visible = vrai-faux(true,false)
player.visible=false;

A noter cependant que le composant mainvid que j'utilise dans le script se trouvant sur le calque bouton n'a pas été défini préalablement comme l'a été player mais qu'il fonctionne à la fois dans le programme principal et dans les fonctions. mainvid est donc le nom d'occurence de mon FLVPlayback que j'ai glissé sur la scène.

Désolé de ne pas avoir pensé à faire ces précisions plus tôt, en fait. Je suppose que c'est important.

player semble donc s'éteindre en sortie de fonction. Je suppose que si je parvenais à le faire coexister en fin de fonction avec mainvid, je pourrais alors utiliser addEventListener pour écouter player et déterminer la fin de la vidéo, ce qui enchainerait ensuite la vidéo "attente" dans mainvid.


mardi 28 avril 2009 à 13:11:41 | Re : Contrôle de plusieurs vidéos - AS 3.0

Girou

Membre Club
"Dans un autre calque, appellé player, se trouve ce que je pense être la définition de player ainsi que"

Ce calque 'player' doit se trouver au même niveau que le calque 'boutons' voir même regrouper les 2 script dans un même calque.

Effectivement, si on fais référence à player (player.addEventListener(videoEvent.COMPLETE, attente);)
avant de l'avoir défini on ava avoir ce type de message d'erreur

@+

signature not found
mardi 28 avril 2009 à 13:21:25 | Re : Contrôle de plusieurs vidéos - AS 3.0

phobus

En fait, je viens de faire un test pour essayer de comprendre.

Si j'appelle player sans passer par une des fonctions (c1 par exemple) en faisant ceci :

player.visible=true;
player.play("flv/presentation.flv");

A la compilation, flash me dit aussi "Un terme n'est pas défini et n'a pas de propriété.".

Du coup, je crois que je n'ai absolument rien compris à la création d'objet, puisque je ne vois rien dans le code qui fasse la différence entre l'appel d'une occurence dans le programme principal et celui d'un objet qui ne fonctionne pas dans le programme principal, mais fonctionne après appel d'une fonction avec un intermédiaire de type addEventListener.

Quoi qu'il en soit, j'ai modifié mon code en n'utilisant plus que l'occurence (FLVPlayback) mainvid avec les url de chaque vidéo. Là, ça fonctionne.

mainvid.play("flv/presentation_vignettes.flv")

but1.addEventListener(MouseEvent.CLICK, c1);

function c1 (pEvt:
MouseEvent):void
{   
mainvid.visible=false;// On masque la vidéo en cours de lecture
mainvid.stop; // Et on arrête sa lecture   
mainvid.visible.play("flv/capsule1.flv"); // On lance la lecture de la vidéo correspondant à notre bouton 1
  }

// Maintenant, le addEventListener détecte la fin de la vidéo et appelle la fonction "attente" ...
mainvid.addEventListener(videoEvent.COMPLETE, attente);

// ... qui balance la vidéo d'attente,jusqu'à ce que l'utilisateur décide de cliquer sur une autre vidéo ou quitte la page
function attente (pEvt:videoEvent):void
{
    mainvid.play("flv/attente.flv");
}


Mais je me dis que c'est un peu trop simple. Si dans le script original, l'auteur utilise des objets plutôt que des occurences, c'est pour une bonne raison, je suppose, non ?

Merci d'avance pour ton avis
mardi 28 avril 2009 à 13:26:14 | Re : Contrôle de plusieurs vidéos - AS 3.0

Girou

Membre Club
Ben si ça marche pour ce que tu souhaite en faire... pourquoi se casser la tête d'avantage

N'ayant jamais utiliser le composant FLVPlayback, je n'ai pas vraiment d'avis (pertinent) sur la question

@+

signature not found
mardi 28 avril 2009 à 14:27:10 | Re : Contrôle de plusieurs vidéos - AS 3.0

phobus

Oui, c'est probablement vrai...

Ceci dit, est-ce que tu pourrais m'expliquer ce qui fait que player (contenant un objet donc) ne fonctionne que quand il est appelé dans la fonction c1 ?

Je pense que si j'arrive à comprendre ça, j'aurai au moins une notion sur l'utilisation des variables d'objet.


Cette discussion est classée dans : vidéo, flv, vidéos, vignettes, mainvid


Répondre à ce message

Sujets en rapport avec ce message

Parametrer FLV [ par nale_r ] Bonjour !Quelqu'un pourrait m'expliquer comment paramétrer un flv vidéo pour qu'il tourne en boucle svp ?J'explique le contexte:Je voudrais mettre en convertir une vidéo e flv [ par heartbreaking ] Bonour le monde je souhaite  faire une application web qui gérer les vidéos et là j'aimerai bien pouvoir convertir les vidéos que les utilisateurs aur Lecture de plusieurs vidéos flv en boucle (mosaïque) [ par bofman ] Bonjour, Je tente de créer une espèce de mosaïque de plusieurs vidéos au format flv (24 vidéos exactement). Chaque vidéo est au format carré et elles Sampler vidéo [ par staph217 ] Bonjour à tous...Voili...J'ai un projet à terminer pour demain et là, je suis dans la merde !Je dois réaliser un sampler vidéo.Le but de ce sampler es Vidéos sur animation Flash [ par Yofure ] Bonsoir à tous. D'abord, désolé de poster une question à laquelle des réponses doivent pouvoir être trouvables sur les forums. Seulement, si je la me Problème bizarre player FLV [ par Eynol ] Bonjour, je travaille actuellement sur un site qui propose de visionner des vidéos de restaurants. Tout fonctionne correctement sauf 2 vidéos qui ne help site flash vidéo [ par bugs2011 ] Bonjour, je crée actuellement un site flash pour servir d'interface a un DVD. sur ce DVD on retrouve un dossier vidéo qui contient 5 vidéos. je souha flash et vidéo flv [ par studio73 ] salut, j'ai créer un petit menu en flash pour un dvd. dans ce menu j ai 3 boutons qui doivent déclencher 3 vidéos différentes en flv. chaque boutons p faire défiler plusieurs vidéos avec action script 3 [ par developvbdebut ] Bonjour Je cherche le moyen de faire défiler des vidéos flv automatiquement l'un apres l'autre avec action script 3. Exemple: Une fois que la premi vidéo FLV avec chapitres [ par djonekt ] Bonjour à tous, voila j'ai un projet de reportage en cours et j'aurais voulu faire un player vidéo avec chapitrage pour ce reportage. dans ce style


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,686 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales