无法加载类或接口'flash.utils.ByteArray'

时间:2010-07-17 15:25:37

标签: flash actionscript-3 camera 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 'flash.utils.ByteArray' could not be loaded.

这里有任何帮助吗?

我需要更改任何AS3设置吗?

1 个答案:

答案 0 :(得分:0)

听起来你没有使用AS3导出,当你必须导出时一定要选择“Actionscript 3”作为语言。我只是尝试使用CS3(但我怀疑CS5在这方面有所改变),一切正常。

要将项目更改为AS3(在CS3中):转到文件>发布设置...>点击Flash标签>将ActionScript版本更改为“Actionscript 3.0”。