Класс или интерфейс com.adobe.images.JPGEncoder не может быть загружен - PullRequest
0 голосов
/ 19 июля 2010

Я всего лишь новичок во 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

Я скачал as3corelibrary из правильного источникаcode.google.com и разместили папку в корне.Прямо сейчас это C: \ wamp \ www \ com \ adobe \ images \ JPGEncoder.as

Есть ли какой-нибудь classpath или что-то, что я должен установить?

Ответы [ 2 ]

0 голосов
/ 19 июля 2010

Похоже, вы поместили код as3corelib в корень веб-сервера - вы должны поместить исходный код в корневую папку вашего исходного пути. Обычно это та же папка, в которой находится ваш FLA. Скопируйте папку com в ту же папку, в которой находится ваш FLA, а затем скомпилируйте.

Если ваш FLA находится в той же папке (в корне веб-сервера), это плохая идея - каждый сможет получить доступ к вашему исходному коду.

0 голосов
/ 19 июля 2010

Да, вам нужно установить classpath.

Из Справка Adobe :

Чтобы установить исходный путь на уровне приложения:

  1. Выберите «Редактировать настройки» (Windows) илиFlash> «Установки» (Macintosh) и щелкните категорию ActionScript.
  2. Нажмите кнопку «Настройки ActionScript 3.0» и добавьте пути в список «Исходный путь».
...