Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   ByteArray/readFloat() Error #2030 (http://www.flasher.ru/forum/showthread.php?t=130685)

Jex 01.10.2009 18:47

ByteArray/readFloat() Error #2030
 
Написал визуализатор, в котором есть два массива. Первый Array расставляет загруженные картинки на свои места, второй ByteArray управляет позицией картинок на экране.

При ctrl+enter в окно output через раз выскакивает ошибка

Error: Error #2030: Обнаружен конец файла.
at flash.utils::ByteArray/readFloat()
at visualizator3_fla::MainTimeline/visualizator()

и нифига не работает.
Остальные разы работает нормально.
Файл swf не запускается, выдает то же самое.

Что не так?

iNils 01.10.2009 19:35

Цитата:

Что не так?
Обнаружен конец файла

BlooDHounD 01.10.2009 19:42

position = 0?

Jex 04.10.2009 14:42

Вот, обычный до безобразия код)

Код AS3:

import flash.display.Graphics;
import flash.events.Event;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.media.SoundMixer;
import flash.net.URLRequest;
import flash.events.ProgressEvent;
 
 
var channel:SoundChannel = new SoundChannel();
var vol:SoundTransform = new SoundTransform(0.01, 0);
var snd:Sound = new Sound(new URLRequest("/media/song.mp3"));
channel = snd.play(0,100,vol);
 
var i:Number;
var n:Number = 0;
var j:Number;
var k:Number;
var p:Number = 70;
 
 
var arr:Array = new Array();
 
for (j = 0; j < 32; j+=1)
{
        arr[j] = new Loader();
        arr[j].load(new URLRequest  ("/media/peak1.png"));
        mc. addChild (arr[j]);
        arr[j].y = 100;
        arr[j].x = j*40;
}
 
addEventListener(Event.ENTER_FRAME, visualizator);
function visualizator(event:Event):void
{
        channel.soundTransform = vol;
 
        var bytes:ByteArray = new ByteArray();
        SoundMixer.computeSpectrum(bytes, true, 0);       
        for (i = 0; i < 256; i+=8)
        {
                n = Math.abs(bytes.readFloat())*p;               
 
                if ( n > 100 - arr[i/8].y)
                {
                        arr[i/8].y = 100 - n
                }                                               
        }
        for (k = 0; k < 32; k+=1)
        {               
                arr[k].y +=3;
        }
}


wvxvw 04.10.2009 15:01

Могу только повторить:
Цитата:

Сообщение от BlooDHounD (Сообщение 855027)
position = 0


Jex 04.10.2009 15:17

Да, но в почему срабатывает через раз?

etc 04.10.2009 17:43

Что через раз?

Jex 05.10.2009 20:26

Цитата:

Сообщение от Jex (Сообщение 855020)
При ctrl+enter в окно output через раз выскакивает ошибка
Error: Error #2030: Обнаружен конец файла.
at flash.utils::ByteArray/readFloat()
at visualizator3_fla::MainTimeline/visualizator()
и нифига не работает.
Остальные разы работает нормально.
Файл swf не запускается, выдает то же самое.

С проблемой мне помогли разобраться, интересовало почему ошибка то была, то ее не было. :)


Часовой пояс GMT +4, время: 12:05.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.