无法加载类或接口com.adobe.images.JPGEncoder

时间:2010-07-19 06:16:57

标签: flash jpeg flash-cs5

我是一个全新的Flash新手。我刚刚安装了Flash CS5并编写了以下代码:

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);
}

在导出到SWF时,我收到错误:

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

我已从code.google.com下载了来自正确来源的as3corelibrary,并已将该文件夹放在根目录中。现在它是C:\ wamp \ www \ com \ adobe \ images \ JPGEncoder.as

是否有必须设置的类路径或其他内容?

2 个答案:

答案 0 :(得分:0)

是的,您需要设置类路径。

来自Adobe help

  

设置应用程序级源   路径:

     
      
  1. 选择编辑首选项(Windows)或Flash>首选项(Macintosh)和   单击ActionScript类别。
  2.   
  3. 单击“ActionScript 3.0设置”按钮并添加路径   源路径列表。
  4.   

答案 1 :(得分:0)

看起来您已将as3corelib的代码放在Web服务器的根目录中 - 您必须将源代码放在源路径的根文件夹中。通常,这是与您的FLA相同的文件夹。将com文件夹复制到包含FLA的同一文件夹,然后进行编译。

如果您将FLA放在同一个文件夹(Web服务器的根目录)中,那么开始时这是一个坏主意 - 每个人都可以访问您的源代码。