Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash > AS3
AS3 Questions relatives à la programmation ActionScript 3 (Cours AS3)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/08/2011, 18h37   #1
Invité de passage
 
Inscription : août 2011
Messages : 1
Détails du profil
Informations forums :
Inscription : août 2011
Messages : 1
Points : 0
Points : 0
Par défaut Changer le lecteur vidéo

salut tout le monde;
comme je suis débutant en flash as3, j'ai fais une autoformation d'après d'un document de "anne tasso" auquel il a mis en pratique un projet sous forme d'un mini site; alors je fais copier coller et j'ai conçu un projet pour moi..mais le problème est que j'arrive pas à changer le lecteur vidéo qui est un peut modeste et j'aimerai bien le modifier en sorte qu'il soit maniable en terme de le contrôler en avance ou en arrière càd glisser le curseur pour avancer la lecture ou la reculer.
voici le code de la classe lecteur vidéo(le fichier est joint aussi) et mille merci à vous:
Code :
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
package {
	import flash.display.*;
	import flash.events.*;
	import flash.net.*;
	import flash.media.*;
	import flash.geom.Rectangle;
	import flash.net.URLRequest;
	public class LecteurVideo extends Sprite {
		// Le flux vidéo est commun à toutes les classes de l'application
		// pour pouvoir être supprimé à tout moment 
		public static var unFlux:NetStream;
		private var controleur:ControleurClp;
		private var initX:Number;
		private var initY:Number;
		private var volumeSon:Number;
		private var changeVolume:SoundTransform;
        private var seConnecter:NetConnection ;
		private var url:String;
        // La classe LecteurVideo reprend les fonctionnalités du lecteur vidéo 
		// décrit au cours du chapitre 10, section Un lecteur de vidéo
		public function LecteurVideo( nom:String) {
			if (controleur != null) removeChild(controleur);
			controleur = new ControleurClp();
			url = nom;
			// Créer un objet Video
			seConnecter = new NetConnection();
			seConnecter.addEventListener(NetStatusEvent.NET_STATUS, quelleConnection);
			// Création d'une connection locale streamée
			seConnecter.connect(null);	
 
		}
 
		public function remiseAZero():void {
			// Le controleur est initialisé :
			//   - Le bouton Lecture est affiché, 
			//   - Les boutons Pause et Stop sont effacés
			//   - La barre de progression est remise à 0
			//   - Le son est arrêté
			unFlux.pause();
			unFlux.seek(0);
			controleur.lire.visible = true;
			controleur.faireUnePause.visible = false;
			controleur.curseur.gotoAndStop("normal");
			controleur.stopper.visible=false;
			if ( controleur.bulleProgress != null) {
				controleur.bulleProgress.removeEventListener(Event.ENTER_FRAME, barreProgresse);
			}
			controleur.bulleProgress.scaleX=0.001;
		}
 
		private function siErreur(e:AsyncErrorEvent):void {
			//trace(e);
		}
		private function quelleConnection(event:NetStatusEvent):void {
			switch (event.info.code) {
				case "NetConnection.Connect.Success" :
					creerUnFlux();
					break;
				case "NetStream.Play.StreamNotFound" :
					trace(" Fichier vidéo non trouvé : " + url);
					break;
			}
		}
 
		private function creerUnFlux():void {			
			unFlux = new NetStream(seConnecter);
			unFlux.addEventListener(AsyncErrorEvent.ASYNC_ERROR, siErreur);
			unFlux.play(url);
			unFlux.pause();
			unFlux.addEventListener(NetStatusEvent.NET_STATUS, quelStatus);
			afficherControleur();
		}
		private  function afficherControleur() {
			//  Initialisation du controleur
 
			addChild(controleur);
			var ecran:Video = new Video();
			ecran.attachNetStream(unFlux);
			controleur.addChild(ecran);
			ecran.x = -controleur.width/3 + 10;
			ecran.y = -controleur.height/3 + 10;
			remiseAZero();
			// Le bouton Lecture
			controleur.lire.addEventListener(MouseEvent.CLICK, pourLire);
			// Le bouton Pause
			controleur.faireUnePause.addEventListener(MouseEvent.MOUSE_UP, pourFaireUnePause);
			// Le bouton Stopper
			controleur.stopper.addEventListener(MouseEvent.MOUSE_UP, pourStopper);
			gererLeSon();
		}
		private function gererLeSon() {
			// Gestion du volume sonore
			initX = controleur.niveau.x;
			initY = controleur.niveau.y;
			changeVolume = new SoundTransform(1, 0);
			volumeSon = changeVolume.volume;
			var longueur:Number = controleur.niveau.width;
			// Positionner le curseur du volume en fonction du volume sonore du mp3
			controleur.curseur.x =  initX + longueur *volumeSon - controleur.curseur.width;
			controleur.curseur.y = initY ;
			controleur.curseur.buttonMode = true;
			//controleur.curseur.addEventListener(MouseEvent.MOUSE_UP, auRelachement);
			addEventListener(MouseEvent.MOUSE_UP, auRelachement);
 
			// Modifier l'apparence du curseur du volume en fonction de la position du curseur
			controleur.curseur.addEventListener(MouseEvent.MOUSE_OVER, auSurvol);
			controleur.curseur.addEventListener(MouseEvent.MOUSE_OUT, alExterieur);
			controleur.curseur.addEventListener(MouseEvent.MOUSE_DOWN, auPress);
        }
 
		private function quelStatus(e:NetStatusEvent):void {
			switch (e.info.code) {
				case "NetStream.Play.Stop" :
					remiseAZero();
					break;
			}
		}
 
		private function barreProgresse(e:Event):void {
			var tempsTotal:Number= 610;
			controleur.bulleProgress.scaleX = unFlux.time   / tempsTotal  ;
		}
 
 
		private function pourLire(e:MouseEvent):void {
			controleur.stopper.visible = true;
			controleur.faireUnePause.visible = true;
			controleur.lire.visible = false;
			unFlux.resume();
			controleur.bulleProgress.addEventListener(Event.ENTER_FRAME, barreProgresse);
		}
 
		private function pourFaireUnePause(e:MouseEvent):void {
			unFlux.pause();
			controleur.lire.visible = true;
			controleur.faireUnePause.visible = false;
			controleur.stopper.visible = true;
		}
		private function pourStopper(e:MouseEvent):void {
			remiseAZero();
		}
 
		private function auSurvol(e:MouseEvent):void {
			controleur.curseur.gotoAndStop("survol");
		}
 
		private function alExterieur(e:MouseEvent):void {
			controleur.curseur.gotoAndStop("normal");
			controleur.curseur.stopDrag();
			removeEventListener(MouseEvent.MOUSE_MOVE, auDeplacement);
		}
 
 
		private function auPress(e:MouseEvent):void {
			var longueur:Number = controleur.niveau.width;
			var zoneDeplacement:Rectangle = new Rectangle(initX,initY,longueur - controleur.curseur.width, 0);
			controleur.curseur.startDrag(false, zoneDeplacement);
			controleur.curseur.gotoAndStop("clique");
			controleur.curseur.addEventListener(MouseEvent.MOUSE_MOVE, auDeplacement);
 
		}
		private function auDeplacement(e:MouseEvent):void {
			var longueur:Number = controleur.niveau.width;
			volumeSon =  (controleur.curseur.x -initX)/longueur;
			changeVolume.volume = volumeSon;
			unFlux.soundTransform = changeVolume;
		}
 
		// Arrêter le déplacement du curseur du volume
		private function auRelachement(e:MouseEvent):void {
			controleur.curseur.gotoAndStop("normal");
			controleur.curseur.stopDrag();
			controleur.curseur.removeEventListener(MouseEvent.MOUSE_MOVE, auDeplacement );
		}
 
	}
}
Fichiers attachés
Type de fichier : as LecteurVideo.as (6,1 Ko, 1 affichages)
mouhcine73 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h47.


 
 
 
 
Partenaires

Hébergement Web