Bonjour à tous
Aujoud'hui ce n'est pas réellement un tuto, mais plutot une étude de la classe
System de notre ami Flash.
Disponible depuis la version 6 (Mx), cette classe nous donne, entre autre, des infos sur le poste client (machine où s'exécute notre animation).
Dans ce post, je vais m'interresser à l'objet
capabilities de la Classe.
Pourquoi cet objet
L'objet
capabilities va nous permettre de connaitre la configuration de quelques périphériques de la machine, sa résolution, sa capacité à traiter l'audio, la vidéo.
Même si dans la majeure partie des cas (animation) la configuration "cliente" ne nous interesse pas

, il peut s'avérer très pratique de la connaitre dans le cadre d'application un peu plus complexe, gérant l'imprimante ou le micro par exemple.
De plus, il peut nous permettre de connaitre la version du lecteur Flash installé sur la machine, ce qui peut être pratique.
Un exemple complet vaut toujours mieux que de long discours, alors voilà un listing AS qui vous donne les plus importants (enfin à mon sens) paramètres de la machine.
Exemple
ActionScript Code:
/*****************************************
* ETUDE DU SYSTEME CLIENT
*****************************************/
trace(newline+"===== Configuration des périphériques =====");
trace("- Fonction Audio : "+((System.capabilities.hasAudio) ? "Ok" : "non"));
trace("- Fonction Audio MP3 : "+((System.capabilities.hasMP3) ? "Ok" : "non"));
trace("- Fonction Audio Streaming : "+((System.capabilities.hasStreamingAudio) ? "Ok" : "non"));
trace("- Fonction Video : "+((System.capabilities.hasVideoEncoder) ? "Ok" : "non"));
trace("- Fonction Video Streaming : "+((System.capabilities.hasStreamingVideo) ? "Ok" : "non"));
trace("- Fonction Accessibilité : "+((System.capabilities.hasAccessibility) ? "Ok" : "non"));
trace("- Fonction Impression : "+((System.capabilities.hasPrinting) ? "Ok" : "non"));
trace("- Fonction WebCam & Micro : "+((System.capabilities.avHardwareDisable) ? "Ok" : "non"));
trace(newline+"===== Configuration système =====");
trace("- Système d'exploitation : "+System.capabilities.os);
trace("- Langage utilisé : "+System.capabilities.language);
trace("- Résolution pixel : "+System.capabilities.screenResolutionX+"x"+System.capabilities.screenResolutionY+" pixels");
trace("- Résolution dpi : " +System.capabilities.screenDPI+" DPI");
trace("- Type écran : "+System.capabilities.screenColor);
trace(newline+"===== Configuration FlashPlayer =====");
chaineVersion = System.capabilities.version.split(",");
chainePlateforme = chaineVersion[0].substr(0,chaineVersion.length -1);
chaineMajeure = chaineVersion[0].substr(chaineVersion.length -1);
chaineMineure = chaineVersion[2];
trace("- Version Os : " + chainePlateforme);
trace("- Version majeure = " + chaineMajeure);
trace("- Version mineure = " + chaineMineure);
Complément
La classe
System possède aussi une méthode assez pratique quand on travaille avec du texte dans nos application.
Cette méthode se nomme :
setClipboard(string)
Cette méthode permet de mettre une chainede caractère dans le presse papier.
C'est tout bête, mais ça peut-être très pratique...
ActionScript Code:
System.setClipboard("Dans le presse papier");
Au niveau configuration de la Webcam, Micro, Fichier temporaires, un click droit sur votre Flash (menu "Setting") permet d'afficher le panneau de configuration de ces éléments.
On peut forcer (après un test avec
capabilities par exemple), l'affichage d'un panneau de configuration.
Méthode :
showSettings([panel])
[panel]peut prendre les valeurs suivantes :
1 : Fichiers temporaires
2 : Microphone
3 : Webcam
Voilà pour la petite description de cette classe
System qui peut quelques fois rendre bien des services.
@+ et bon code à tous.