Accueil > > > ERYPIANO V2.03 CS4 AS3
ERYPIANO V2.03 CS4 AS3
Information sur la source
Description
Le site ErySoft a été sujet à une attaque virale. J'ai rétabli ce dernier, mais Google mentionne et bloque toujours son accès, le temps de réexaminer l'intégrité de ce dernier. Le 28/12/2011 Chose promise, chose due ! Une première remarque incisive : Flash c'est "POOrrave", et pas un peu. C'est juste bon à faire de la publicité, et des jeux. Quant à savoir si cette nouvelle source est de la POO, ou pas de la POO, et bien je ne sais "pôô", et c'est tant mieux. J'ai amélioré le code, en utilisant pas mal de possibilités DE BASES pour faire discuter les .as, mais il faut mieux utiliser les vieilles méthodes qui ont faites leurs preuves. Car si vous désirez obtenir une programme qui ne bouffe pas toutes les ressources µP, il faut éviter de manipuler les tas d'objets prédéfinis juste bons pour faire de la Pub ... du clinquant, du "tape-à-l'½il", du "m'as-tu vu", et j'en passe et des meilleurs. Les sons ne sont pas présents sur ce site, donc il faut vous rendre à l'adresse suivante, et télécharger le .zip de la version 2 : http://www.erysoft.fr/erypiano/index.html Pour ceux qui aiment la bidouille balèze, je vous conseille Pascal DOS 7, si vos machines acceptent encore d'être triturées. VERSION 1 ======== NOTE : Je ne cherche pas à réduire la taille du fichier obtenu. La présence des 88 sons est voulue. C'est un piano virtuel de 88 touches, avec les sons mp3 CBR128 pré-enregistrés. La taille du fichier fla fait plus de 25 Mo, alors il ne m'est pas possible de le placer sur ce site. De même, le fichier swf compilé fait plus de 15 Mo. Mais vous pouvez trouver les sources complètes et le fichier swf à l'adresse suivante : http://www.erysoft.fr/erypiano/index.html On m'a dit qu'il fallait utiliser la POO ! Ben vous avez du pot, c'est pratiquement de la pure POO. Mais je pense franchement que les classes compliquent la compréhension ... enfin, c'est mon avis. Ce piano virtuel peut jouer des séquences enregistrées au format xml. Pour faire ces fichiers, je vous fournirai l'exécutable VB6 quand il sera vraiment au point. Vous avez un exemple (Etude N°1 Opus 25 de Chopin) inclus, que vous pourrez analyser si cela vous intéresse. Vous pouvez jouer à l'aide de la souris, ou alors faire des accords en vous positionnant sur la position ACCORD/ARPEGE. Une fenêtre d'aide vous donnera l'utilité de chaque bouton. Il est préférable d'exécuter cette application avec un lecteur flash. Avec un navigateur, çà rame à mort !
Source
- package piano
- {
- import flash.display.MovieClip;
- //import flash.ui.Keyboard;
- import flash.media.Sound;
- import flash.media.SoundChannel;
- import flash.media.SoundTransform
- import flash.utils.Timer;
- import flash.display.Sprite;
- import flash.events.TimerEvent;
- import flash.events.Event;
-
- public class erypiano extends MovieClip
- {
- public const ERYPIANO : String = new String("ERYPIANO V2.03");
-
- public const NOTE_SOURIS : int = 31;
- public const MODE_SEQUENCEUR : int = 0;
- public const MODE_ACCORD : int = 1;
-
- private var parametre : Object = loaderInfo.parameters;
-
- private var xml_chargeur : chargeur_xml;
- private var chargeur_note : chargeur_son;
- private var bouton_jouer : bouton;
- private var bouton_stopper : bouton;
- public var bouton_reculer : bouton;
- public var bouton_avancer : bouton;
- private var bouton_menu_haut : bouton;
- private var bouton_menu_bas : bouton;
- private var bouton_menu_valider : bouton;
- private var potentiometre_tempo : potentiometre;
- private var potentiometre_volume : potentiometre;
- public var lcd : affichage_lcd;
- public var aide : affichage_aide;
- public var accord : generateur_accord;
- public var clavier : clavier_piano;
- public var marquage : affichage_point;
- public var sequenceur : sequenceur_note;
- public var polyphonie : affichage_led;
-
- private var cache : cache_clavier = new cache_clavier();
- private var fenetre : fenetre_aide = new fenetre_aide();
-
- private var midi : String = parametre.midi;
- private var midi_xml : String = parametre.xidi;
- private var sequence : String = parametre.melo;
- private var configuration : String = parametre.conf;
-
- public var mode_piano : int;
- public var volume_piano : int = 80;
- public var valeur_tempo : int = 50;
-
- private var initialisation : Boolean = false;
-
- // Initialisation des objets primaires
- public function erypiano():void
- {
- lcd = new affichage_lcd(this, lcd_texte, "F00", "F01", "F02");
- lcd.addEventListener("F00", charger_note_instrument);
- lcd.addEventListener("F01", charger_sequence_xidi);
- lcd.addEventListener("F02", controle_bouton_stop);
- polyphonie = new affichage_led(this, true, 720, 18);
- marquage = new affichage_point(this, true, 20, 49, cache);
- accord = new generateur_accord(this);
- sequenceur = new sequenceur_note(this);
- chargeur_note = new chargeur_son("F10", "F11");
- chargeur_note.addEventListener("F10", reception_gamme);
- chargeur_note.addEventListener("F11", echo_chargement_son);
- xml_chargeur = new chargeur_xml("F20", "F21", "F22", "F23");
- xml_chargeur.addEventListener("F20", reception_midi_xml);
- xml_chargeur.addEventListener("F21", reception_configuration);
- xml_chargeur.addEventListener("F22", reception_sequence);
- xml_chargeur.addEventListener("F23", echo_chargement_xml);
- if (configuration == null) configuration = "./configuration.xml";
- xml_chargeur.chargement_midi_xml(configuration, "configuration");
- }
- // Initialisation des objets secondaires
- private function initialisation_objet():void
- {
- if (initialisation) return;
- clavier = new clavier_piano(cache, "F30", "F31");
- clavier.addEventListener("F30", touche_enfoncee);
- clavier.addEventListener("F31", touche_relachee);
- aide = new affichage_aide(this, fenetre, 377.5, 100);
- aide.etat_actif = true;
- initialisation_potentiometre();
- initialisation_bouton();
- if (sequence == null) sequence = "./sequence.xml";
- xml_chargeur.chargement_midi_xml(sequence, "sequence");
- initialisation = true;
- }
- // Initialisation des boutons (Retours par objets "Function")
- private function initialisation_bouton():void
- {
- bouton_jouer = new bouton(lutin_bouton_jouer, true, 0, action_bouton_jouer, action_bouton_dedans, action_bouton_dehors);
- bouton_stopper = new bouton(lutin_bouton_stopper, true, 1, action_bouton_stopper, action_bouton_dedans, action_bouton_dehors);
- bouton_stopper.visibilite(false);
- bouton_reculer = new bouton(lutin_bouton_reculer, true, 2, action_bouton_reculer, action_bouton_dedans, action_bouton_dehors);
- bouton_reculer.visibilite(false);
- bouton_avancer = new bouton(lutin_bouton_avancer, true, 3, action_bouton_avancer, action_bouton_dedans, action_bouton_dehors);
- bouton_avancer.visibilite(false);
- bouton_menu_haut = new bouton(lutin_bouton_menu_haut, true, 4, action_bouton_menu_haut, action_bouton_dedans, action_bouton_dehors);
- bouton_menu_valider = new bouton(lutin_bouton_menu_valider, true, 5, action_bouton_menu_valider, action_bouton_dedans, action_bouton_dehors);
- bouton_menu_bas = new bouton(lutin_bouton_menu_bas, true, 6, action_bouton_menu_bas, action_bouton_dedans, action_bouton_dehors);
- }
- // Initialisation des potentiomètres
- private function initialisation_potentiometre():void
- {
- potentiometre_volume = new potentiometre(0, 580, 680, lutin_bouton_volume, reglage_volume);
- potentiometre_tempo = new potentiometre(1, 430, 530, lutin_bouton_tempo, reglage_tempo);
- }
- // Fonction d'incidence du potentiomètre volume
- private function reglage_volume(valeur:int):void
- {
- volume_piano = valeur;
- lcd.message_lcd("VOLUME : " + volume_piano.toString(), 20)
- }
- // Fonction d'incidence du potentiomètre tempo
- private function reglage_tempo(valeur:int):void
- {
- valeur_tempo = valeur;
- lcd.message_lcd("TEMPO : " + sequenceur.calcul_tempo().toString() + "%", 20)
- }
- // Fonction d'incidence commune aux boutons (Souris dedans)
- private function action_bouton_dedans(index:int):void
- {
- if (!aide.etat_actif) return;
- var texte:String = new String("");
- switch(index)
- {
- case 0 : texte = "Jouer sélection"; break;
- case 1 : texte = "Stopper sélection"; break;
- case 2 : texte = "Supprimer dernière note"; break;
- case 3 : texte = "Effacer toutes les notes"; break;
- case 4 : texte = "Option suivante"; break;
- case 5 : texte = "Valider ou changer valeur"; break;
- case 6 : texte = "Option précédente"; break;
- }
- aide.apparition_aide(texte, 708, 49);
- }
- // Fonction d'incidence commune aux boutons (Souris dehors)
- private function action_bouton_dehors():void
- {
- if (aide.etat_actif) aide.disparition_aide();
- }
- // Fonction d'incidence du bouton jouer
- private function action_bouton_jouer():void
- {
- if (mode_piano == MODE_SEQUENCEUR && sequenceur.donnee != null) sequenceur.demarrage_sequenceur();
- else if (mode_piano == MODE_ACCORD) accord.jouer_accord();
- }
- // Fonction d'incidence du bouton stopper
- private function action_bouton_stopper():void
- {
- sequenceur.etat_actif = false;
- }
- // Fonction d'incidence du bouton reculer
- private function action_bouton_reculer():void
- {
- var index:int = accord.supprimer_note();
- if (index >= 0) marquage.gestion_point_note(false, index);
- }
- // Fonction d'incidence du bouton avancer
- private function action_bouton_avancer():void
- {
- marquage.initialisation_point();
- accord.initialisation_accord();
- }
- // Fonction d'incidence du bouton menu vers le haut
- private function action_bouton_menu_haut():void
- {
- lcd.option_plus();
- }
- // Fonction d'incidence du bouton menu vers le bas
- private function action_bouton_menu_bas():void
- {
- lcd.option_moins();
- }
- // Fonction d'incidence du bouton menu valiser
- private function action_bouton_menu_valider():void
- {
- lcd.option_valider();
- }
- // Evènement ----------------------------------------------------------------------------------------------------------------
- // Evènement relatif à la fin du chargement d'un fichier midi xml
- private function reception_midi_xml(e:Event):void
- {
- sequenceur.donnee = xml_chargeur.midi_xml;
- echo_chargement_xml(null);
- lcd.message_lcd("SEQUENCE OK", 20)
- }
- // Evènement relatif à la fin du chargement du fichier de configuration
- private function reception_configuration(e:Event):void
- {
- lcd.instrument = xml_chargeur.configuration;
- echo_chargement_xml(null);
- lcd.charger_instrument();
- }
- // Evènement relatif à la fin du chargement du catalogue des fichiers midi xml disponibles
- private function reception_sequence(e:Event):void
- {
- lcd.sequence = xml_chargeur.sequence;
- echo_chargement_xml(null);
- lcd.charger_xidi();
- }
- // Evènement relatif à la fin d'un chargement xml avec échec
- private function echo_chargement_xml(e:Event):void
- {
- lcd.message_lcd(xml_chargeur.echo, 20);
- }
- // Evènement relatif à la fin du chargement des fichiers sons
- private function reception_gamme(e:Event):void
- {
- sequenceur.gamme = chargeur_note.gamme;
- echo_chargement_son(null);
- initialisation_objet();
- }
- // Evènement relatif à la fin d'un chargement son avec échec
- private function echo_chargement_son(e:Event):void
- {
- lcd.message_lcd(chargeur_note.echo, 20);
- }
- // Evènement relatif au clic de la souris sur le clavier
- private function touche_enfoncee(e:Event):void
- {
- if (clavier.note_piano == -1) return;
- sequenceur.jouer_note_index(clavier.note_piano, 127, 0, 0, NOTE_SOURIS, 0);
- if (mode_piano == MODE_ACCORD)
- {
- accord.ajouter_note(clavier.note_piano);
- marquage.gestion_point_note(true, clavier.note_piano);
- }
- }
- // Evènement relatif au clic relaché de la souris sur le clavier
- private function touche_relachee(e:Event):void
- {
- sequenceur.stopper_note(NOTE_SOURIS);
- if (mode_piano == MODE_SEQUENCEUR) marquage.gestion_point_note(false, sequenceur.note[NOTE_SOURIS].point);
- }
- // Evénement relatif aux chargements d'instruments
- private function charger_note_instrument(e:Event):void
- {
- try {chargeur_note.chargement_serie_son(lcd.chemin);}
- catch (e:Error)
- {
- lcd.message_lcd("INSTRUMENT NON TROUVE", 40);
- }
- }
- // Evénement relatif aux chargements dde séquences xidi
- public function charger_sequence_xidi(e:Event):void
- {
- xml_chargeur.chargement_midi_xml(lcd.chemin, "xidi");
- }
- // Evénement relatif au controle du bouton stop
- public function controle_bouton_stop(e:Event):void
- {
- try {bouton_stopper.visibilite(sequenceur.etat_actif);}
- catch (e:Error) {}
- }
- }
- }
package piano
{
import flash.display.MovieClip;
//import flash.ui.Keyboard;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.media.SoundTransform
import flash.utils.Timer;
import flash.display.Sprite;
import flash.events.TimerEvent;
import flash.events.Event;
public class erypiano extends MovieClip
{
public const ERYPIANO : String = new String("ERYPIANO V2.03");
public const NOTE_SOURIS : int = 31;
public const MODE_SEQUENCEUR : int = 0;
public const MODE_ACCORD : int = 1;
private var parametre : Object = loaderInfo.parameters;
private var xml_chargeur : chargeur_xml;
private var chargeur_note : chargeur_son;
private var bouton_jouer : bouton;
private var bouton_stopper : bouton;
public var bouton_reculer : bouton;
public var bouton_avancer : bouton;
private var bouton_menu_haut : bouton;
private var bouton_menu_bas : bouton;
private var bouton_menu_valider : bouton;
private var potentiometre_tempo : potentiometre;
private var potentiometre_volume : potentiometre;
public var lcd : affichage_lcd;
public var aide : affichage_aide;
public var accord : generateur_accord;
public var clavier : clavier_piano;
public var marquage : affichage_point;
public var sequenceur : sequenceur_note;
public var polyphonie : affichage_led;
private var cache : cache_clavier = new cache_clavier();
private var fenetre : fenetre_aide = new fenetre_aide();
private var midi : String = parametre.midi;
private var midi_xml : String = parametre.xidi;
private var sequence : String = parametre.melo;
private var configuration : String = parametre.conf;
public var mode_piano : int;
public var volume_piano : int = 80;
public var valeur_tempo : int = 50;
private var initialisation : Boolean = false;
// Initialisation des objets primaires
public function erypiano():void
{
lcd = new affichage_lcd(this, lcd_texte, "F00", "F01", "F02");
lcd.addEventListener("F00", charger_note_instrument);
lcd.addEventListener("F01", charger_sequence_xidi);
lcd.addEventListener("F02", controle_bouton_stop);
polyphonie = new affichage_led(this, true, 720, 18);
marquage = new affichage_point(this, true, 20, 49, cache);
accord = new generateur_accord(this);
sequenceur = new sequenceur_note(this);
chargeur_note = new chargeur_son("F10", "F11");
chargeur_note.addEventListener("F10", reception_gamme);
chargeur_note.addEventListener("F11", echo_chargement_son);
xml_chargeur = new chargeur_xml("F20", "F21", "F22", "F23");
xml_chargeur.addEventListener("F20", reception_midi_xml);
xml_chargeur.addEventListener("F21", reception_configuration);
xml_chargeur.addEventListener("F22", reception_sequence);
xml_chargeur.addEventListener("F23", echo_chargement_xml);
if (configuration == null) configuration = "./configuration.xml";
xml_chargeur.chargement_midi_xml(configuration, "configuration");
}
// Initialisation des objets secondaires
private function initialisation_objet():void
{
if (initialisation) return;
clavier = new clavier_piano(cache, "F30", "F31");
clavier.addEventListener("F30", touche_enfoncee);
clavier.addEventListener("F31", touche_relachee);
aide = new affichage_aide(this, fenetre, 377.5, 100);
aide.etat_actif = true;
initialisation_potentiometre();
initialisation_bouton();
if (sequence == null) sequence = "./sequence.xml";
xml_chargeur.chargement_midi_xml(sequence, "sequence");
initialisation = true;
}
// Initialisation des boutons (Retours par objets "Function")
private function initialisation_bouton():void
{
bouton_jouer = new bouton(lutin_bouton_jouer, true, 0, action_bouton_jouer, action_bouton_dedans, action_bouton_dehors);
bouton_stopper = new bouton(lutin_bouton_stopper, true, 1, action_bouton_stopper, action_bouton_dedans, action_bouton_dehors);
bouton_stopper.visibilite(false);
bouton_reculer = new bouton(lutin_bouton_reculer, true, 2, action_bouton_reculer, action_bouton_dedans, action_bouton_dehors);
bouton_reculer.visibilite(false);
bouton_avancer = new bouton(lutin_bouton_avancer, true, 3, action_bouton_avancer, action_bouton_dedans, action_bouton_dehors);
bouton_avancer.visibilite(false);
bouton_menu_haut = new bouton(lutin_bouton_menu_haut, true, 4, action_bouton_menu_haut, action_bouton_dedans, action_bouton_dehors);
bouton_menu_valider = new bouton(lutin_bouton_menu_valider, true, 5, action_bouton_menu_valider, action_bouton_dedans, action_bouton_dehors);
bouton_menu_bas = new bouton(lutin_bouton_menu_bas, true, 6, action_bouton_menu_bas, action_bouton_dedans, action_bouton_dehors);
}
// Initialisation des potentiomètres
private function initialisation_potentiometre():void
{
potentiometre_volume = new potentiometre(0, 580, 680, lutin_bouton_volume, reglage_volume);
potentiometre_tempo = new potentiometre(1, 430, 530, lutin_bouton_tempo, reglage_tempo);
}
// Fonction d'incidence du potentiomètre volume
private function reglage_volume(valeur:int):void
{
volume_piano = valeur;
lcd.message_lcd("VOLUME : " + volume_piano.toString(), 20)
}
// Fonction d'incidence du potentiomètre tempo
private function reglage_tempo(valeur:int):void
{
valeur_tempo = valeur;
lcd.message_lcd("TEMPO : " + sequenceur.calcul_tempo().toString() + "%", 20)
}
// Fonction d'incidence commune aux boutons (Souris dedans)
private function action_bouton_dedans(index:int):void
{
if (!aide.etat_actif) return;
var texte:String = new String("");
switch(index)
{
case 0 : texte = "Jouer sélection"; break;
case 1 : texte = "Stopper sélection"; break;
case 2 : texte = "Supprimer dernière note"; break;
case 3 : texte = "Effacer toutes les notes"; break;
case 4 : texte = "Option suivante"; break;
case 5 : texte = "Valider ou changer valeur"; break;
case 6 : texte = "Option précédente"; break;
}
aide.apparition_aide(texte, 708, 49);
}
// Fonction d'incidence commune aux boutons (Souris dehors)
private function action_bouton_dehors():void
{
if (aide.etat_actif) aide.disparition_aide();
}
// Fonction d'incidence du bouton jouer
private function action_bouton_jouer():void
{
if (mode_piano == MODE_SEQUENCEUR && sequenceur.donnee != null) sequenceur.demarrage_sequenceur();
else if (mode_piano == MODE_ACCORD) accord.jouer_accord();
}
// Fonction d'incidence du bouton stopper
private function action_bouton_stopper():void
{
sequenceur.etat_actif = false;
}
// Fonction d'incidence du bouton reculer
private function action_bouton_reculer():void
{
var index:int = accord.supprimer_note();
if (index >= 0) marquage.gestion_point_note(false, index);
}
// Fonction d'incidence du bouton avancer
private function action_bouton_avancer():void
{
marquage.initialisation_point();
accord.initialisation_accord();
}
// Fonction d'incidence du bouton menu vers le haut
private function action_bouton_menu_haut():void
{
lcd.option_plus();
}
// Fonction d'incidence du bouton menu vers le bas
private function action_bouton_menu_bas():void
{
lcd.option_moins();
}
// Fonction d'incidence du bouton menu valiser
private function action_bouton_menu_valider():void
{
lcd.option_valider();
}
// Evènement ----------------------------------------------------------------------------------------------------------------
// Evènement relatif à la fin du chargement d'un fichier midi xml
private function reception_midi_xml(e:Event):void
{
sequenceur.donnee = xml_chargeur.midi_xml;
echo_chargement_xml(null);
lcd.message_lcd("SEQUENCE OK", 20)
}
// Evènement relatif à la fin du chargement du fichier de configuration
private function reception_configuration(e:Event):void
{
lcd.instrument = xml_chargeur.configuration;
echo_chargement_xml(null);
lcd.charger_instrument();
}
// Evènement relatif à la fin du chargement du catalogue des fichiers midi xml disponibles
private function reception_sequence(e:Event):void
{
lcd.sequence = xml_chargeur.sequence;
echo_chargement_xml(null);
lcd.charger_xidi();
}
// Evènement relatif à la fin d'un chargement xml avec échec
private function echo_chargement_xml(e:Event):void
{
lcd.message_lcd(xml_chargeur.echo, 20);
}
// Evènement relatif à la fin du chargement des fichiers sons
private function reception_gamme(e:Event):void
{
sequenceur.gamme = chargeur_note.gamme;
echo_chargement_son(null);
initialisation_objet();
}
// Evènement relatif à la fin d'un chargement son avec échec
private function echo_chargement_son(e:Event):void
{
lcd.message_lcd(chargeur_note.echo, 20);
}
// Evènement relatif au clic de la souris sur le clavier
private function touche_enfoncee(e:Event):void
{
if (clavier.note_piano == -1) return;
sequenceur.jouer_note_index(clavier.note_piano, 127, 0, 0, NOTE_SOURIS, 0);
if (mode_piano == MODE_ACCORD)
{
accord.ajouter_note(clavier.note_piano);
marquage.gestion_point_note(true, clavier.note_piano);
}
}
// Evènement relatif au clic relaché de la souris sur le clavier
private function touche_relachee(e:Event):void
{
sequenceur.stopper_note(NOTE_SOURIS);
if (mode_piano == MODE_SEQUENCEUR) marquage.gestion_point_note(false, sequenceur.note[NOTE_SOURIS].point);
}
// Evénement relatif aux chargements d'instruments
private function charger_note_instrument(e:Event):void
{
try {chargeur_note.chargement_serie_son(lcd.chemin);}
catch (e:Error)
{
lcd.message_lcd("INSTRUMENT NON TROUVE", 40);
}
}
// Evénement relatif aux chargements dde séquences xidi
public function charger_sequence_xidi(e:Event):void
{
xml_chargeur.chargement_midi_xml(lcd.chemin, "xidi");
}
// Evénement relatif au controle du bouton stop
public function controle_bouton_stop(e:Event):void
{
try {bouton_stopper.visibilite(sequenceur.etat_actif);}
catch (e:Error) {}
}
}
}
Conclusion
Il y aura ENCORE une suite
Historique
- 08 décembre 2010 07:56:40 :
- Suppression code
- 08 décembre 2010 16:44:14 :
- Note supplémentaire
- 13 décembre 2010 18:38:04 :
- Mise à jour pour la prochaine version
- 17 décembre 2010 19:13:47 :
- Mise à jour version 2
- 18 décembre 2010 15:52:31 :
- Modification titre
- 28 décembre 2010 12:14:42 :
- Accès site ErySoft
Sources du même auteur
ERYSTREAMING V2.05 CS4 AS3ERYSTREAMING V2.05 CS4 AS3VRSION 2.05
Tous les problèmes ont été résolus. C'est donc la version finale. De plus, cette application peut tourner sur le réseau. A l'adresse ci...
ERYSOKOBAN V1.02 CS4 AS3ERYSOKOBAN V1.02 CS4 AS3Tout le monde connait le célèbre jeu Sokoban ! Oui je sais, c'est un jeu pour vieux, sans fusils, bombes, lasers, et cibles à détruire, mais c'est trè...
ERYSKYPLAYER_MINIERYSKYPLAYER_MINIC'est la dernière source que je propose en AS3, pas vraiment orientée objet.
Comme la source précédente, ce lecteur permet de faire du crossdomain ...
ERYSKYVIDÉO V1.05 & V2.00ERYSKYVIDÉO V1.05 & V2.00Encore un lecteur flv !
Oui, mais celui-ci a l'avantage de pouvoir faire du streaming avec les fichiers flv que vous avez stockés sur Skydrive dans...
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Piano à 61 touches [ par Niamoi ]
Je comprend pas pourquoi je ne peux pas télécharger le piano virtuel...G créer un compte membre pour le télécharger mais sa ne marche pas<img src="htt
Découverte de l'AS3...pas gagné [ par Neferieb ]
Bonjour,Je suis un peu dérouté en ce moment car je découvre l'AS3 et je reste perplexe quant au manque d'info pour réaliser des applications web plus
php et flash 9 en AS3 [ par tranber78 ]
Ben voilà j'aimerai avoir un script pour faire dialoguer flash et php en AS3 pour des chargement dynamique de vidéos, de sons, d'images, etc...Merci à
Flash 9 / AS3 + Socket MySQL question [ par _benjy ]
Salut @ tous...Bon j'imgine que certain d'entre vous sont au courant de la publication de Flash 9 Alpha. Perso je l'ai recup av hier, et autant le dir
Compatibilité code flash8 ===> flash cs4 [ par sachie ]
Bonjour à tous!une question me turlupine!est il possible de récupérer un fichier .fla réalisé sous Macromedia Flash Professional 8 sous Flash cs4 ?Log
AS3- FsCommand [ par Maitrespl ]
Bonsoir a tous!Je viens récement de passer de l'AS2 à l'AS3 et j'avoue que j'en bave!Je suis en train de dévelloper un programme qui fonctionne en loc
flash et base de donnée sql AS3 [ par delminator ]
salut tout le monde je cherche un tuto pour les interactions " flash / php / base de donnée sql " en AS3existe t il aussi des softs pour simplifier l
importer une animation en flash As3 dans un swf as2 ? [ par nackdawa ]
Bonjour a tous :)J'ai une petite question piege, qui est dans mon titre. Comment faire pour lire une animation faite sous flash en mode As3 dans un lo
Flash chargement dynamique txt et parse avec css externe (AS3) [ par thewildwilliams ]
Salut à Tous g un soucis avec AS3, J'ai une un swf sur un site perso formatté en css, le swf charge dynamiquement un texte "playlist" et parse un css
CS4/AS3 : [ par mouahaha ]
Bonjour à tous !Je me suis récemment mis à l'AS3, et à Flash CS4 (je regrette d'ailleurs de ne pas m'y être mis plus tôt ^^), et je m'y fais assez bie
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|