DRAGOnoid
20.06.2007, 18:47
наверно у многих стоит WinAmp. Помните там был графический эквалайзер? Так вот я хотел бы сделать такой же в mp3 плеере... почитал форум и немного хелп и на уставшую голову напрограмил что то типа этого.
------------//--------------
SoundMixer.computeSpectrum(this.spectrumInfo, false, 10);
this.mc.graphics.clear();
this.mc.graphics.beginFill(0x000000);
var temp_array = new Array();
for (var i:Number = new Number(0); i < 256; i+=1) {
var t:Number = this.spectrumInfo.readFloat();
t = Math.sqrt(t*t)*40;
if (t>18) t = 18;
temp_array.push(-Math.ceil(t));
}
for (var i2:Number = new Number(0); i2<25; i2+=1) {
this.mc.graphics.drawRect(20+i2*3, 109, 2, temp_array[i2*10]);
}
--------------------//--------------------
всё работает - только что то не тот эквалайзер получился.... в винампе скачет меньше и более логичней ... т.е. я так понял там идёт показ по частотам а тут по потокам... Ну или что то в этом роде...
у меня 2 вопроса
что означает this.spectrumInfo.readFloat(); я так и не понял? :rolleyes:
а второе - не могли бы подсказать как сделать "правильный графический эквалайзер" ?:away:
------------//--------------
SoundMixer.computeSpectrum(this.spectrumInfo, false, 10);
this.mc.graphics.clear();
this.mc.graphics.beginFill(0x000000);
var temp_array = new Array();
for (var i:Number = new Number(0); i < 256; i+=1) {
var t:Number = this.spectrumInfo.readFloat();
t = Math.sqrt(t*t)*40;
if (t>18) t = 18;
temp_array.push(-Math.ceil(t));
}
for (var i2:Number = new Number(0); i2<25; i2+=1) {
this.mc.graphics.drawRect(20+i2*3, 109, 2, temp_array[i2*10]);
}
--------------------//--------------------
всё работает - только что то не тот эквалайзер получился.... в винампе скачет меньше и более логичней ... т.е. я так понял там идёт показ по частотам а тут по потокам... Ну или что то в этом роде...
у меня 2 вопроса
что означает this.spectrumInfo.readFloat(); я так и не понял? :rolleyes:
а второе - не могли бы подсказать как сделать "правильный графический эквалайзер" ?:away: