我正在复制here和here的代码,以便在Android手机上捕获音频。
...
MyAudio : TAudioCaptureDevice;
end;
var
Form3: TForm3;
implementation
{$R *.fmx}
procedure TForm3.Button1Click(Sender: TObject);
begin
if Button1.Text = 'Start Audio Capture' then begin
MyAudio := TCaptureDeviceManager.Current.DefaultAudioCaptureDevice;
if MyAudio <> nil then begin
Button1.Text := 'Stop Audio Capture';
MyAudio.FileName := 'TestAudio.mp3';
MyAudio.StartCapture;
end
else
// not copy // Caption := 'Audio capture devices not available.';
end
else begin
MyAudio.StopCapture;
Button1.Text := 'Start Audio Capture'
end;
end;
错误提示:
java.lang.RunTimeException:
setAudioSource failed.
第二次单击button1时,会提示:
java.lang.illegalStateException.
Here我发现了一些与之相关的帖子,但似乎是Java。
我正在测试Android 4.4.2,delphi xe8。
可以用firemonkey解决吗?
感谢。
答案 0 :(得分:0)
我通过尝试修改清单文件以设置音频源但测试失败来测试了几个小时。
无意中,我找到了project-option-user权限,选择android平台并将记录音频设置为true。有用。我不知道这是否是正确的做法。但它确实有效。就像我不知道那个选项一样容易。
用户权限包含控制手机的大量信息!
我尝试在项目中的listbox的button和listitem中添加一些floatanimation。但似乎动画只适用于矩形或按钮,虽然我在选项中设置为true。这可能是另一个应该在这里提出的问题。
感谢您的观看。