Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Звук, графика и видео > Ускорение загрузки (проигрывания) mp3 bass.dll


Автор: halfhope 14.5.2011, 15:42
Пишу компонент для проигрывания аудио из интернета(mp3) на основе bass.dll
Возникли некоторые трудности. Плеер очень сильно тормозит при загрузке потока из интернета, можно ли как нибудь ускорить её.
Код

procedure Play(s: string);
begin
    try
      channel := BASS_StreamCreateURL(PAnsiChar(AnsiString(s)),0,BASS_STREAM_STATUS, nil, nil);
      BASS_ChannelSetAttribute(channel, BASS_ATTRIB_VOL, tb1.Position/100);
      {До этого момента сильно виснет и зависают все VCL}
      ShowMessage('Play');
      BASS_ChannelPlay(channel,False);
    except end;
end;


Тормозит очень сильно от 10 до 40 секунд.
Я пытался сделать в потоке с помощью BeginThread, но у меня не получилось. Может быть попробовать другие способы, которые вы можете предложить?

Пробовал ещё AsyncCalls и TasksEX, по сути одно и то же, но оба не сработали...

Автор: halfhope 15.5.2011, 14:08
Видимо у меня руки кривые были) 
Код

th:cardinal//Глобальная
sd:cardinal/Не глобальная
th := BeginThread(nil,0,@play,pchar(s),0,sd);

Все работает=)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)