on_drag_on
Messages postés1236Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention 6 octobre 2010
-
7 mai 2009 à 23:41
cs_lanner
Messages postés131Date d'inscriptionsamedi 16 avril 2005StatutMembreDernière intervention 8 avril 2015
-
30 oct. 2010 à 20:54
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_lanner
Messages postés131Date d'inscriptionsamedi 16 avril 2005StatutMembreDernière intervention 8 avril 2015 30 oct. 2010 à 20:54
Salut
Vous avez un exemple d'implémentation sur une page html ?
Merci
on_drag_on
Messages postés1236Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention 6 octobre 2010 27 mai 2009 à 10:41
Non je n'ai pas adapté cette source pour visualiser un flux rmtp, je pense que google pourras t'en dire plus. Ici la source charge du flv vu que j'ai utiliser un composant FLVPlayback, je suis en train de réadapter cette source sans composant, avec la classe Video, pour qu'on puisse également lire du mp4 (H264) mais ce sera pour dans quelques semaines ....
@+.
ninjafury
Messages postés19Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention 9 mai 2010 26 mai 2009 à 09:58
merci pour cette source, celà correspond à ce que je cherchais, continue commé celà, beau travail.
est ce que tu as essayé de l'adapter pour visualiser un flux rtmp, étant newbie sur flash, j'ai essayé de suivre les docs adobe mais j'avoue mon incompétence dans ce domaine.
je vais bien étudié tes sources et essayé de l'adapté sur mon site pour pouvoir enfin faire ce que j'essaye de faire depuis 3 mois.
merci encore
on_drag_on
Messages postés1236Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention 6 octobre 2010 12 mai 2009 à 21:31
Et je viens de tester un mp4 en fullscreen, la qualité est juste impressionnante !!!
on_drag_on
Messages postés1236Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention 6 octobre 2010 12 mai 2009 à 21:26
Ah ben voilà, j'ai juste jeter un coup d'oeil aux sources dispos sur le 1er lien cité plus haut et il s'avère que pour lire un mp4 en Flash il suffit d'utiliser la norme d'encodage H264, pour le reste ben un objet de classe Video() , NetStream() et NetConnetion. C'est absolument pareil que pour un FLV, vu que c'est le player (9 minimum) qui gère le codec. Donc d'ici une a deux semaines ma source revue et corrigée sans ce G*ç""&%ç de composant FLVPlayback qui m'apporte de toutes façons que des problèmes inutiles.
Voilà ;)
gremlins7
Messages postés380Date d'inscriptionmardi 29 avril 2003StatutMembreDernière intervention28 décembre 2009 12 mai 2009 à 19:15
Je te l'accorde, ça surcharge le code...cependant tu choisi pas toujours le nom des variables, surtout si tu réutilise le code de quelqu'un d'autre. Et là, je t'assure que lorsque tu passe des heures à chercher une erreur tout ça parceque t'as pas mis this, ben après tu fait un effort pour le mettre à chaque fois...
stefbuet
Messages postés576Date d'inscriptionmercredi 5 janvier 2005StatutMembreDernière intervention12 mai 2009 12 mai 2009 à 18:39
A part pour pointer une variable locale, on utilise this que pour des callbacks (ou tout accès à l'objet pointé en retour)...
Je n'ai pas pensé à ce cas la, car je n'utilise pas strictement les même noms de paramètres et de variables dans une classe :s c'est assez embrouillant en effet et on pourrait même aller un peu plus loin...
package toto {
class toto {
private var toto:toto;
private function f(toto:toto):toto { ... }
}
}
Je rajoute un $ devant les noms de paramètres pour les différencier.
Rajouter un this à chaque ligne sa surcharge trop le code, je suis contre quand ce n'est pas nécessaire.
Stef.
on_drag_on
Messages postés1236Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention 6 octobre 2010 12 mai 2009 à 15:58
@Stefbuet,
Tiens j'ai trouvé 2 liens intéressants,
Je regarderais ça la semaine prochaine ... :)
gremlins7
Messages postés380Date d'inscriptionmardi 29 avril 2003StatutMembreDernière intervention28 décembre 2009 12 mai 2009 à 11:50
Salut,
moi je suis pour mettre systematiquement les this, car non seulement on sait si la variable est une propriètés de la classe, mais ça permet d'éliminer certaine erreur de nom de variable ou de nom de fonction. Dire que la seule utilité de this est de pouvoir être passé en callback est une abberation stef. Ca signifie que tu n'est pas encore tout a fait familiarisé avec la POO. Voici le cas le plus simple :
private var toto:int;
public function fct(toto:int):void
{
this.toto = toto;
}
ici j'ai mis vonlontairement le même nom de variable pour montrer l'interet
stefbuet
Messages postés576Date d'inscriptionmercredi 5 janvier 2005StatutMembreDernière intervention12 mai 2009 11 mai 2009 à 23:09
Hello,
Est-ce que l'égalité stricte ne serait pas plus coûteuse en temps de calcul qu'une simple égalité? En plus de vérifier une valeur, il faut vérifier un type. Si quelqu'un a déjà fait des tests...
Pour le this, je ne comprend pas le problème. Normalement sa principale utilité (seule?) est d'être passé en paramètre pour spécifier un callback, mais pas vraiment pour faire jolie :o
Stef.
skconcept
Messages postés11Date d'inscriptionlundi 9 octobre 2006StatutMembreDernière intervention11 mai 2009 11 mai 2009 à 19:44
Merci pour votre source. Je ne suis pas connaisseur donc ne pourrai apporter aucune remarque technique. Néanmoins merci pour votre partage avec les non initiés comme moi pour les aider à essayer de comprendre.
faiblard
Messages postés337Date d'inscriptionsamedi 3 février 2007StatutMembreDernière intervention 4 janvier 2011 11 mai 2009 à 18:52
"Est-ce que tu penses que ça améliorerait les perfs ? ... Je continue d'étudier ça."
pour les this ça n'améliore pas les perfs mais certain trouvent ça plus lisible car on sais de suite que c'est un membre de la classe
Pour les fonctions Fwd et Rew : Tu fais qu'un fonction avec différent paramètres... Après faut réfléchir a comment faire :)
Effectivement j'avais pas vu que tu décrémenté le inc... Erreur de ma part :)
Pour les égalités strict : cela est sensé être plus performants en AS3 mais cela permet surtout de vérifier la valeur et le type de la variable testé ce qui rend le code plus robuste.
on_drag_on
Messages postés1236Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention 6 octobre 2010 11 mai 2009 à 18:43
Hello Faiblard,
Merci pour ton commentaire.
:)
- Pour le this il semblerait de ce que j'ai pu voir que plus personne l'utilise dans les classes AS3, mais bon là je ne suis sûr de rien, c'est ma première classe et j'ai encore de la peine à saisir les notions de local, global, private et public.
Est-ce que tu penses que ça améliorerait les perfs ? ... Je continue d'étudier ça.
- Pour les fonctions Fwd et Rew, en effet on m'a déjà suggérer de faire qu'une seule fonction. Mais en fait c'est pas si simple que ça vu qu'il y a deux boutons ... , à moins qu'on puisse se référer à un objet en disant "si c'est tel objet qui est pressé fais ceci, sinon ..." .
.. Mmh , je vais encore y réfléchir ...
- Désolé pour le ; c'est corrigé pour la prochaine Màj. Pour le nom du String, en effet un nom plus explicite serait : var nodeXML, c'est corrigé également.
Pour la la ligne: "player.play(xml.elements()[inc].@stream);" , non ce n'est pas la même que string.
Ici "inc" prend la valeur de la décrémentation en cours, si la décrémentation = 0, (soit nodeXML:String), alors on la stop .
C'est peut-être pas la meilleur façon de procéder remarque, si t'as une meilleure idée ...
_ Pour l'égalité stricte, jamais utilisé donc j'y avait pas pensé, j'imagine que tu la propose parce que ça améliorerait la solidité de la fonction, c'est ça ?
La fonction volume est mal foutue pour l'instant, je te l'accorde également, je finis de corrigé mon fullscreen et je m'y attèle ... :)
@+
faiblard
Messages postés337Date d'inscriptionsamedi 3 février 2007StatutMembreDernière intervention 4 janvier 2011 11 mai 2009 à 10:52
Après une première lecture rapide :
Il serait préférable de mettre les this. devant les membres de la classe (ça fait quelque carac en plus mais on sais de suite si c'est une variable local ou non...)
Je pense que l'on peu en réfléchissant un peu regrouper en partie les fonction Fwd et Rew le code étant très proche même dans ton exemple...
(a part le else qui est légèrement différent dans les 2 mais on doit pouvoir regrouper...)
de plus dans functionRew :
(un ; a la fin de var string et un nom plus explicite serais pas de refus)
var string:String = (xml.elements()[inc].@stream)
if (string != (xml.elements()[0].@stream))
{
inc--;
player.play(xml.elements()[inc].@stream);
Pourquoi va tu rechercher xml.elements()[inc].@stream sur la ligne ci dessus? ce n'est pas la même que contenu dans string?
Pourquoi ne pas passez au égalité/inégalité stricte? (=== et !==)
Utilité de cette ligne : Si c'est = a 0 on assigne 0... de même légèrement au dessus (dans le code) mais avec 10
if (sf.volume == 0)
{
sf.volume = 0;
}
on_drag_on
Messages postés1236Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention 6 octobre 2010 9 mai 2009 à 22:37
Donc cette source a son intérêt c'est un fait. Ce qui serait en revanche intéressant de savoir c'est "est-ce qu'elle est bien codée" et "que pourrais-t-on optimiser".
Ça aurait été plus profitable d'avoir ton avis sur ces points là.
on_drag_on
Messages postés1236Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention 6 octobre 2010 9 mai 2009 à 22:26
Si c'est une critique et elle est pas valable. Des lecteurs FLV et codé proprement en AS3 y en a pas tant que ça et y en a encore pas sur Flashkod ! Par contre il est certain que je vais l'améliorer petit à petit. J'ai déjà fait quelques corrections mais j'attends de voir si un commentaire constructif m'incitera à en faire d'autres avant la MàJ.
stefbuet
Messages postés576Date d'inscriptionmercredi 5 janvier 2005StatutMembreDernière intervention12 mai 2009 9 mai 2009 à 19:22
Salut,
Bien. Donc ton player peut lire les vidéos FLV. Le truc, c'est que des players FLV on en trouve quand même en quantité enorme sur le net, et pas que des codes sales baclés. Je pense qu'au lieu de refaire toujours et encore la même chose (c'est pas une critique hein) il serait bon d'aller de l'avant. Par exemple ça serait simpatique si un player Flash pouvait lire du Mpeg! En plus, un lecteur Mpeg en Flash serait une première!
Stef.
on_drag_on
Messages postés1236Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention 6 octobre 2010 8 mai 2009 à 01:17
Ah lalal ! Comme il est vilain !
En effet j'y avais pensé au lors du codage du chargement pi je me suis perdu dans mes différentes fonctions et du coup j'ai complètement oublié :=D !!
30 oct. 2010 à 20:54
Vous avez un exemple d'implémentation sur une page html ?
Merci
27 mai 2009 à 10:41
@+.
26 mai 2009 à 09:58
est ce que tu as essayé de l'adapter pour visualiser un flux rtmp, étant newbie sur flash, j'ai essayé de suivre les docs adobe mais j'avoue mon incompétence dans ce domaine.
je vais bien étudié tes sources et essayé de l'adapté sur mon site pour pouvoir enfin faire ce que j'essaye de faire depuis 3 mois.
merci encore
12 mai 2009 à 21:31
12 mai 2009 à 21:26
Voilà ;)
12 mai 2009 à 19:15
12 mai 2009 à 18:39
Je n'ai pas pensé à ce cas la, car je n'utilise pas strictement les même noms de paramètres et de variables dans une classe :s c'est assez embrouillant en effet et on pourrait même aller un peu plus loin...
package toto {
class toto {
private var toto:toto;
private function f(toto:toto):toto { ... }
}
}
Je rajoute un $ devant les noms de paramètres pour les différencier.
Rajouter un this à chaque ligne sa surcharge trop le code, je suis contre quand ce n'est pas nécessaire.
Stef.
12 mai 2009 à 15:58
Tiens j'ai trouvé 2 liens intéressants,
Je regarderais ça la semaine prochaine ... :)
http://www.adobe.com/devnet/flashplayer/articles/hd_video_flash_player.html
http://labs.adobe.com/wiki/index.php/Flash_Player:9:Update:H.264#Getting_Started_Tutorial
@+
12 mai 2009 à 11:50
moi je suis pour mettre systematiquement les this, car non seulement on sait si la variable est une propriètés de la classe, mais ça permet d'éliminer certaine erreur de nom de variable ou de nom de fonction. Dire que la seule utilité de this est de pouvoir être passé en callback est une abberation stef. Ca signifie que tu n'est pas encore tout a fait familiarisé avec la POO. Voici le cas le plus simple :
private var toto:int;
public function fct(toto:int):void
{
this.toto = toto;
}
ici j'ai mis vonlontairement le même nom de variable pour montrer l'interet
11 mai 2009 à 23:09
Est-ce que l'égalité stricte ne serait pas plus coûteuse en temps de calcul qu'une simple égalité? En plus de vérifier une valeur, il faut vérifier un type. Si quelqu'un a déjà fait des tests...
Pour le this, je ne comprend pas le problème. Normalement sa principale utilité (seule?) est d'être passé en paramètre pour spécifier un callback, mais pas vraiment pour faire jolie :o
Stef.
11 mai 2009 à 19:44
11 mai 2009 à 18:52
pour les this ça n'améliore pas les perfs mais certain trouvent ça plus lisible car on sais de suite que c'est un membre de la classe
Pour les fonctions Fwd et Rew : Tu fais qu'un fonction avec différent paramètres... Après faut réfléchir a comment faire :)
Effectivement j'avais pas vu que tu décrémenté le inc... Erreur de ma part :)
Pour les égalités strict : cela est sensé être plus performants en AS3 mais cela permet surtout de vérifier la valeur et le type de la variable testé ce qui rend le code plus robuste.
11 mai 2009 à 18:43
Merci pour ton commentaire.
:)
- Pour le this il semblerait de ce que j'ai pu voir que plus personne l'utilise dans les classes AS3, mais bon là je ne suis sûr de rien, c'est ma première classe et j'ai encore de la peine à saisir les notions de local, global, private et public.
Est-ce que tu penses que ça améliorerait les perfs ? ... Je continue d'étudier ça.
- Pour les fonctions Fwd et Rew, en effet on m'a déjà suggérer de faire qu'une seule fonction. Mais en fait c'est pas si simple que ça vu qu'il y a deux boutons ... , à moins qu'on puisse se référer à un objet en disant "si c'est tel objet qui est pressé fais ceci, sinon ..." .
.. Mmh , je vais encore y réfléchir ...
- Désolé pour le ; c'est corrigé pour la prochaine Màj. Pour le nom du String, en effet un nom plus explicite serait : var nodeXML, c'est corrigé également.
Pour la la ligne: "player.play(xml.elements()[inc].@stream);" , non ce n'est pas la même que string.
Ici "inc" prend la valeur de la décrémentation en cours, si la décrémentation = 0, (soit nodeXML:String), alors on la stop .
C'est peut-être pas la meilleur façon de procéder remarque, si t'as une meilleure idée ...
_ Pour l'égalité stricte, jamais utilisé donc j'y avait pas pensé, j'imagine que tu la propose parce que ça améliorerait la solidité de la fonction, c'est ça ?
La fonction volume est mal foutue pour l'instant, je te l'accorde également, je finis de corrigé mon fullscreen et je m'y attèle ... :)
@+
11 mai 2009 à 10:52
Il serait préférable de mettre les this. devant les membres de la classe (ça fait quelque carac en plus mais on sais de suite si c'est une variable local ou non...)
Je pense que l'on peu en réfléchissant un peu regrouper en partie les fonction Fwd et Rew le code étant très proche même dans ton exemple...
(a part le else qui est légèrement différent dans les 2 mais on doit pouvoir regrouper...)
de plus dans functionRew :
(un ; a la fin de var string et un nom plus explicite serais pas de refus)
var string:String = (xml.elements()[inc].@stream)
if (string != (xml.elements()[0].@stream))
{
inc--;
player.play(xml.elements()[inc].@stream);
Pourquoi va tu rechercher xml.elements()[inc].@stream sur la ligne ci dessus? ce n'est pas la même que contenu dans string?
Pourquoi ne pas passez au égalité/inégalité stricte? (=== et !==)
Utilité de cette ligne : Si c'est = a 0 on assigne 0... de même légèrement au dessus (dans le code) mais avec 10
if (sf.volume == 0)
{
sf.volume = 0;
}
9 mai 2009 à 22:37
Ça aurait été plus profitable d'avoir ton avis sur ces points là.
9 mai 2009 à 22:26
9 mai 2009 à 19:22
Bien. Donc ton player peut lire les vidéos FLV. Le truc, c'est que des players FLV on en trouve quand même en quantité enorme sur le net, et pas que des codes sales baclés. Je pense qu'au lieu de refaire toujours et encore la même chose (c'est pas une critique hein) il serait bon d'aller de l'avant. Par exemple ça serait simpatique si un player Flash pouvait lire du Mpeg! En plus, un lecteur Mpeg en Flash serait une première!
Stef.
8 mai 2009 à 01:17
En effet j'y avais pensé au lors du codage du chargement pi je me suis perdu dans mes différentes fonctions et du coup j'ai complètement oublié :=D !!
Donc à ajouter aux écouteurs:
xmlLoader.addEventListener(IOErrorEvent.IO_ERROR, functionIOError);
Et y associé la fonction:
function functionIOError(event:IOErrorEvent):void {
xmlLoader.removeEventListener(IOErrorEvent.IO_ERROR, functionIOError);
removeChild( xmlLoader);
}
Sans oublié d'importer la classe :
import flash.errors.IOError;
Voilà :=)
8 mai 2009 à 00:30
je n'ai pas encore regardé le code mais déjà je peux te dire que tu as oublié de gérer les erreurs IO sur ton chargement XML :p
Stef.
7 mai 2009 à 23:41
Merci à Gremlins7 et Peg de Flashkod et Dada et Monz de Mediabox pour les coups de pouce !