Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.11.2010, 22:14
Новичок на форуме
Отправить личное сообщение для Besser Посмотреть профиль Найти все сообщения от Besser
 
Регистрация: 21.11.2010
Сообщений: 2

Графика в яваскрипт
Простите пожалуйста. Знаю, что не туда залез, но информация нужна как воздух. Объясню сразу всю суть дела.
Заходишь на сайт, включаешь любой трек на нем. В этот момент, между двумя определенными точками начинает двигаться его аудиоволна, как в программах работы со звуком.

Скажите пожалуйста, какие разделы яваскрипт программирования надо изучить, чтобы создать это?

Чтобы перелопатить все и найти интересующий нет времени, поэтому и обращаюсь. Еще раз извеняюсь.

Последний раз редактировалось Besser, 21.11.2010 в 22:29.
Ответить с цитированием
  #2 (permalink)  
Старый 21.11.2010, 22:23
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

В JavaScript пока такого нет, копайте в сторону ActionScript
Ответить с цитированием
  #3 (permalink)  
Старый 21.11.2010, 22:24
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Такого в JS не сделать. Если только отдельно не сохранять информацию об уровне звука в каждый момент времени.

Или ковырять файл и анализировать его (не знаю, получится ли из полученных данных построить его "волну"), что нудно и сложно.
Ответить с цитированием
  #4 (permalink)  
Старый 21.11.2010, 22:31
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Что-то типо такого на ActionScript:
var url:String = "song.mp3";  //путь к файлу
var request:URLRequest = new URLRequest(url);  
var s:Sound = new Sound();

s.addEventListener(Event.COMPLETE, completeHandler);  
s.load(request);
var song:SoundChannel = s.play();  
song.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler);  
var ba:ByteArray = new ByteArray();  

var gr:Sprite = new Sprite();  
gr.x = 20;  
gr.y = 200;  
addChild(gr);  

var time:Timer = new Timer(50);  
time.addEventListener(TimerEvent.TIMER, timerHandler);  
time.start();  
  
function completeHandler(event:Event):void {
  event.target.play();  
}  

function soundCompleteHandler(event:Event):void {
  time.stop();  
} 

function timerHandler(event:TimerEvent):void {
  SoundMixer.computeSpectrum(ba, true);
  var i:int;  	
  gr.graphics.clear();  	
  gr.graphics.lineStyle(0, 0xFF0000);  	
  gr.graphics.beginFill(0xFF0000);	  	
  gr.graphics.moveTo(0, 0);  	
  var wave:int = 2;  	
  for (i=0; i<512; i+=wave) {  		
    var t:Number = ba.readFloat();  		
    var n:Number = (t * 100);  		
    gr.graphics.drawRect(i, 0, wave, -n);  	
  }


Кстати вот пример
А вот тут подробности реализации

Последний раз редактировалось monolithed, 21.11.2010 в 22:34.
Ответить с цитированием
  #5 (permalink)  
Старый 21.11.2010, 22:36
Новичок на форуме
Отправить личное сообщение для Besser Посмотреть профиль Найти все сообщения от Besser
 
Регистрация: 21.11.2010
Сообщений: 2

Спасибо огромное=) значит это не яваскрипт. Хоть эту на эту загадку я узнал ответ.

Последний раз редактировалось Besser, 21.11.2010 в 22:38.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
IE6, яваскрипт, возврат на страницу кнопкой "Назад" Casufi Internet Explorer 0 28.10.2010 15:03
Яваскрипт считать не умеет? MCTrane Общие вопросы Javascript 3 19.08.2010 21:23
Игра на яваскрипт + Бесплатные скрипты alien777 Ваши сайты и скрипты 1 05.10.2009 22:34
Переодическое обновление значений для графика, функция для обновления значений yupa87 Общие вопросы Javascript 0 09.07.2009 14:48
!doctype влияет на работу яваскрипт?! Sha Общие вопросы Javascript 3 21.09.2008 21:37