Delphi XE6 Firemonkey TMediaPlayer - задержка воспроизведения звука

Я просто хочу воспроизвести аудиофайл при нажатии кнопки. Я сделал простой код, и когда я нажимаю кнопку, звук появляется с задержкой примерно в 1 секунду, я хочу услышать его немедленно, есть предложения?

   procedure TForm1.btnSound(Sender: TObject);
   begin
       S:='C:\click.wav';
       mediaplayer1.FileName:=S;
       mediaplayer1.play;
  end;

person masohaso    schedule 23.08.2014    source источник


Ответы (1)


Для коротких звуков используйте собственные API-интерфейсы платформы:

uses
 MMSystem;

function playsound(filename: string);
begin
 sndPlaySound(Pchar(filename), SND_NODEFAULT Or SND_ASYNC);
end;

Если вам нужен код и для других платформ, есть библиотека, которая делает это здесь.

person FMXExpress    schedule 24.08.2014