1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

Bass.dll - определение позиции проигрывания потока.

Тема в разделе "Delphi - программирование", создана пользователем kalexi, 24 авг 2007.

  1. kalexi

    kalexi Гость

    Репутация:
    0
    Такое дело. У меня проигрывается файл. Я сделал бар для того, чтобы можно было менять позицию проигрывания (мотать). Все просто, делается так:

    Код:
    PosBar.max = := BASS_StreamGetLength(result);
    
    procedure TmainFrm.PosBarScroll(Sender: TObject;
    ScrollCode: TScrollCode; var ScrollPos: Integer);
    begin
    if ScrollCode=scEndScroll then
    if not BASS_ChannelSetPosition(result,PosBar.Position) then
    PosBar.Position := 0;
    end;


    Все работает НО мне еще необходимо чтобы этот PosBar менял свою позицию во время проигрывания.
    Пытался повесить функцию BASS_ChannelGetPosition на таймер, но она при каждом ее вызове притормаживает воспроизведение файла.

    Есть еще какие функции или методы решения этой проблемы?
     
  2. ISDisk

    ISDisk Гость

    Репутация:
    0
    Код:
    procedure TForm1.TimerPosTimer(Sender: TObject);
    var
    p: DWORD;
    time: String;
    begin
    if (BASS_ChannelIsActive(Chan) > 0) then // playing - update info
    begin
    p := seeking;
    if (seeking = -1) then // not seeking - update pos scroller
    begin
    p := Trunc(BASS_ChannelBytes2Seconds(Chan, BASS_ChannelGetPosition(Chan)));
    PosBar.Position := p;
    end;
    end;
    
    end;
     
  3. M@T$

    M@T$ Гость

    Репутация:
    0
    Как отследить резкое увеличение звукового сигнала..........и обратно.......

    В Delphi 7
     
Загрузка...

Поделиться этой страницей