Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Звук, графика и видео > Визуализатор спетра bass


Автор: Racer 28.6.2009, 15:47
Никак не могу понять как сделать визуализатор спектра bass.  Может мне кто-то поможет, а то в плеере очень не хватает этого.
Интересуюсь именно считыванием данных о уровнях на разных частотах с потока.

Автор: AntonN 29.6.2009, 01:31
http://desksoft.ru/index.php?downloads=files&id=11
Цитата

пример плеера на основе bass.dll, графический и звуковой эквалайзеры, эффекты

Автор: AndreyZ53 2.7.2009, 20:16
Я делал так
В uses подлкючил spectrum_vis
На OnCreate написал
Код

Spectrum:= TSpectrum.Create(PaintBox1.Width, PaintBox1.Height);
Spectrum.Pen:=clGreen;
Spectrum.Mode:=1;

На таймер написал
Код

var
  FFTFata : TFFTData;
begin
   BASS_ChannelGetData(Channel, @FFTFata, BASS_DATA_FFT1024);
   Spectrum.Draw(PaintBox1.Canvas.Handle, FFTFata, 1,1);
end;

И все нормально работает! Файл spectrum_vis.pas приложил

Автор: Racer 2.7.2009, 21:31
А он не компилится: хочет CommonTypes.dcu
Где его взять?

Автор: AndreyZ53 3.7.2009, 09:58
Вот дери скинул ещё пару файлов, которые должны пригодиться!

Автор: Racer 3.7.2009, 11:48
А вот он еще тут ругается: 
Код

procedure TForm1.Timer3Timer(Sender: TObject);
var
 FFTFata : TFFTData; // Что за тип такой TFFTData
begin
 BASS_ChannelGetData(Handle, @FFTFata, BASS_DATA_FFT1024);
 Spectrum.Draw(PaintBox1.Canvas.Handle, FFTFata, 1,1);
end;


Он не хочет его принимать.

Автор: AndreyZ53 3.7.2009, 19:48
Цитата(Racer @ 3.7.2009,  11:48)
А вот он еще тут ругается: 
Код

procedure TForm1.Timer3Timer(Sender: TObject);
var
 FFTFata : TFFTData; // Что за тип такой TFFTData
begin
 BASS_ChannelGetData(Handle, @FFTFata, BASS_DATA_FFT1024);
 Spectrum.Draw(PaintBox1.Canvas.Handle, FFTFata, 1,1);
end;


Он не хочет его принимать.

Ну вообще этот тип долже быть в этом модуле spectrum_vis.pas, я не знаю в чем дело, у меня все работет, попробуй ещё подключить модули что я тебе ща скину ещё может в них этот тип

Автор: Racer 3.7.2009, 22:10
ОПять чето не пашет.
Я приложил проект на квипо-сервер, а то сюда не влазит.
http://file.qip.ru/file/93933740/df2682d5/_5__BASS.html

Автор: AndreyZ53 3.7.2009, 22:30
Все ща точно должно работать, прилаживаю файл с типами данных не забудь его подлюкчать также в uses в твоем бы проекте сделал, но нету компонентов тех которые ты использовал у себя. Ещё хотел у тебя спросить, сорри что не по теме, но как ты сделал липкое окно у себя, там где у тебя плэйлист идет? И скажи помог последний файлик, работает?

Автор: Racer 3.7.2009, 22:40
Липкое окно: 
Код

  private
    { Private declarations }
  procedure noMovePlease(var Message: TMessage); message WM_NCHITTEST;
. . .
procedure TForm2.noMovePlease(var Message: TMessage);
begin
 inherited;
 with Message do
 if Result = HTCAPTION then Result := HTNOWHERE;
end;

И все. Где-то на форумах нашел)))))
Щас проверю с последним файлом. Надеюсь поможет.

Добавлено через 7 минут и 8 секунд
1) Эти файлы ты уже давал и в юзес я их записывал.
2) НЕ заработало!!! smile  smile  smile  smile  smile  smile  smile  smile  smile  smile  smile  smile  smile  smile  smile  smile 

Автор: AndreyZ53 4.7.2009, 09:18
Вот держи я тебе сделал проект, простой открой файл и все появиться, запусти exe у меня работает!!! Использую bass.dll версии 2.4 так что ничего не меняй там должно все работать, отпишись потом!

Автор: Racer 12.7.2009, 20:53
Все работает. Я так давно не писал т.к. не был дома.Все супер, я уже его к себе в проект вставил. Еще сделаю скины не альфаконтролзом, а будет плеер сам рисовать. Думаю так оперативы будет меньше жрать, а то по моему А..контролз все скины сразу в память грузит, а так не пойдет, надо чем меньше тем лучще. Как сделаю, дам проект.

Большое СПАСИБО за помощь!!!!!!!!!!!! smile  smile  smile  smile  smile  smile

Автор: Racer 12.7.2009, 22:24
Столкнулся с проблемой - надо новый трекбар. Такой чтобы, можно было его стиль менять- ну там сам бегунок и полосу для бегунка. Надо чтоб и в 1 и во 2 вышеукзанное свойство можно было вставить картинки. Альфаконтролз не предлагать (хоть там картинку вставить нельзя), я от этого как раз отказываюсь. Может у кого есть такой ком-т? Или кто умеет писать ком-ты может мне поможет, т.к. я ни разу не писал сам ком-т. Канешно позже попробую а щас не могу

Автор: Alexeis 12.7.2009, 22:37
Модератор: Пожалуйста, один топик - один вопрос.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)