2010-07-19 24 views
0

Je suis un débutant Flash total. Je viens d'installer Flash CS5 et écrit le code suivant:La classe ou l'interface com.adobe.images.JPGEncoder n'a pas pu être chargée

import flash.display.BitmapData 
import flash.geom.Matrix 
import com.adobe.images.JPGEncoder; 
import flash.net.FileReference; 
import flash.utils.ByteArray; 

//get the default camera 
//change your Default camera using the Flash Player Settings. 
cam=Camera.get() 
//this event is called whenever permission to access the local camera, is accepted or denied by the user 
cam.onStatus=function(e) 
{ 
    //if we are given permission 
    if(e.code == "Camera.Unmuted") 
    { 
     //start the application 
     initialize() 
    } 
    else 
    { 
     System.showSettings(3) 
    } 
} 

var snapshot:BitmapData=new BitmapData(cam.width,cam.height); 

function takeSnapshot() 
{ 
    var i:Number=1; 
    var fileRef:FileReference = new FileReference(); 
    snapshot.draw(cam,new Matrix()); 
    //saveImage(); 
    var encoder:JPGEncoder = new JPGEncoder(); 
    var ba:ByteArray = encoder.encode(bitmapData); 
    fileRef.save(ba,"capture"+i+".jpg"); 
    i++; 
} 


//if there are no Cameras 
if(cam == null) 
{ 
    System.showSettings(3) 
} 
else 
{ 
    cam.setMode(1024, 768, 30); 
    cam.setQuality(10000,0); 
    output.attachVideo(cam); 
    setInterval(this,"takeSnapshot",100); 
} 

Lors de l'exportation au format SWF, je reçois l'erreur:

The class or interface com.adobe.images.JPGEncoder could not be loaded 

J'ai téléchargé le as3corelibrary de la bonne source de code.google. com et ont placé le dossier dans la racine. En ce moment c'est C: \ wamp \ www \ com \ adobe \ images \ JPGEncoder.as

Y at-il un chemin de classe ou quelque chose que je dois définir?

Répondre

0

On dirait que vous avez mis le code pour as3corelib à la racine du serveur Web - que vous avez à mettre la source dans le dossier racine de votre chemin source. Normalement, c'est le même dossier qui a votre FLA. Copiez le dossier com dans le même dossier qui contient votre fichier FLA, puis compilez-le. Si votre FLA se trouve dans le même dossier (la racine du serveur Web), c'est une mauvaise idée: tout le monde pourra accéder à votre code source.

+0

Oh oui j'ai mis le as3corelib dans la racine de mon serveur. Et le fichier FLA est ailleurs. Je vais me corriger comme tu l'as dit. –

0

Oui, vous devez définir le chemin de classe.

De Adobe help:

Pour définir le chemin source de niveau d'application :

  1. Choisissez Édition Préférences (Windows) ou Flash> Préférences (Macintosh) et cliquez sur la catégorie ActionScript.
  2. Cliquez sur le bouton Paramètres d'ActionScript 3.0 et ajoutez le (s) chemin (s) à la liste des chemins source.
+0

Vous voulez ajouter "C: \ wamp \ www \ com \ adobe \ images \ JPGEncoder.as" ou simplement "C: \ wamp \ www \ com \ adobe \ images"? –

+0

Vous devez ajouter 'C: \ wamp \ www'. Le paquet 'com.adobe.images' indique au compilateur où chercher les classes. –