PDA

Просмотр полной версии : Превращение мелодии в byteArray и обратно


tooth212
19.01.2014, 20:41
Добрый день. Возникла проблема при превращении мелодии в ByteArray и обратно.
import flash.events.Event;
import flash.media.Sound;
import flash.net.URLRequest;
var ba:ByteArray = new ByteArray();
var s:Sound = new Sound();
s.addEventListener(Event.COMPLETE, onSoundLoaded);
var req:URLRequest = new URLRequest("test.mp3");
s.load(req);

function onSoundLoaded(event:Event):void
{
ba.writeUTFBytes(String(event.target));
trace(ba);
var str:Sound = ba.readUTFBytes( ba.bytesAvailable ) as Sound;
str.play();
}
Выдает:
[object Sound]
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at load_music_fla::MainTimeline/onSoundLoaded()

Что надо исправить?

Koopa
19.01.2014, 21:12
Перед чтением ByteArray установить позицию в 0. ba.position=0

tooth212
19.01.2014, 22:13
К сожалению, ничего не поменялось.

GBee
19.01.2014, 22:44
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/Sound.html#loadCompressedDataFromByteArray()
Только для 11 плеера и выше

tooth212
19.01.2014, 23:13
Большое спасибо, работает.