Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 09.04.2016, 13:55
js roman1 js roman1 вне форума
Прохожий
 
Регистрация: 08.04.2016
Сообщения: 25
Версия Delphi: XE8
Репутация: 10
Вопрос Визуализация

Здравствуйте, у меня один вопрос по визуализации. Как можно визуализировать все звуки компьютера?
Я пытался совместить визуализацию bass.dll и mixerGetLineInfo(mixer,@FFTFata,MIXER_GETLINEINFOF _LINEID);
Но постоянно выходит ошибка...
Ответить с цитированием
  #2  
Старый 10.04.2016, 11:14
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
Сообщение от js roman1
...Как можно визуализировать все звуки компьютера?..
Можно просто колонки с цветомузыкой подключить

Что хоть за ошибка-то?
Ответить с цитированием
  #3  
Старый 10.04.2016, 19:40
js roman1 js roman1 вне форума
Прохожий
 
Регистрация: 08.04.2016
Сообщения: 25
Версия Delphi: XE8
Репутация: 10
По умолчанию

Код:
procedure TForm1.Button3Click(Sender: TObject);
var
FFTFata:TFFTData;
mixer: HMIXER;
i:integer;
begin
 BASS_RecordInit(-1);
 rchan := BASS_RecordStart(11025,2,0,nil,0);
 mixerOpen(@mixer,0,handle,0,CALLBACK_WINDOW);
 mixerGetLineInfo(mixer,@FFTFata,MIXER_GETLINEINFOF_LINEID);
 //BASS_ChannelGetData(, @FFTFata, BASS_DATA_FFT512);
 Draw (pb1.Canvas.Handle, FFTFata, 0,-5);
end;

Процедура Draw
Код:
procedure TForm1.Draw(HWND : THandle; FFTData : TFFTData; X, Y : Integer);
var i, YPos : LongInt; YVal : Single;
begin
pb1.Canvas.Pen.Color := clBlack;
pb1.Canvas.Brush.Color := clBlack;
pb1.Canvas.Rectangle(0, 0, pb1.Width, pb1.Height);
for i := 1 to 5 do
begin
 YVal := Abs(FFTData[i]);
 YPos := trunc((YVal) * 500);
 if YPos > pb1.Height then YPos := pb1.Height;
 if YPos >= FFTPeacks[i] then FFTPeacks[i] := YPos
  else FFTPeacks[i] := FFTPeacks[i] - 1;
 if YPos >= FFTFallOff[i] then FFTFallOff[i] := YPos
  else FFTFallOff[i] := FFTFallOff[i] - 3;
 pb1.Canvas.Pen.Color := clYellow;
 pb1.Canvas.MoveTo(X + i*(3+1) , Y + pb1.Height - FFTPeacks[i]);
 pb1.Canvas.LineTo(X + i*(3+1) + 3, Y + pb1.Height - FFTPeacks[i]);
 pb1.Canvas.Pen.Color := clRed;
 pb1.Canvas.Brush.Color := clRed;
 pb1.Canvas.Rectangle(X + i*(3+1) , Y + pb1.Height - FFTFallOff[i], X + i*(3+1) + 3, Y + pb1.Height);
end;

end;
Админ: Для вставки кода существует специальный тег CODE, а цитата - соотв. используется для цитирования текста.

Invalid floating point operation
Я незнаю, может в bass.dll есть какой то определенный поток который отвечает за все звуки компьютера?

Последний раз редактировалось Admin, 14.04.2016 в 09:36.
Ответить с цитированием
  #4  
Старый 13.04.2016, 23:07
js roman1 js roman1 вне форума
Прохожий
 
Регистрация: 08.04.2016
Сообщения: 25
Версия Delphi: XE8
Репутация: 10
По умолчанию

Ну так что?
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:41.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter