Forums Développement Multimédia

Aller au contenu

[AS3] Bouton qui lance une vidéo (.flv) ✔

video flv AS3 CODE Actionscript

7 réponses à ce sujet

#1 Xari

    Ceinture Blanche

  • Members
  • Pip
  • 14 messages

Posté 03 February 2012 - 22:44 PM

Bonsoir !

Je suis débutant en flash, mais j'ai de bonnes connaissances en programmation (java/C++)


Je cherche à faire un truc qui me parait simple, mais pourtant je n'arrive pas à me renseigner comment faire.
Je souhaite faire un bouton qui, lorsqu'on clique dessus, fait apparaitre une vidéo à un endroit donné sur mon animation, la vidéo est ensuite automatiquement jouée, puis lorsque la vidéo est terminée, elle disparait.

J'ai essayé d'importer directement un .flv dans ma bibli, puis d'utiliser tant bien que mal un FLVPlayback mais je n'ai pas vraiment compris comment cela fonctionnait ^^'.
J'ai également essayé de faire un MovieClip contenant ma vidéo, mais là encore, je suis vite bloqué. De plus en faisant comme ça l'animation mettait très longtemps à se charger :/.

Alors quand je positionne mon FLVPlayback au départ, lorsque je lance l'animation, la vidéo est bien jouée, mais je voudrais qu'elle ne soit jouée que si j'appuie sur le bouton et ensuite, quand la vidéo s'arrête, il reste un carré grisé à l'endroit de la vidéo, j'aimerais qu'il disparaisse également ^^.

Si vous pouviez juste me donner des pistes à creuser : ).

Merci d'avance !.

#2 Vanessss

    Ceinture Blanche

  • Members
  • Pip
  • 14 messages

Posté 03 February 2012 - 23:10 PM

Hello,

Pour lire tu peux faire comme ça - Tu crée déjà un clip conteneur (dans mon code il a comme nom d’occurrence "controleur") et à l'intérieur tu ajoutes un clip "ecran". Tu pourras ajuster la taille de ton clip écran à la taille de la vidéo.

Ensuite, voilà le code à mettre sur ta scène principale :

// Créer une conexion avec le constructeur NetConnection
var seConnecter:NetConnection = new NetConnection();
// Création d'une connection "locale" (donc null) streamée
seConnecter.connect(null);
// Création d'un objet NetStream
var unFlux:NetStream = new NetStream(seConnecter);
//Meta data
unFlux.client=this;
//Gestion erreur
unFlux.addEventListener(AsyncErrorEvent.ASYNC_ERROR, siErreur);
//Jouer et interrompre la lecture (lien vers dossier contenant la vidéo)
unFlux.play("videos/video1.flv");

//temps de la vidéo
var tempsTotal:Number=0;
function siErreur(e:AsyncErrorEvent):void {
    // ignorer une erreur
}
// Initialisation de l'écran de visualisation
//support pour visualiser la vidéo
var ecran:Video = new Video();
//j'assosie le flux à l'écran
ecran.attachNetStream(unFlux);
//je place l'écran
controleur.addChild(ecran);
//position de l'écran sur la scène
ecran.x =-17;
ecran.y=8;
//taille de l'écran
ecran.width= 300;
ecran.height= 208;

//Pour remettre à 0 la vidéo
//Arrêt de la lecture
function remiseAZero():void {
    //position
    unFlux.pause();
    //replacement de la tête de lecture en début du fichier
    unFlux.seek(0);
    lire.visible=true; //pour le bouton lire
}

unFlux.addEventListener(NetStatusEvent.NET_STATUS, quelStatus);
function quelStatus(e:NetStatusEvent):void {
    // Si la vidéo a fini d'être lue
    if (e.info.code == "NetStream.Play.Stop") {
        // Revenir au point de départ
        remiseAZero();
    }
}
 

Si tu veux faire un bouton tu fais un truc du genre :

lire.addEventListener(MouseEvent.CLICK, pourLire);
function pourLire(e:MouseEvent):void {
//Récupérer la position de la lecture
unFlux.resume();
//Je desactive le bouton
lire.visible=false;
}
 

J'espère ça pourra t'aider.

#3 Xari

    Ceinture Blanche

  • Members
  • Pip
  • 14 messages

Posté 04 February 2012 - 01:22 AM

Re-bonsoir,

tout d'abord merci pour ton aide : ) !


Alors j'ai quelques questions :

► Quand tu dis "à l'intérieur tu rajoutes le clip "ecran" il y a une manipulation à faire ou c'est juste histoire de dire que les deux clips sont superposés sur la scène ?
► Pour le chemin de la vidéo que je veux lire, je peux prendre un chemi absolu ? Avoir ça par exemple :
 unFlux.play("C:\Users\blabla\Desktop\vid.flv");

► J'ai repris ton code dans les grandes lignes malheureusement, quand je compile, j'obtiens ça :
TypeError: Error #1034: Echec de la contrainte de type : conversion de flash.display::MovieClip@2879b0b1 en flash.media.Video impossible.
        at flash.display::Sprite/constructChildren()
        at flash.display::Sprite()
        at flash.display::MovieClip()
        at bara_flash_v3_fla::MainTimeline()


En tout cas je suis déjà plus éclairé sur la question ^^.

#4 Vanessss

    Ceinture Blanche

  • Members
  • Pip
  • 14 messages

Posté 04 February 2012 - 08:45 AM

Coucou,

Petit exemple en pièce jointe.

Bonne journée !!

Fichier(s) joint(s)



#5 Xari

    Ceinture Blanche

  • Members
  • Pip
  • 14 messages

Posté 04 February 2012 - 14:22 PM

Bonjour,

merci beaucoup !
Grâce à ton exemple, j'ai réussi à faire ce que je voulais ! C'est parfait :P.

#6 Xari

    Ceinture Blanche

  • Members
  • Pip
  • 14 messages

Posté 04 February 2012 - 20:24 PM

A supprimer, bêtise de ma part !

#7 sweety1966

    Ceinture Blanche

  • Members
  • Pip
  • 3 messages

Posté 28 May 2013 - 08:28 AM

Bonjour, je suis entrain de créer une page en flash 8 et je souhaiterai à partir d'un bouton appeler une vidéo flv. Et je n'y arrive pas ...
Si quelqu'un avait une petite idée pour que cela fonctionne,



Je vous mets un .fla crée sous CS3 mais enregistrer en 8 comme tout le reste de mon travail sur ce thème.
Ps : mes deux fichiers vidéos de trouve dans le dossier principal, à la racine; dossier nommé : videos
les fichiers en questions:
video1.flv taille : 352 x 288
video2.flv taille : 352 x 288

Fichier joint  essai.fla   38.5 Ko   4 téléchargement(s)

Merci d'avance

#8 sweety1966

    Ceinture Blanche

  • Members
  • Pip
  • 3 messages

Posté 28 May 2013 - 08:41 AM

:oops: oups, désolée, je viens de m'apercevoir que lorsque que j'ai créée la page essai.fla pour demander un peu d'aide sur ce forum, j'avais oublier de poser le clip nommé ecran en haut de page, position : y=0 x=0
En pièce jointe le bon .fla

Fichier joint  essai.fla   39 Ko   6 téléchargement(s)



1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)

authorised training centre

Centre de Formation Mediabox - Adobe et Apple Authorised Training Center.

Déclaré auprès de la Direction du Travail et de la Formation Professionnelle

Mediabox : SARL au capital de 62.000€ - Numéro d'activité : 11 75 44555 75 - SIRET : 49371646800035

MEDIABOX, 23, rue de Bruxelles, 75009 PARIS

FFP