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

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

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.08.2011, 15:00   #1
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
Злость Bass 1.3

ребят опишите все функции этой старенькой библы и их применение просто у меня плеер на ней ((( а вот перевести на более новую немогу((
Кольша вне форума Ответить с цитированием
Старый 16.08.2011, 19:29   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

возьмите доку и прочитайте
p51x вне форума Ответить с цитированием
Старый 17.08.2011, 09:47   #3
Anfall
Форумчанин
 
Регистрация: 10.02.2009
Сообщений: 181
По умолчанию

А в чем проблема перевести на последнюю версию?
подключаешь bass.pas
bass.dll кидаешь рядом с экзэшником.

oncreate
Код:
BASS_init(-1,44100,0,form1.handle,nil);
openfile (для юникодной делфи)
Код:
var
  channel: HStream;
begin
  BASS_StreamFree(channel); {если уже был открыт файл. Если что никаких ошибок не вылезет}
  channel :=  BASS_StreamCreateFile(False, PChar(FILEPATH), 0, 0, BASS_UNICODE);
end;
play/pause/stop
Код:
BASS_ChannelPlay(channel, false);
BASS_ChannelPause(Channel);
BASS_ChannelStop(Channel)
Ну и все в таком стиле. Если надо, могу поискать у себя еще разных функций, типа определение текущей позиции, продолжительность и т.д.
Anfall вне форума Ответить с цитированием
Старый 17.08.2011, 12:36   #4
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

проблема в том что я не умею делать эквалайзер и анализатор звука на новой версии bass.dll((((((
ну и кстати зацените http://ka4kavk.ks8.ru/komp/K.O.M.P.exe

Последний раз редактировалось Кольша; 17.08.2011 в 12:38. Причина: _|_
Кольша вне форума Ответить с цитированием
Старый 17.08.2011, 22:41   #5
Anfall
Форумчанин
 
Регистрация: 10.02.2009
Сообщений: 181
По умолчанию

Цитата:
Сообщение от Кольша Посмотреть сообщение
проблема в том что я не умею делать эквалайзер и анализатор звука на новой версии bass.dll((((((
ну и кстати зацените http://ka4kavk.ks8.ru/komp/K.O.M.P.exe
В эквалайзере ничего сложного нет.
Объявляем переменные (в примере использую глобальные, но лучше их не использовать, а сделать отдельный класс):
Код:
var
 p: BASS_DX8_PARAMEQ;
 fx: array[1..10] of integer;
Кидаем на форму 10 трэкбаров: Trackbar1,Trackbar2.....Trackbar10. У всех max: 30, min: 0, position:15.
А также назначаем каждому трэкбару tag. Первому (Trackbar1) ставим tag=1, Второму (Trackbar2) ставим tag=2 и так до последнего (10-го) трэкбара.

Сделаем для них один общий обработчик onchange:
Код:
procedure TForm1.TrackBarChange(Sender: TObject);
begin
  SetEQ((sender as Ttrackbar).Tag,(sender as Ttrackbar).Position);
end;
Далее создадим 3 процедуры:

1) данную процедуру мы должны вызывать как только открыли файл (можно сделать конечно в цикле, но так наглядней).
Код:
procedure TForm1.inieq;
begin
    fx[1] := BASS_ChannelSetFX(channel, BASS_FX_DX8_PARAMEQ, 1);//первый канал эквалайзера
    fx[2] := BASS_ChannelSetFX(channel, BASS_FX_DX8_PARAMEQ, 1);//второй канал
    fx[3] := BASS_ChannelSetFX(channel, BASS_FX_DX8_PARAMEQ, 1);
    fx[4] := BASS_ChannelSetFX(channel, BASS_FX_DX8_PARAMEQ, 1);
    fx[5] := BASS_ChannelSetFX(channel, BASS_FX_DX8_PARAMEQ, 1);
    fx[6] := BASS_ChannelSetFX(channel, BASS_FX_DX8_PARAMEQ, 1);
    fx[7] := BASS_ChannelSetFX(channel, BASS_FX_DX8_PARAMEQ, 1);
    fx[8] := BASS_ChannelSetFX(channel, BASS_FX_DX8_PARAMEQ, 1);
    fx[9] := BASS_ChannelSetFX(channel, BASS_FX_DX8_PARAMEQ, 1);
    fx[10] := BASS_ChannelSetFX(channel, BASS_FX_DX8_PARAMEQ, 1);

    p.fBandwidth := 18; //ширина полосы пропускания

    p.fGain := 15-formeq.TrackBar1.Position;
    p.fCenter := 80;
    BASS_FXSetParameters(fx[1], @p);

    p.fGain := 15-formeq.TrackBar2.Position;
    p.fCenter := 170;
    BASS_FXSetParameters(fx[1], @p);

    p.fGain := 15-formeq.TrackBar3.Position;
    p.fCenter := 310;
    BASS_FXSetParameters(fx[3], @p);

    p.fGain := 15-formeq.TrackBar4.Position;
    p.fCenter := 600;
    BASS_FXSetParameters(fx[4], @p);

    p.fGain := 15-formeq.TrackBar5.Position;
    p.fCenter := 1000;
    BASS_FXSetParameters(fx[5], @p);

    p.fGain := 15-formeq.TrackBar6.Position;
    p.fCenter := 3000;
    BASS_FXSetParameters(fx[6], @p);

    p.fGain := 15-formeq.TrackBar7.Position;
    p.fCenter := 6000;
    BASS_FXSetParameters(fx[7], @p);

    p.fGain := 15-formeq.TrackBar8.Position;
    p.fCenter := 12000;
    BASS_FXSetParameters(fx[8], @p);

    p.fGain := 15-formeq.TrackBar9.Position;
    p.fCenter := 14000;
    BASS_FXSetParameters(fx[9], @p);

    p.fGain := 15-formeq.TrackBar10.Position;
    p.fCenter := 16000;
    BASS_FXSetParameters(fx[10], @p);
end;
2) Данная процедура удаляет настройки эвалайзера (можно вызывать перед освобождением канала)
Код:
procedure Tform1.RemoveEQ;
var
  i: Integer;
begin
  for i := 1 to 10 do
  begin
    BASS_ChannelRemoveFX(channel, Fx[i]);
  end;
end;
3) Ну и сам обработчик события onchange для наших трэкбаров:
Код:
procedure Tform1.SetEQ(x:integer;z:integer);
begin
  BASS_FXGetParameters(fx[x], @p);
  p.fgain := 15-z;
  BASS_FXSetParameters(fx[x], @p);
end;
Если что не работает, пиши. Может чего забыл.

Последний раз редактировалось Anfall; 17.08.2011 в 22:44.
Anfall вне форума Ответить с цитированием
Старый 18.08.2011, 15:18   #6
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

спасиб время будет начну переводить на новую кстати мне никто так и не сказал во первых как плеер? во 2 а как же сделать анализатор звука за помощь спасибо))
Кольша вне форума Ответить с цитированием
Старый 18.08.2011, 18:28   #7
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

эквалайзер на bass_fx
Учимся писать анализаторы
ZuBy вне форума Ответить с цитированием
Старый 18.08.2011, 18:48   #8
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

спасибо Zuby,скажи а как ты в своем плеере сделал редактор тегов????
Кольша вне форума Ответить с цитированием
Старый 18.08.2011, 18:49   #9
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

а что именно интересует?
ZuBy вне форума Ответить с цитированием
Старый 18.08.2011, 18:55   #10
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

Ваще интересует все но можеш хотябы сказать как твой плеер загружает обложку альбома я вчера себе голову сломал не смог загрузить((
Кольша вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Bass Dr.Badnezz Мультимедиа в Delphi 3 20.09.2011 20:57
Позиция в BASS mutabor Мультимедиа в Delphi 7 19.09.2010 16:30
bass.dll larry Общие вопросы C/C++ 1 09.11.2009 13:23
Теги и BASS Gr@nd Мультимедиа в Delphi 2 02.09.2009 09:49
bass.dll Elem Мультимедиа в Delphi 18 19.07.2009 11:04