0

私はフラッシュ初心者です。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 です

私が設定しなければならないクラスパスまたは何かがありますか?

4

2 に答える 2

0

はい、クラスパスを設定する必要があります。

アドビのヘルプから:

アプリケーション レベルのソース パスを設定するには:

  1. [環境設定の編集] (Windows) または [Flash] > [環境設定] (Macintosh) を選択し、[ActionScript] カテゴリをクリックします。
  2. [ActionScript 3.0 設定] ボタンをクリックし、パスを [ソース パス] リストに追加します。
于 2010-07-19T06:21:53.643 に答える
0

as3corelib のコードを Web サーバーのルートに配置したようです。ソースをソース パスのルート フォルダーに配置する必要があります。通常、これは FLA と同じフォルダーです。comFLA を含む同じフォルダーにフォルダーをコピーしてから、コンパイルします。

FLA が同じフォルダー (Web サーバーのルート) にある場合、そもそもそれは悪い考えです。誰もがソース コードにアクセスできます。

于 2010-07-19T06:23:02.710 に答える