Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Bass.dll. Заикание при получении позиции, Проблема с получением позиции Delphi XE5 
:(
    Опции темы
Desperate
Дата 12.7.2015, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 11.10.2006

Репутация: нет
Всего: -1



Приветствую.
Вот занялся ковырянием библиотеки Bass. 
Использую версию библиотеки 2.4 и Delphi XE5. Все открывается, MP3 воспроизводится, только вот когда прикрутил TrackBar для визуализации позиции проигрывания, появились лаги с обновлением позиции т.е. поставил в таймер, и каждое выполнение таймера это заикание звука, а если поставить 10мсек, то вообще треск и отруб звука. В инете все перерыл везде используется таймер и проблем подобных не вычитал. В чем может быть проблема?

Собственно код:
Код

unit bsplUnit;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, bass, Vcl.ExtCtrls,
  Vcl.ComCtrls, sTrackBar;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    dlOpenFiles: TOpenDialog;
    Button4: TButton;
    Timer1: TTimer;
    TrackBar1: TsTrackBar;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure TrackBar1Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  fMusicStream:cardinal;
  musicfile:string;
  pause:boolean=false;
implementation

{$R *.dfm}




procedure TForm1.Button1Click(Sender: TObject);
begin
if dlOpenFiles.Execute then
    musicfile:= dlOpenFiles.FileName;


end;

procedure TForm1.Button2Click(Sender: TObject);
begin

     fMusicStream:= Bass_streamCreateFile(false, PAnsiChar(AnsiString(musicfile)),0,0,0);
Bass_channelPlay(fMusicStream, false);
TrackBar1.Max:=BASS_ChannelGetLength(fMusicStream, 0);
Timer1.Enabled :=true;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Timer1.Enabled :=false;
BASS_ChannelStop(fMusicStream);
BASS_StreamFree(fMusicStream);
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
if pause then
    bass.BASS_ChannelPlay(fMusicStream,false)
  else
     BASS_ChannelPause(fMusicStream);
 pause:=not pause;
 Timer1.Enabled :=not pause;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
    BASS_Init(-1, 44100, 0, Form1.handle, nil);
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
TrackBar1.Position:=BASS_ChannelGetPosition(fMusicStream,0);
end;

procedure TForm1.TrackBar1Change(Sender: TObject);
begin
BASS_ChannelSetPosition(fMusicStream, TrackBar1.Position, 0);
end;

end.




Это сообщение отредактировал(а) Desperate - 12.7.2015, 20:43
PM MAIL   Вверх
crazynetwork
Дата 26.7.2015, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 16.10.2009

Репутация: нет
Всего: нет



Открой стандартный пример.  Там точно работает нормально.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.1048 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.