Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос по Bass.dll [D7, Win95/98]


fashionguide ©   (2004-12-09 00:34:00) 

Я юзаю bass.dll напрямую, без всяких bassplayer'ов..
У меня есть бегунок - TrackBar. Хочу сделать с его помощью перемещение по звучащему файлу. ТрэкБар состоит из 100 рубцов.
При передвижении файл начинает звучать с самого начала.. А не с того момента, куда я передвинул положение трэкбара. Посмотрите, где что неправильно.


var
  position, result: integer;
  SongLen : int64;
  FloatLen : float;
begin
  SongLen := BASS_StreamGetLength(hMus3);
  FloatLen := BASS_ChannelBytes2Seconds(hMus3, SongLen);
  Result := round(1000 * FloatLen);
 
Position := Round(trackbar3.Value*result/100);
Bass_channelstop(hMus3);
 
hMus3:=BASS_StreamCreateFile(False, PChar (lfn3.Caption), Position,0,0);
BASS_StreamPlay(hMus3,false,0);


Kair   (2004-12-09 06:52:00) [1]



var
 SongLen, Position: Int64;
begin
SongLen := BASS_StreamGetLength(hMus3);
Position := Round(TrackBar1.Value * SongLen / 100);
if Position < SongLen then
 Bass_ChannelSetPosition(hMus3, Position) else
 Bass_ChannelStop(hMus3);
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо