Как использовать BitmapData.draw с NetStream.appendBytes?

Я использую NetStream.appendBytes () для воспроизведения локального видео (сервер не задействован) в Adobe AIR . Я хотел бы использовать BitmapData.draw () , чтобы сделать снимок видеовыхода, но получаю следующую ошибку:

Ошибка № 2123: нарушение безопасной изолированной программной среды: BitmapData.draw: невозможно получить доступ к нулю . Доступ к файлам политики не предоставлен.

Вот пример кода:

package
{
    import flash.display.Sprite;
    import flash.filesystem.File;
    import flash.filesystem.FileMode;
    import flash.filesystem.FileStream;
    import flash.media.Video;
    import flash.net.NetConnection;
    import flash.net.NetStream;
    import flash.net.NetStreamAppendBytesAction;
    import flash.utils.ByteArray;
    import flash.display.BitmapData;

    class ByteArrayPlayer extends Sprite
    {
        private var _ns:NetStream;
        private var _nc:NetConnection;
        private var _video:Video;

        public function playVideo(path:String):void
        {
            _nc = new NetConnection();
            _nc.connect(null);
            _ns = new NetStream(_nc);

            _video = new Video();
            addChild(_video);
            _video.attachNetStream(_ns);

            _ns.play(null);
            _ns.appendBytesAction(NetStreamAppendBytesAction.RESET_BEGIN);

            var file:File = new File(path);
            var fileStream:FileStream = new FileStream();
            fileStream.open(file, FileMode.READ);

            var bytes:ByteArray = new ByteArray();

            fileStream.readBytes(bytes);

            _ns.appendBytes(bytes);
        }


        public function getImage(video:Video):BitmapData
        {
            var bit:BitmapData = new BitmapData(_video.width, _video.height);
            bit.draw(_video);            //This will cause the error
            return bit;
        }
    }
}

Это только пример кода, который используется для объяснения. Ошибка может произойти при вызове метода getImage во время воспроизведения видео. В сообщении об ошибке упоминается, что файл политики не найден. Поскольку файл загружается локально, на самом деле нет места для размещения файла политики. Есть ли где-то параметр политики, который необходимо установить, или функция BitmapData.draw просто недоступна при использовании appendBytes ?

8
задан Aaron 6 August 2011 в 15:52
поделиться