Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2012, 02:49   #1
BARS1991
Пользователь
 
Регистрация: 13.11.2009
Сообщений: 18
Вопрос Визуализация на BASS.DLL

Надо сделать визуализацию "прыгающие столбики" на 6 полос, т.е. 6 столбиков. Программа выглядит так:
Получение системного звукового потока
Код:
HWND win=NULL;

HRECORD chan;	// recording channel

void Error(const char *es)
{
	char mes[200];
	sprintf(mes,"%s\n(error code: %d)",es,BASS_ErrorGetCode());
	MessageBox(win,mes,0,0);
}

BOOL CALLBACK DuffRecording(HRECORD handle, const void *buffer, DWORD length, void *user)
{
	return TRUE; // continue recording
}

static BOOL Initialize()
{
 if (!BASS_RecordInit(-1)) {
	Error("Can't initialize device");
	return FALSE;
 }else{
	chan = BASS_RecordStart(44100, 2, 0, &DuffRecording, 0);
 }
	return TRUE;
}
Ну и получаю массив с выборками:
Код:
BASS_ChannelGetData(chan, fft, BASS_DATA_FFT1024); // get the FFT data
Вот теперь основной вопрос, какие элементы массива fft взять для визуализации? Ведь каждый элемент массива - отдельная частота или нет? Просто если брать элементы с номером выше 40, то значения там почти нулевые. Что посоветуете?

P.S.
Билдеру явно не нравится bass.dll. Очень часто при вызове функции Initialize(); выскакивает ошибка доступа к памяти. При это если запускать прогу отдельно от билдера, ошибок нет. Так же выскакивают ошибки при закрытии проги и тоже только в билдере. Остановка bass.dll прописана:
Код:
  BASS_Stop();
  BASS_RecordFree();
  BASS_StreamFree(chan);
  BASS_Free();
Пробовал 2007 и 2009 билдер, ошибки в обоих. Из-за чего это может быть?
BARS1991 вне форума Ответить с цитированием
Старый 12.12.2012, 03:16   #2
Perchik71
С++, Delphi
Форумчанин
 
Аватар для Perchik71
 
Регистрация: 24.11.2012
Сообщений: 495
По умолчанию

гугли...
а так я делал эту хрень... bass.dll обнови лучше.
ссылка
качни BassSimple код на делфяке... но самый лучший пример плеера.. да и ваще дефи и билдер одного тела.. тоже одно уг.
Если помог, тут весы есть , Вам не сложно, а мне приятно.
Perchik71 вне форума Ответить с цитированием
Старый 12.12.2012, 03:18   #3
Perchik71
С++, Delphi
Форумчанин
 
Аватар для Perchik71
 
Регистрация: 24.11.2012
Сообщений: 495
По умолчанию

посмотри и это пошастай рунет. нечего мозг себе мучать.. всё есть.
Если помог, тут весы есть , Вам не сложно, а мне приятно.
Perchik71 вне форума Ответить с цитированием
Старый 12.12.2012, 18:43   #4
BARS_
 
Регистрация: 10.11.2011
Сообщений: 9
По умолчанию

Это не совсем то, что нужно. А первая ссылка вообще не рабочая. Через PaintBox я и так могу нарисовать. Мне надо узнать, какие частоты (элементы массива) лучше взять, для нормальной визуализации из 6 столбиков.
BARS_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Визуализация с использованием bass2.4.dll саша40 Мультимедиа в Delphi 6 21.09.2012 21:44
Визуализация с ипользованием bass.dll Ahmund Мультимедиа в Delphi 3 20.10.2011 08:13
Визуализация эквалайзера BASS.DLL SoftKoc Мультимедиа в Delphi 9 19.11.2009 03:14
Ошибка при выхове функций Bass.dll из другой DLL SalasAndriy Общие вопросы Delphi 7 21.10.2009 23:36
BASS Визуализация Garacio_cain Мультимедиа в Delphi 2 14.08.2008 00:19