![]() |
|
||||||||||
|
|||||
|
Регистрация: Jun 2007
Сообщений: 2
|
Здравствуйте! ПРоблемы с частотным анализатором - эквалайзером.
При компиляции в самой среде CS3 всё работает, но при загрузки флэшки в интернет експлорере или других браузерах эквалайзер пропадает, хотя звук слышен. Я так понял проблемы с функцией SoundMixer.computeSpectrum(baByteArray,true,0); Я вставлял вывод текста в событии, и он не выводился после этой функции, как-будто на ней ход выполнения программы прирывался. В чём дело? Можетя что не так совсем делаю? ![]() И ещё одна проблема, иногда бывает, что звук начинает медленнее играть, как будто зажевывает... написал такой код: package { import flash.display.Sprite; import fl.controls.Slider; import fl.events.SliderEvent; import flash.media.SoundMixer; import flash.media.Sound; import flash.media.SoundChannel; import flash.media.SoundTransform; import flash.media.SoundLoaderContext; import flash.events.Event; import flash.events.IOErrorEvent; import flash.events.SecurityErrorEvent; import flash.errors.IOError; import flash.events.ErrorEvent; import flash.display.MovieClip; import flash.utils.ByteArray; import flash.net.URLRequest; public class equalizer4 extends MovieClip { public var s:Sound; public var sc:SoundChannel; public var baByteArray:ByteArray; public var array:Array; public var xx,yy,ww,hh:int; var a:Number; public var ddd:URLRequest; public function equalizer4():void { a = 0; s = new Sound(); baByteArray = new ByteArray(); xx = help_mc.x; yy = help_mc.y; ww = help_mc.width; hh = help_mc.height; s.load(new URLRequest("test.mp3"),new SoundLoaderContext(1000, false)); sc = s.play(0, 0, new SoundTransform(1)); this.addEventListener(Event.ENTER_FRAME, spectrum); } function spectrum(event:Event):void { a = 0; SoundMixer.computeSpectrum(baByteArray,true,0); graphics.clear(); for (var i=0; i < 256; i=i+8) { a = baByteArray.readFloat(); var num:Number = a*360; var col:uint = 0xEDB9F6 | (num << 8); graphics.beginFill(col); graphics.lineStyle(3,col); graphics.drawRect(ww*(i/256),0 - ((num*hh)/500) ,(ww/256), ((num*hh)/500)); graphics.endFill(); } } } } Последний раз редактировалось Okarien; 17.03.2009 в 21:49. Причина: подумал подумал.... |
![]() |
![]() |
Часовой пояс GMT +4, время: 07:19. |
|
|
« Предыдущая тема | Следующая тема » |
|
|