Aide - Recherche - Membres - Calendrier
Version complète : Flash player 10
Centre de Formation Flash - Forums Adobe Flash > Rich media et intégration > Intégration HTML
Rollingbox
Bonjour,

Je voudrais savoir si certains d'entres vous ont eu des problèmes sur leurs players Flash ou autre animations flash depuis l'installation de flash player 10?

En ce qui me concerne, j'ai deux players vidéo et audio qui, depuis que j'ai installé FP10 sur mon poste, buggent totalement.

Mon lecteur vidéo ne récupère plus toutes les Flashvars et lis les sources vidéos qu'il veut, mon lecteur Audio charge tout bien mais ne veut plus lire les sources audio...

Je suis un peu dégouté, voir beaucoup puisque j'ai mis longtemp à développer mes lecteurs et je ne les ai terminé qu'il n'y a peu de temps.

Peut-être quelqu'un a entendu parlé de ce genre de problème et des solutions qui pourraient s'y rattacher?

En ce qui concerne le dev de mes player, ils sont tous deux en AS3.

Merci d'avance à ceux qui auront quelques pistes à fournir, à part de celle de Google que j'ai bien entendu utilisée et vais continuer à utiliser.

A plus.

Rollingbox
En fait je viens de faire une tour sur Google Vidéo et je viens de me rendre compte que les vidéos ne se lisent pas non plus. Le problème ne concerne don cpas le développement de mes lecteurs mais plutôt l'installation de FLash player 10.

Est-ce que d'autres personnes ont ce probleme, c'est à dire que Flash lis la vidéo pendant 2 sec puis s'arrête?
jeanphilippe
salut
j'ai la version : 10,0,12,36 et n'ai pas de soucis de videos icon_sad.gif
Rollingbox
Bonjour Jean Philippe,

C'est plutôt étrange...

Avec IE7, Je vais sur Google Vidéo, je lis une vidéo, il la lit pendant 2 sec puis s'arrête...
Avec FF, je lis la même vidéo, tout fonctionne correctement.

Ensuite je vais sur un des blog de mon site en construction. Sur la page d'accueil du blog se trouve
deux lecteurs, un audio et un vidéo. Il ne lit aucune source audio ou vidéo avec IE ou FF.

Par contre lorsque je vais sur la page vidéos du blog, il lit bien la vidéo avec FF ou IE, alors que sur
la page musiques, il ne lit rien du tout...

Pour info, la page d'accueil du blog comporte deux lecteur, la page vidéos un seul lecteur et la page musique
un seul lecteur...

Je ne comprend plus rien... là... NO RULES!!!

Lorsque j'avais Flash player 9 tout fonctionnait...
Rollingbox
Ah oui Jean Philippe, j'ai la même version de Flash Player que toi.

J'ai retiré mon player audio de la page d'accueil du blog et la vidéo fonctionne. J'en conclut donc qu'il y a un probleme
entre FLash Player 10 et mon Lecteur mais lequel? Là ça va être dur de le savoir... icon_sad.gif
Rollingbox
Alors là, je crois que j'ai comme un léger problème.... icon_confused.gif

Je suis sur IE7, j'ai deux onglet ouverts :

- mon site
- Google Vidéo

J'ai tenté d'envoyer la lecture de la vidéo d'ACDC sur Google Vidéo et ça plante. on voit l'image pendant deux sec puis ça s'arrête.
Ensuite je vais sur mon site et tente de lire une chanson de mon player, la playliste dynamique est bien affichée, les chansons sont
streamées (chargées), toutes les infos sont importées mais lorsque je clique sur play, comme pour la vidéo d'ACDC sur Google Vidéo,
rien ne se passe.

MAIS LE PLUS FORT DANS TOUT CA, C'EST QUE LORSQUE JE SUIS SUR MON SITE ET QUE J'ACTUALISE MA PAGE LA VIDEO D'ACDC QUI EST SUR GOOGLE
VIDEO SE MET EN LECTURE LE TEMPS QUE JE CHARGE LA PAGE DE MON SITE !! Du coup j'entend la chanson d'ACDC le temps de charger la page de mon
site. icon_eek.gif

J'avoue que je ne comprend plus et que je suis dépassé. Je pense qu'il y a un petit Bug quand même...
Rollingbox
Petit Up...

Bon voilà, j'ai cherché partout, je ne trouve personne qui a le même problème que moi... Le problème
vient donc de moi, enfin du code AS3 de mon player je présume... Je rappel que depuis que j'ai installé Flash
Player 10 sur mon poste, mon player ne lie plus les fichier mp3...

Action Script

package {

import flash.events.*;
import fl.events.ListEvent;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.media.SoundTransform;
import flash.display.MovieClip;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.text.TextField;
import flash.display.LoaderInfo;

public class Mp3Main extends MovieClip{
public var keyStr:String;
public var valueStr:String;
public var paramObj:Object = LoaderInfo(parent.loaderInfo).parameters;
public var url:URLRequest;
public var xmlLoad:URLLoader;
public var musicXML:XML;
public var texteXML:String;
public var song:Sound;
public var channel:SoundChannel;
public var sndTrans:SoundTransform;
public var position:Number;

/*The constructor mainly sets up the event listeners, but it also
starts loading the XML playlist file.*/
public function Mp3Main() {
position = 0;
sndTrans = new SoundTransform(vol_mc.percent);
for (keyStr in paramObj) {
valueStr = String(paramObj[keyStr]);
url = new URLRequest(valueStr);
}
xmlLoad = new URLLoader(url);
xmlLoad.addEventListener(Event.COMPLETE, xmlComplete);

playList.addEventListener(ListEvent.ITEM_CLICK, SnglClick, false, 0, true);
vol_mc.addEventListener("volume_change", updateVolume, false, 0, true);
seek_mc.addEventListener("seek_change", changeSeekBar, false, 0, true);



/*****************Button Event Listeners************************/

playPause_mc.addEventListener(MouseEvent.MOUSE_OVER, PlayOver);
playPause_mc.addEventListener(MouseEvent.MOUSE_OUT, PlayOut);
playPause_mc.addEventListener(MouseEvent.MOUSE_DOWN, PlayDown);
playPause_mc.addEventListener(MouseEvent.MOUSE_UP, PlayUp);

stop_mc.addEventListener(MouseEvent.MOUSE_OVER, StopOver);
stop_mc.addEventListener(MouseEvent.MOUSE_OUT, StopOut);
stop_mc.addEventListener(MouseEvent.MOUSE_DOWN, StopDown);
stop_mc.addEventListener(MouseEvent.MOUSE_UP, StopUp);

mute_mc.addEventListener(MouseEvent.MOUSE_OVER, MuteOver);
mute_mc.addEventListener(MouseEvent.MOUSE_OUT, MuteOut);
mute_mc.addEventListener(MouseEvent.MOUSE_DOWN, MuteDown);
mute_mc.addEventListener(MouseEvent.MOUSE_UP, MuteUp);

back_mc.addEventListener(MouseEvent.MOUSE_OVER, BackOver);
back_mc.addEventListener(MouseEvent.MOUSE_OUT, BackOut);
back_mc.addEventListener(MouseEvent.MOUSE_DOWN, BackDown);
back_mc.addEventListener(MouseEvent.MOUSE_UP, BackUp);

forward_mc.addEventListener(MouseEvent.MOUSE_OVER, ForwardOver);
forward_mc.addEventListener(MouseEvent.MOUSE_OUT, ForwardOut);
forward_mc.addEventListener(MouseEvent.MOUSE_DOWN, ForwardDown);
forward_mc.addEventListener(MouseEvent.MOUSE_UP, ForwardUp);
}

/*This function is used to display the minutes and seconds of the current song.
It is only used in the updateSeek() function.*/
public function formatTime(time:Number):String {
var min:String = Math.floor(time/60000).toString();
var sec:String = (Math.floor((time/1000)%60) < 10)? "0" + Math.floor((time/1000)%60).toString() : Math.floor((time/1000)%60).toString();
return(min+":"+sec);
}


/***********************Event Handlers****************************/
/*I want to start loading the first song right after filling the
List component. If you want it to play automaticly, here is where
you do that.*/
private function xmlComplete(event:Event):void {
var item:Object;
var clip_vide:String;
var clip_vide2:String;
musicXML = new XML(event.currentTarget.data);

for each(var prop:XML in musicXML.song){
item = new Object();
item.label = prop.@disp;
item.data = prop.@id;
playList.addItem(item);

clip_vide = prop.@avatar;
UIavatar.source = clip_vide;

clip_vide2 = prop.@pochette;
UIpochette.source = clip_vide2;

monTextField.text = prop.@cd +"\r\n"+ prop.@descr +"\r\n"+prop.@an_sortie;
}

song = new Sound();
song.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler, false, 0, true);
song.load(new URLRequest(playList.getItemAt(0).data));
this.addEventListener(Event.ENTER_FRAME, updateSeek, false, 0, true);
playList.selectedIndex = 0;
}


/*When you choose a new item on the List it will play for you.*/
private function SnglClick(event:ListEvent):void {
var item:Object = event.item;

try
{song.close();}
catch(error)
{}
try
{channel.stop();}
catch(error)
{}

song = new Sound();
song.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler, false, 0, true);
song.load(new URLRequest(item.data));
channel = song.play();
channel.soundTransform = (mute_mc.isMute)? new SoundTransform(0) : sndTrans;
channel.addEventListener(Event.SOUND_COMPLETE, soundComplete, false, 0, true);
position = 0;
playPause_mc.playing = true;
playPause_mc.gotoAndStop('pause');
}

/*When a song ends, this will take you to the next song.*/
private function soundComplete(event:Event):void {
if(playList.length > playList.selectedIndex + 1){
playList.selectedIndex++;
playList.scrollToSelected();
} else {
playList.selectedIndex = 0;
playList.scrollToSelected();
}
playList.dispatchEvent(new ListEvent(ListEvent.ITEM_CLICK, false, true, 0, playList.selectedIndex, playList.selectedIndex, playList.selectedItem));
}

/*The next two are called handling custom events from within SeekControl.as
and VolControl.as*/
private function updateVolume(event:Event):void {
sndTrans.volume = vol_mc.percent;
channel.soundTransform = (mute_mc.isMute)? new SoundTransform(0) : sndTrans;
}
private function changeSeekBar(event:Event):void {
position = (song.length/(song.bytesLoaded/song.bytesTotal)) * seek_mc.percent;
if(playPause_mc.playing){
channel.stop();
channel = song.play(position);
channel.soundTransform = (mute_mc.isMute)? new SoundTransform(0) : sndTrans;
channel.addEventListener(Event.SOUND_COMPLETE, soundComplete, false, 0, true);
}
}
private function updateSeek(event:Event):void {
if(channel != null && playPause_mc.playing) {
var perc:Number = channel.position / (song.length/(song.bytesLoaded/song.bytesTotal));
seek_mc.moveSeekPos(perc);
display_mc.timeDisp.text = formatTime(channel.position) + " | " + formatTime((song.length/(song.bytesLoaded/song.bytesTotal)));
}else {
display_mc.timeDisp.text = formatTime(position) + " | " + formatTime((song.length/(song.bytesLoaded/song.bytesTotal)));
}
}

private function ioErrorHandler(event:Event):void {
trace("ioErrorHandler: " + event);
}

/*******************PlayPause Handlers*************************/
private function PlayOver(event:MouseEvent):void {
var obj:Object = event.currentTarget;
if(obj.playing) {
obj.gotoAndStop('pause_over');
} else {
obj.gotoAndStop('play_over');
}
}
private function PlayOut(event:MouseEvent):void {
var obj:Object = event.currentTarget;
if(obj.playing) {
obj.gotoAndStop('pause');
} else {
obj.gotoAndStop('play');
}
}
private function PlayDown(event:MouseEvent):void {
var obj:Object = event.currentTarget;
if(obj.playing) {
obj.gotoAndStop('pause_down');
} else {
obj.gotoAndStop('play_down');
}
}
/*Needs to switch between a pause and play button.*/
private function PlayUp(event:MouseEvent):void {
var obj:Object = event.currentTarget;
if(obj.playing) {
obj.gotoAndStop('play_over');
position = channel.position;
channel.stop();
obj.playing = false;
} else {
obj.gotoAndStop('pause_over');
channel = song.play(position);
channel.soundTransform = (mute_mc.isMute)? new SoundTransform(0) : sndTrans;
channel.addEventListener(Event.SOUND_COMPLETE, soundComplete, false, 0, true);
obj.playing = true;
}
}

/********************Stop Handlers************************/
private function StopOver(event:MouseEvent):void {
var obj:Object = event.currentTarget;
obj.gotoAndStop('stop_over');
}
private function StopOut(event:MouseEvent):void {
var obj:Object = event.currentTarget;
obj.gotoAndStop('stop');
}
private function StopDown(event:MouseEvent):void {
var obj:Object = event.currentTarget;
obj.gotoAndStop('stop_down');
}
/*Needs to change the Play button as well.*/
private function StopUp(event:MouseEvent):void {
var obj:Object = event.currentTarget;
channel.stop();
position = 0;
playPause_mc.playing = false;
playPause_mc.gotoAndStop('play');
obj.gotoAndStop('stop_over');
}

/********************Mute Handlers************************/
private function MuteOver(event:MouseEvent):void {
var obj:Object = event.currentTarget;
if(obj.isMute) {
obj.gotoAndStop('unmute_over');
} else {
obj.gotoAndStop('mute_over');
}
}
private function MuteOut(event:MouseEvent):void {
var obj:Object = event.currentTarget;
if(obj.isMute) {
obj.gotoAndStop('unmute');
} else {
obj.gotoAndStop('mute');
}
}
private function MuteDown(event:MouseEvent):void {
var obj:Object = event.currentTarget;
if(obj.isMute) {
obj.gotoAndStop('unmute_down');
} else {
obj.gotoAndStop('mute_down');
}
}
private function MuteUp(event:MouseEvent):void {
var obj:Object = event.currentTarget;
if(obj.isMute) {
obj.gotoAndStop('mute_over');
obj.isMute = false;
channel.soundTransform = sndTrans;
} else {
obj.gotoAndStop('unmute_over');
obj.isMute = true;
channel.soundTransform = new SoundTransform(0);
}
}

/********************Back Handlers************************/
private function BackOver(event:MouseEvent):void {
var obj:Object = event.currentTarget;
obj.gotoAndStop('back_over');
}
private function BackOut(event:MouseEvent):void {
var obj:Object = event.currentTarget;
obj.gotoAndStop('back');
}
private function BackDown(event:MouseEvent):void {
var obj:Object = event.currentTarget;
obj.gotoAndStop('back_down');
}
/*changes the List selection and then dispatches a fake ITEM_CLICK event.*/
private function BackUp(event:MouseEvent):void {
var obj:Object = event.currentTarget;
obj.gotoAndStop('back_over');

if(channel.position < 1500){
if(playList.selectedIndex == 0){
playList.selectedIndex = playList.length -1;
playList.scrollToSelected();
} else {
playList.selectedIndex--;
playList.scrollToSelected();
}
playList.dispatchEvent(new ListEvent(ListEvent.ITEM_CLICK, false, true, 0, playList.selectedIndex, playList.selectedIndex, playList.selectedItem));
}else {
try
{channel.stop();}
catch(error)
{}
position = 0;
if(playPause_mc.playing) {
channel = song.play(0);
channel.soundTransform = (mute_mc.isMute)? new SoundTransform(0) : sndTrans;
channel.addEventListener(Event.SOUND_COMPLETE, soundComplete, false, 0, true);
}
}
}

/********************Forward Handlers************************/
private function ForwardOver(event:MouseEvent):void {
var obj:Object = event.currentTarget;
obj.gotoAndStop('forward_over');
}
private function ForwardOut(event:MouseEvent):void {
var obj:Object = event.currentTarget;
obj.gotoAndStop('forward');
}
private function ForwardDown(event:MouseEvent):void {
var obj:Object = event.currentTarget;
obj.gotoAndStop('forward_down');
}
/*changes the List selection and then dispatches a fake ITEM_CLICK event.*/
private function ForwardUp(event:MouseEvent):void {
var obj:Object = event.currentTarget;
obj.gotoAndStop('forward_over');

if(playList.length > playList.selectedIndex + 1){
playList.selectedIndex++;
playList.scrollToSelected();
} else {
playList.selectedIndex = 0;
playList.scrollToSelected();
}
playList.dispatchEvent(new ListEvent(ListEvent.ITEM_CLICK, false, true, 0, playList.selectedIndex, playList.selectedIndex, playList.selectedItem));
}
}
}


Ca fait long, je sais... Désolé icon_rolleyes.gif

Si toutefois une personne voyais ce qui peut clocher dans mon code pour qu'il y ait ce problème, je suis preneur...

Merci d'avance à tous ceux qui ont lu ce post.

icon_smile.gif
Gugusse
Yep Yep !

Je viens de trouver une différence de taille entre le FP 10 et FP 9 .

Je ne sais pas si c'est déjà évoqué quelque part, mais je le signale pour éviter à d'autre de chercher en cas de problème identique ^^

Donc la différence est :

si on donne la valeur NaN à x ou y pour un displayObject:

- FP9 : la valeur est égale à 0
- FP10 : l'objet n'est plus affiché ou ne s'affiche pas !!

Il semble donc que le FP10 soit un peu plus strict que le 9.

Si vous avez d'autres explications, je suis preneur :]
Gugusse
Bon après quelques essais, il s'avère que pour le FP10, quand on applique une valeur NaN à x ou y d'un DisplayObject, la propriété concernée prend la value -Infinity
dada
Citation (Gugusse @ Nov 7 2008, 12:06 PM) *
Bon après quelques essais, il s'avère que pour le FP10, quand on applique une valeur NaN à x ou y d'un DisplayObject, la propriété concernée prend la value -Infinity

Cà je trouve que c'est un peu génant, à mon goût le DisplayObject devrait conserver son ancienne valeur de x ou y. Cà peut faire partie des demandes à faire ici : https://bugs.adobe.com/flashplayer/
De toutes façons, maintenant que c'est fait il faut corriger les codes générant ce problème (en même temps çà ne devrait pas arriver ! smile.gif ).

Rollingbox, je n'ai pas constaté de problème et j'utilise le FP10 depuis sa version beta.
Je ne pense pas que quelqu'un va tester ton code et chercher d'où vient le problème. Tu devrais isoler le problème, par élmimination, sur quelques lignes avant de poster le code. wink.gif
Gugusse
Yep dada, ça ne devrait pas arriver et ça arrive rarement (une fois sur un projet de plusieurs milliers de lignes)
Mais suffit d'une fois pour chercher pendant une heure icon_biggrin.gif

Si tu veux faire la demande, je te laisse l'honneur de le faire ^^

Bonne journée à vous.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2009 Invision Power Services, Inc.