IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash Discussion :

[FLASH 8] FLVPlayback -> detecter la fin de lecture ?


Sujet :

Flash

  1. #1
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut [FLASH 8] FLVPlayback -> detecter la fin de lecture ?
    salut,

    comment detecter la fin de lecture d'une video dans le composant FLVPlayback ?
    ya des 10aines d'evenements mais je n'arrive pas a en trouver un qui va m'indiquer que la video est arrivé a la fin
    j'ai essayé state mais il ne ce declenche pas a la fin et pareil pour stopped


    merci

    ------------
    complete ne ce déclenche pas ...

  2. #2
    Membre Expert
    Avatar de jean philippe
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 062
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 062
    Par défaut
    salut
    var listenerObject:Object = new Object();
    listenerObject.complete = function(eventObject:Object):Void {
    // Insertion du code de gestion de l'événement ici.
    };
    my_FLVplybk.addEventListener("complete", listenerObject);

  3. #3
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    quand je pose une question c'est que j'ai fouillé dans la doc avant
    et comme je l'ai indiqué complete n'est pas déclenché a la fin ...

  4. #4
    Membre Expert
    Avatar de jean philippe
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 062
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 062
    Par défaut
    essaie avec un autre .flv

  5. #5
    Membre Expert
    Avatar de jean philippe
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 062
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 062

  6. #6
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    j'ai 15 flv dans mon répertoire de test et ca doit fonctionner avec tous ....

    j'ai trouvé un systeme :
    -un playheadUpdate
    -un setInterval pour controler le playheadUpdate car pour certain FLV totalTime indique 0

    génial, utiliser 2 boucles pour passer d'une vidéo a l'autre automatiquement alors qu'un evenement gratuit en ressource devrait pouvoir le faire seul

  7. #7
    Membre Expert
    Avatar de jean philippe
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 062
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 062
    Par défaut
    Citation Envoyé par Lorenzo77
    car pour certain FLV totalTime indique 0
    réencode tes .flv
    car la méthode "complete" fonctionne très bien

  8. #8
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    dis donc, je t'ai connu plus vif
    tu es en panne de café ce matin ?

    comme je l'ai indiqué précédemment, ca doit fonctionner pour tous (les FLV)
    ya bien des cas ou le re-encodage est impossible ... si des gens envoient des FLV sur un serveur tu peux pas t'amuser a tous les re-encoder sinon tu mets le serveur a genoux !

    donc voici le code que j'ai pondu et ca fonctionne pour tous les FLV meme ceux dont la durée est a 0 et ceux qui ne s'arretent pas exactement a la fin

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    // ----------------------------------------------------
    // VIDEO : Gestion erreur 
    // ----------------------------------------------------
    var obListenener = new Object();
    obListenener.stateChange = function() {
    	trace("state : " + cpFlv.state);
    	switch (cpFlv.state) {
    	case 'loading' :
    		nbNivLecture = 1;
    		break;
    	case 'buffering' :
    		nbNivLecture = 2;
    		break;
    	case 'playing' :
    		nbNivLecture = 3;
    		break;
    		// ------------------
    	case 'connectionError' :
    		trace('le fichier n\'existe pas ??');
    		break;
    	case 'disconnected' :
    		trace('le serveur déconne');
    		break;
    	default :
    		break;
    	}
    };
    obListenener.playheadUpdate = function() {
    	trace("playheadUpdate : " + cpFlv.playheadTime + " / " + cpFlv.totalTime);
    };
    cpFlv.addEventListener("stateChange", obListenener);
    cpFlv.addEventListener("playheadUpdate", obListenener);
    // ------------------
    var nbAnciennePosition = 0;
    function controlFin() {
    	if (nbNivLecture == 3) {
    		if (cpFlv.totalTime !== 0) {
    			if( cpFlv.playheadTime == cpFlv.totalTime ){trace('FINI NORMALEMENT')
    				changeVideo(++nbIdListe);
    			}else if( (cpFlv.totalTime - cpFlv.playheadTime) < 0.15 ){trace('FINI ANORMALEMENT 1')
    				changeVideo(++nbIdListe);
    			}
    		}else{
    			if( nbAnciennePosition == cpFlv.playheadTime ){trace('FINI ANORMALEMENT 2')
    				changeVideo(++nbIdListe);
    			}else{
    				nbAnciennePosition = cpFlv.playheadTime;
    			}
    		}
    	}
    }
    setInterval(controlFin, 500);
    c'est stupide d'etre obligé de faire ca mais ca fonctionne ...


    -----------
    je confirme, complete fonctionne avec un FLV fait avec F8, je viens d'en faire un pour tester

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 9
    Par défaut
    flvtools2 !
    Permet entre autre de générer les métas basiques de durée, taille, etc.

Discussions similaires

  1. detection de fin de session
    Par elan_gi dans le forum Langage
    Réponses: 18
    Dernier message: 23/06/2006, 12h39
  2. iterator.end() ne detecte pas fin de la string
    Par cyclone3 dans le forum C++
    Réponses: 27
    Dernier message: 12/06/2006, 10h13
  3. [Débutant][ThreadGroup] Détecter la fin de toutes les tâches
    Par onlytoine dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 19/09/2005, 10h47
  4. Detecter la fin d'un ecran de veille
    Par fredderf dans le forum MFC
    Réponses: 12
    Dernier message: 13/06/2005, 17h08
  5. [FLASH MX] Ouverture page web à la fin de l'animation
    Par claudyyyyy dans le forum Flash
    Réponses: 4
    Dernier message: 26/05/2004, 14h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo