我是一个全新的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
是否有必须设置的类路径或其他内容?
答案 0 :(得分:0)
是的,您需要设置类路径。
来自Adobe help:
设置应用程序级源 路径:
- 选择编辑首选项(Windows)或Flash>首选项(Macintosh)和 单击ActionScript类别。
- 单击“ActionScript 3.0设置”按钮并添加路径 源路径列表。
醇>
答案 1 :(得分:0)
看起来您已将as3corelib的代码放在Web服务器的根目录中 - 您必须将源代码放在源路径的根文件夹中。通常,这是与您的FLA相同的文件夹。将com
文件夹复制到包含FLA的同一文件夹,然后进行编译。
如果您将FLA放在同一个文件夹(Web服务器的根目录)中,那么开始时这是一个坏主意 - 每个人都可以访问您的源代码。