Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 17.03.2009, 19:24
Okarien вне форума Посмотреть профиль Отправить личное сообщение для Okarien Найти все сообщения от Okarien
  № 1  
Ответить с цитированием
Okarien

Регистрация: Jun 2007
Сообщений: 2
По умолчанию Flash, SoundMixer.computeSpectrum

Здравствуйте! ПРоблемы с частотным анализатором - эквалайзером.

При компиляции в самой среде CS3 всё работает, но при загрузки флэшки в интернет експлорере или других браузерах эквалайзер пропадает, хотя звук слышен. Я так понял проблемы с функцией
SoundMixer.computeSpectrum(baByteArray,true,0); Я вставлял вывод текста в событии, и он не выводился после этой функции, как-будто на ней ход выполнения программы прирывался. В чём дело? Можетя что не так совсем делаю?

И ещё одна проблема, иногда бывает, что звук начинает медленнее играть, как будто зажевывает...


написал такой код:

Код AS3:
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, время: 00:13.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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