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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2011, 13:11   #1
Kovax
Пользователь
 
Регистрация: 21.12.2010
Сообщений: 28
По умолчанию Вопросы по bass.dll

Пишу простенький проигрыватель, в общем хочу реализовать при двойном клике на строке в листе выделенный трек проигрывал.

Код:
procedure TForm1.DirbtnClick(Sender: TObject);
  var
  chosenDir:string;
  fs: tSearchRec;
begin
    //***вместо '' можно указать путь по умолчанию, напр. 'c:\music\'
  //***если оставить '' то будет предложен стандартный диалог выбора каталога
  if SelectDirectory('Выберите каталог','', chosenDir)
  then
    begin
      LstBox.Clear;
      if (FindFirst(chosenDir+'\*.mp3', faAnyFile, fs)=0) or
         (FindFirst(chosenDir+'\*.wav', faAnyFile, fs)=0)
      then
      repeat
        LstBox.Items.Add(chosenDir+'\'+fs.Name);
        FindNext(fs);
        LstBox.Items.Add(chosenDir+'\'+fs.Name);
      until FindNext(fs)<>0;
    if LstBox.Items.Count<>0 then
      begin
        //***автоматически выделяем первый файл в списке
        LstBox.Selected[0]:=true;
      end;
    end;
end;

procedure TForm1.lstboxDblClick(Sender: TObject);
begin
{ BASS_StreamCreateFile:=lstbox.items.Strings[lstbox.itemindex];//добавляем строку
////////////mediaplayer1.Open; //открываем
///////////Timer1.Enabled:=true; //запускаем таймер для отсчёта времени

end;

end.
Знаю как реализовать на МП но в бассе мало работаю.

Последний раз редактировалось Kovax; 12.05.2011 в 15:14.
Kovax вне форума Ответить с цитированием
Старый 12.05.2011, 13:57   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

к BASS-пакету прилагаются демки и HELP, не поленитесь заглянуть.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 12.05.2011, 15:13   #3
Kovax
Пользователь
 
Регистрация: 21.12.2010
Сообщений: 28
По умолчанию

Ничего подходящего не нашел.

Последний раз редактировалось Kovax; 12.05.2011 в 15:19.
Kovax вне форума Ответить с цитированием
Старый 14.05.2011, 01:10   #4
Kovax
Пользователь
 
Регистрация: 21.12.2010
Сообщений: 28
По умолчанию

Есть вопрос. Есть чекбокс, который реализовывает включение и выключения звука, но когда я включаю его обратно то звука нет, до тех пор, пока я не двину ползунок громкости.

Код:
procedure TKXPlayer.VolchkClick(Sender: TObject); // процедура состояния звука
begin
if Volchk.Checked=true then // если состояние звука вкл.
Volchk.Caption:='Звук вкл.';  // имя изменяется на Звук вкл.
BASS_SetVolume(VolumeBar.Position); // устанавливается громкость по ползунку
if Volchk.Checked=false then  // если состояние звука откл.
Volchk.Caption:='Звук откл.'; // имя изменяется на Звук откл.
Bass_SetVolume(0); // устанавливается громкость 0
end;
Что тут не так?
Kovax вне форума Ответить с цитированием
Старый 14.05.2011, 02:04   #5
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,442
По умолчанию

Глупо. Зачем вам вообще чекбокс, если у вас есть ползунок громкости? Который и без всяких чекбоксов может выключать/включать звук.

Или это ради того чтобы выводить "Вкл/выкл звук"?
Тогда это ещё проще..

в OnChange ползунка пишем код:
Код:
if (VolumeBar.Position = 0) then 
blabla.caption:='звук выкл'
else
blabla.caption:='звук вкл'
Человек_Борща вне форума Ответить с цитированием
Старый 14.05.2011, 02:50   #6
Kovax
Пользователь
 
Регистрация: 21.12.2010
Сообщений: 28
По умолчанию

По сути да, но это не так важно. Вот есть одно не понятное для меня, если я изменяю состояние ползунка, у меня в системе тоже звук меняется. Это решаемо?
Kovax вне форума Ответить с цитированием
Старый 15.05.2011, 12:00   #7
BB2000
Пользователь
 
Регистрация: 03.02.2011
Сообщений: 19
По умолчанию

Цитата:
Сообщение от Kovax Посмотреть сообщение
Ничего подходящего не нашел.
Что значет "не нашёл"? Да там хелп, довольно нормально расписан.
Steram:HSTREAM;
Steram:=BASS_StreamCreateFile(FALSE ,PChar(FileName),0,0, Flags);
Не помагает?
BB2000 вне форума Ответить с цитированием
Старый 16.05.2011, 01:08   #8
Kovax
Пользователь
 
Регистрация: 21.12.2010
Сообщений: 28
По умолчанию

Это все не то, что мне нужно было, но я решил уже эту проблему, всё работает.
Вот навеял один вопрос, как можно реализовать добавление трека в плейлист путем переноса из проводника в ListBox? Такая функция вроде называется Drag and Drop?
Kovax вне форума Ответить с цитированием
Старый 18.05.2011, 11:02   #9
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Посмотри вот этот пример Bass_Effects
в нем много полезных функций реализовано
http://zalil.ru/31063824
Aliens_wolfs вне форума Ответить с цитированием
Старый 18.05.2011, 11:02   #10
Koper72Rus
Пользователь
 
Регистрация: 17.05.2011
Сообщений: 18
По умолчанию

aliens wolf посмотри мою тему помощь нужна
Koper72Rus вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
bass.dll larry Общие вопросы C/C++ 1 09.11.2009 13:23
Ошибка при выхове функций Bass.dll из другой DLL SalasAndriy Общие вопросы Delphi 7 21.10.2009 23:36
BASS DLL ygy Мультимедиа в Delphi 4 29.09.2009 04:39
BASS.DLL VintProg Мультимедиа в Delphi 2 21.09.2009 16:36
bass.dll Elem Мультимедиа в Delphi 18 19.07.2009 11:04