![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по 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;