Как сделать звуковой сигнал в Android с помощью Delphi и API?

Посмотрев на Androidapi.JNI.Media.pas, я написал следующую процедуру:

uses
  Androidapi.JNIBridge,
  AndroidApi.JNI.Media;

procedure Sound(ADuration: Integer);

implementation

procedure Sound(ADuration: Integer);
var
  Volume: Integer;
  StreamType: Integer;
  ToneType: Integer;
  ToneGenerator: JToneGenerator;
begin

  Volume := TJToneGenerator.JavaClass.MAX_VOLUME;

  StreamType := ?
  ToneType := TJToneGenerator.JavaClass.TONE_DTMF_0;

  ToneGenerator := TJToneGenerator.JavaClass.init(StreamType, Volume);
  ToneGenerator.startTone(ToneType, ADuration);

end;

но я не могу понять, как установить значение для StreamType? Спасибо


person nolaspeaker    schedule 19.06.2015    source источник
comment
Да. С ответом ben75 ниже моя функция завершена - и она работает!   -  person nolaspeaker    schedule 19.06.2015


Ответы (1)


Тип потока определяет поток, для которого должен воспроизводиться звуковой сигнал. Это целое число от 0 до 4:

  • STREAM_VOICE_CALL (0)
  • ПОТОК_СИСТЕМА (1)
  • STREAM_RING (2)
  • STREAM_MUSIC(3)
  • STREAM_ALARM(4)
person ben75    schedule 19.06.2015
comment
Спасибо. Но этот код StreamType := STREAM_ALARM; не скомпилируется. - person nolaspeaker; 19.06.2015
comment
Я не знаю Delphi, но как насчет StreamType := 4 ? или лучше StreamType := TJAudioManager.JavaClass.STREAM_ALARM - person ben75; 19.06.2015
comment
Ага!. Да, обе эти идеи работают. Теперь я понимаю. - person nolaspeaker; 19.06.2015