我是一个全新的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 'flash.utils.ByteArray' could not be loaded.
这里有任何帮助吗?
我需要更改任何AS3设置吗?
答案 0 :(得分:0)
听起来你没有使用AS3导出,当你必须导出时一定要选择“Actionscript 3”作为语言。我只是尝试使用CS3(但我怀疑CS5在这方面有所改变),一切正常。
要将项目更改为AS3(在CS3中):转到文件>发布设置...>点击Flash标签>将ActionScript版本更改为“Actionscript 3.0”。