-
Музыкант (23.04.08 01:01) [0]Как можно циклически проигрывать midi файл, чтобы при повторе не возникало паузы? Через MediaPlayer возникает задержка примерно в 1-2с, а PlaySound вроде как не поддерживает midi, потому что вместо мелодии он издает зацикленный звук, типа когда он не находит файл.
-
Сергей М. © (23.04.08 08:22) [1]
> чтобы при повторе не возникало паузы? Через MediaPlayer
> возникает задержка
Напиши собственный midi-плейер.
> PlaySound вроде как не поддерживает midi
Это следует даже из названия функции: PlaySound) -
Сергей М. © (23.04.08 08:42) [2]А waveform-синтезатор ты уже реализовал, коль скоро взялся за реализацию секвенсора ?)
И как TmediaPlayer сочетается с "низким уровнем" ?) -
я делал так:
в TMediaPlayer обрабатывал 2 событияprocedure PlayerNotify(Sender: TObject);
begin
with Sender as TMediaPlayer do begin
If Mode = mpStopped then begin
If NeedThemeSound then begin
Filename := '1.mid';
DeviceType := dtAutoSelect;
Open;
Play;
Notify := True;
End;
End;
end;
end;
procedure PlayerPreNotify(Sender: TObject);
begin
With (Sender as TMediaPlayer) do begin
If Mode = mpStopped then begin
Filename := '1.mid';
DeviceType := dtAutoSelect;
Open;
Play;
Notify := True;
End;
End;
End;
все без пауз