我对使用 Delphi 编程还是很陌生,而且我对 Java 一无所知。但是,我需要使用 RAD Studio 编写一个可以读取音频输入幅度的程序。我无法在 Delphi 中找到一种方法(我负担得起),但我确实找到了一种使用 Android API 的方法。该解决方案看起来在 MediaRecorder 对象中,因此我尝试将其与此代码一起使用。
var
Form1: TForm1;
RecorderObj: Jobject;
Recorder: JMediaRecorder;
procedure TForm1.FormCreate(Sender: TObject);
begin
Recorder:= MediaRecorder; // <------- The problem is here.
Recorder.setAudioSource(1); // should set the recording device to the mic
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label1.Text:= IntToStr(Recorder.getMaxAmplitude);
end;
在我看来,这段代码不起作用,因为没有对象的实例。但是,Recorder:= new MediaRecorder() (android想要的方式)不起作用,Recorder:= MediaRecorder.Create(我认为Delphi通常想要的方式)也不起作用 如果有人知道如何获取对象的实例或知道从 Delphi/RAD Studio 获取音频幅度的更简单方法,请告诉我。