Pb affichage infos id3 dans textfield

projer Messages postés 112 Date d'inscription lundi 6 avril 2009 Statut Membre Dernière intervention 17 janvier 2015 - 20 sept. 2010 à 13:24
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 - 20 sept. 2010 à 16:02
Bonjour!

Je m'entraine un peu avec flash au niveau gestion du son et à créer des fichiers .as par la même occasion car j'ai quelques lacunes à ce niveau. J'ai donc récupéré le bout de code dans l'aide de flash au sujet de l'importation des données ID3 que j'ai modifié pour avoir un bouton play et stop mais mon souci est que malgré que les données ID3 s'importent bien, mon champ de texte apparemment ne s'affiche.

Voici le code :

package {
import flash.display.Sprite;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.net.URLRequest;
import flash.media.ID3Info;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.events.Event;

public class son extends Sprite {
private var snd:Sound = new Sound();
private var channel:SoundChannel = new SoundChannel();
private var myTextField:TextField = new TextField();
private var id3:ID3Info =new ID3Info();

public function son(Url) {
snd.addEventListener(Event.ID3, id3Handler);
snd.load(new URLRequest(Url));
}

public function playIt(){
channel=snd.play();
myTextField.text="Received ID3 Info: \n";
myTextField.appendText("\n" + "Artist: " + id3.artist + "\n");
myTextField.appendText("Song name: " + id3.songName + "\n");
myTextField.appendText("Album: " + id3.album + "\n\n");
trace(myTextField.text);
}

public function stopIt(){
channel.stop();
myTextField.text="";
}

private function id3Handler(event:Event):void {
id3=snd.id3;
myTextField.autoSize = TextFieldAutoSize.LEFT;
myTextField.border = true;

this.addChild(myTextField);
}
}
}


MERCI!

--------------------------------------------------------

http://www.projer.fr - dev web
http://www.lysdesign.fr - DA print / web - Illustratrice

5 réponses

projer Messages postés 112 Date d'inscription lundi 6 avril 2009 Statut Membre Dernière intervention 17 janvier 2015
20 sept. 2010 à 13:27
mon fla au cas où...

var monSon=new son("son.mp3");

stopSon.addEventListener(MouseEvent.CLICK,stopIt);
lectureSon.addEventListener(MouseEvent.CLICK,playIt);

function stopIt(evt:MouseEvent){
monSon.stopIt();
}
function playIt(evt:MouseEvent){
monSon.playIt();
}


--------------------------------------------------------

http://www.projer.fr - dev web
http://www.lysdesign.fr - DA print / web - Illustratrice
0
projer Messages postés 112 Date d'inscription lundi 6 avril 2009 Statut Membre Dernière intervention 17 janvier 2015
20 sept. 2010 à 14:31
J'ai trouvé, manquait tout simplment addChild(monSon) dans le fla...


--------------------------------------------------------

http://www.projer.fr - dev web
http://www.lysdesign.fr - DA print / web - Illustratrice
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
20 sept. 2010 à 15:46
question : pourquoi n'as-tu pas fait une classe statique ou une classe qui étends Sound ?

Peg'
0
projer Messages postés 112 Date d'inscription lundi 6 avril 2009 Statut Membre Dernière intervention 17 janvier 2015
20 sept. 2010 à 15:58
J'ai repris un code directement de l'aide de flash que j'ai modifié à ma convenance mais, c'est vrai qu'en y pensant bien, faire une classe qui étend sound pourrait être mieux, reste à tester comment faire...

Par contre, je ne sais pas ce qu'est une classe statique...


--------------------------------------------------------

http://www.projer.fr - dev web
http://www.lysdesign.fr - DA print / web - Illustratrice
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
20 sept. 2010 à 16:02
C'est une classe qui n'a pas de "corps", c'est à dire qu'elle n'a pas besoin d'être instanciée à l'aide de "new". La classe Math, par exemple est une classe statique.

Peg'
0
Rejoignez-nous