BBFUNK01
Messages postés1310Date d'inscriptionjeudi 16 juillet 2009StatutMembreDernière intervention20 juin 2014
-
21 janv. 2010 à 19:44
BBFUNK01
Messages postés1310Date d'inscriptionjeudi 16 juillet 2009StatutMembreDernière intervention20 juin 2014
-
23 janv. 2010 à 01:14
Salut à toutes et à tous,
une fois de plus je me retrouve confronté à un problème que j'ai du mal à résoudre : j'ai modifié un lecteur flv qui marche nickel, maintenant je suis en train d'essayer d'y ajouter une playlist sous forme de coverflow, et bien sûr les ennuis commencent.
Bref je poste au cas où quelqu'un qui lirait mon script aurait la solution pour relier mon lecteur flv à la playlist coverflow.
De mon côté je continue mes essais.
Voici le code du lecteur flv :
video = "";
Stage.displayState = "normal";
btn_normal._visible = false;
btn_normal.enabled = false;
btn_pause._visible = false;
volumeBar.icnMute._visible = 0;
var enPause:Boolean = false;
var newConnect:NetConnection = new NetConnection();
newConnect.connect(null);
var newStream:NetStream = new NetStream(newConnect);
this.createEmptyMovieClip("snd", 0);
snd.attachAudio(newStream);
audio = new Sound(snd);
audio.setVolume(100);
_root.movie.attachVideo(newStream);
newStream.onMetaData = function(newMeta){
duree = newMeta.duration;
}
function recupBytes(newBl:NetStream){
bytesVisible = newBl.bytesLoaded/newBl.bytesTotal*100;
_root.bytesBar._xscale = bytesVisible;
var Atime:Number = newBl.time;
navigBar._xscale = Atime/duree*100;
}
var newInterval:Number = setInterval(recupBytes, 100, newStream);
newStream.play(video);
newStream.pause(true);
this._root.preplay.onRelease = function(){
_root.preplay._visible = false;
btn_play._visible = false;
btn_pause._visible = true;
newStream.pause(false);
enPause = false;
}
btn_play.onRelease = function(){
newStream.pause(false);
_root.preplay._visible = false;
btn_play._visible = false;
btn_pause._visible = true;
enPause = false;
}
btn_pause.onRelease = function(){
newStream.pause(true);
btn_pause._visible = false;
_root.preplay._visible = true;
btn_play._visible = true;
enPause = true;
}
btn_return.onRelease = function() {
newStream.seek(0);
}
btn_full.onPress = function(){
Stage.displayState = "fullScreen";
btn_full._visible = false;
btn_full.enabled = false;
btn_normal._visible = true;
btn_normal.enabled = true;
_root.img_info._visible = false;
_root.scrollBar._visible = false;
_root.menu._xscale _yscale 60;
_root.menu.fond_menu._alpha = 30;
_root.menu._y = 660;
_root.mask_normal._alpha = 100;
_root.myMO._visible = false;
_root.myKO._visible = false;
_root.coverflow._visible = false;
}
btn_normal.onPress = function(){
Stage.displayState = "normal";
_root.movie._width = 550;
_root.movie._height = 370;
_root.movie._x = 325;
_root.movie._y = 231.2;
btn_full._visible = true;
btn_full.enabled = true;
btn_normal._visible = false;
btn_normal.enabled = false;
_root.img_info._visible = true;
_root.scrollBar._visible = true;
_root.menu._xscale _yscale 100;
_root.menu.fond_menu._alpha = 100;
_root.menu._y = 626.1;
_root.mask_normal._alpha = 0;
_root.coverflow._visible = true;
}
var listener:Object = new Object();
Stage.addListener(listener);
listener.onFullScreen = function(isFullScreenMode:Boolean){
if(!isFullScreenMode) {
_root.movie._width = 550;
_root.movie._height = 370;
_root.movie._x = 325;
_root.movie._y = 231.2;
btn_full._visible = true;
btn_full.enabled = true;
btn_normal._visible = false;
btn_normal.enabled = false;
_root.img_info._visible = true;
_root.scrollBar._visible = true;
_root.menu._xscale _yscale 100;
_root.menu.fond_menu._alpha = 100;
_root.menu._y = 626.1;
_root.mask_normal._alpha = 0;
_root.coverflow._visible = true;
} else {
_root.movie._width = Stage.width;
_root.movie._height = Stage.height;
_root.movie._x = 0;
_root.movie._y = 0;
_root.clip.menu.getNextHighestDepth();
_root.clip.menu.fond_menu._alpha = 25;
btn_normal._visible = true;
btn_normal.enabled = true;
_root.img_info._visible = false;
_root.scrollBar._visible = false;
_root.menu._xscale _yscale 60;
_root.menu.fond_menu._alpha = 30;
_root.menu._y = 660;
_root.mask_normal._alpha = 100;
_root.coverflow._visible = false;
}
}
/* barre de volume :
la largeur du masque qui recouvre la barre rouge de la barre de son
varie en fonction du clique de la souris
*/
volumeBar.back.onPress = function(){
this.onEnterFrame = function(){
var xm = this._xmouse;
if(xm>=0 && xm <= 50){
this._parent.mask._width = this._xmouse;
this._parent._parent.audio.setVolume(this._xmouse*5);
}
if(xm>=0 && xm <= 1.05){
this._parent._parent.audio.setVolume(0);
}
}
}
//petite fonction pour que la barre de son suis la souris tant que le bouton n'est pas lâché et pour afficher l'icone Mute
volumeBar.back.onRelease volumeBar.back.onReleaseOutside function() {
delete this.onEnterFrame;
if(volumeBar.mask._xscale <= 5)
{
volumeBar.icn._visible = 0;
volumeBar.icnMute._visible = 1;
volumeBar.mask._xscale = 0;
volumeBar.audio.setVolume(0);
}
else
{
volumeBar.icn._visible = 1;
volumeBar.icnMute._visible = 0;
}
}
//si on clique sur l'icone volume, le volume se coupe
volumeBar.icn.onPress = function(){
this._visible = 0;
this._parent.icnMute._visible = 1;
this._parent.mask._xscale = 0;
this._parent._parent.audio.setVolume(0);
}
/* barre de navigation :
comme la largueur de la barre rouge représente la durée actuel, lorsqu'on clique sur
la barre grise (parfois recouverte de la rouge) la durée actuelle de la vidéo va etre modifier
et donc la largueur de la barre rouge va changer
*/
bytesBar.onPress = function(){
this._root.onEnterFrame = function(){
var pos:Number = (_xmouse-62)/546*duree;
newStream.pause(true);//video mise sur pause pour éviter que du son se produise lors du déplacement de la tete de la barre
newStream.seek(pos);
}
}
//meme fonction qui fait en sorte que la tete de la barre suive le curseur tant que le bouton n'est pas lâché
bytesBar.onRelease bytesBar.onReleaseOutside function(){
if(!enPause)
{
newStream.pause(false);
}
delete this._root.onEnterFrame;
}
this.stop();
et voici la partie du code du coverflow sur laquelle je dois faire le lien avec le lecteur :
et ça marche ! :) (mais bon sang j'en ai bavé pour trouver !)
Il ne me reste plus qu'à recaler 2 ou 3 trucs et c'est bon.
Au fait est-ce que tu connais une méthode pour afficher la durée totale d'une vidéo parce que "onMetaData" rend inutilisable ma barre de navigation de la vidéo et en plus ça affiche le temps en secondes.
Du coup pour l'instant je stocke la durée dans le xml.
En tout cas merci beaucoup pour le temps que tu m'as accordé !
BBFUNK01
Messages postés1310Date d'inscriptionjeudi 16 juillet 2009StatutMembreDernière intervention20 juin 20146 21 janv. 2010 à 22:06
Salut Orange73,
décidément tu viens toujours à ma rescousse ! :)
En fait ce que je n'ai pas précisé dans le post c'est que le coverflow est dans un clip nommé "coverflow" et le lecteur, ou plus ou moins la barre des tâches, est contenu dans un clip nommé "menu". J'ai fait comme ça pour une question d'affichage ou de non-affichage des éléments lorsqu'on passe en mode fullscreen.
J'avais donc déjà essayé que tu m'as conseillé et ça ne marchait pas.
En fait dans le code initial du lecteur, au tout début du script il y a :
vidéo = "ma_video.flv";
au lieu de :
vidéo = "";
... dans le code que j'ai posté.
J'ai donc fait plusieurs essais sans grands résultats, mais je vais essayer un truc qui peut marcher je pense :
je vais définir au début du code du clip "coverflow" une variable comme ceci :
monfilm = "";[code=as]
ensuite dans le onPress de l'image du coverflow :
[code=as]monfilm = infostruc[current-1].albumLink;
et enfin au début du code du clip "menu" :
vidéo = _root.coverflow.monfilm;
Alors après je ne sais pas si cela permettra d'indiquer le chemin de la vidéo au lecteur flv, car habituellement c'est plutôt ça :
vidéo = "vidéos/ma_vidéo.flv";
donc en fait je ne sais pas si l'absence des guillemets dans ma variable "monfilm" peut causer des problèmes, je présume que non parce qu'à priori les guillemets servent à cerner le chemin indiqué, mais je ne sais pas comment ça se passera avec une variable.
BBFUNK01
Messages postés1310Date d'inscriptionjeudi 16 juillet 2009StatutMembreDernière intervention20 juin 20146 21 janv. 2010 à 22:22
Bon ben verdict : ça ne marche pas.
Je pensais que ça aurait pu le faire, en fait je ne sais pas quelle est la bonne méthode pour que dans mon clip "coverflow", sur le onPress de l'image du coverflow, indiquer à mon clip "menu" :
vidéo = le nom de la vidéo en rapport avec l'image contenus dans le xml
Donc si tu as des suggestions je suis preneur.
Merci,
BBFUNK01
Vous n’avez pas trouvé la réponse que vous recherchez ?