本文整理自网络,侵删。
了解如何使用Delphi 10 Seattle录制音频。
FMX.Media.TAudioCaptureDeviceFMX.Media.TAudioCaptureDevice进行录制使用类进行。
使用TCaptureDeviceManager类的DefaultAudioCaptureDevice方法获得TAudioCaptureDevice对象。
FMicrophone := TCaptureDeviceManager.Current.DefaultAudioCaptureDevice;使用StartCapture方法开始录制。
FMicrophone.StartCapture;使用StopCapture方法停止记录。
FMicrophone.StopCapture;您可以使用State属性确定是否正在进行录制。
创建一个示例应用程序来录制音频。
将三个TMemo,MediaPlayer和TButton组件放在窗体上。
表格1
添加一个私有变量。
private { private } FMicrophone: TAudioCaptureDevice;创建一个方法来获取音频文件的文件名。
private { private } function GetAudioFileName: string;
uses System.IOUtils;
function TForm1.GetAudioFileName: string;const{$IF DEFINED(ANDROID) OR DEFINED(IOS)} AUDIO_FILENAME = 'temp.caf';{$ELSE} AUDIO_FILENAME = 'temp.wav';{$ENDIF}begin Result := TPath.Combine(TPath.GetDocumentsPath, AUDIO_FILENAME);end;在窗体的OnCreate事件中创建一个TAudioCaptureDevice对象。
procedure TForm1.FormCreate(Sender: TObject);begin FMicrophone := TCaptureDeviceManager.Current.DefaultAudioCaptureDevice; if not Assigned(FMicrophone) then begin Memo1.Lines.Add('无法使用语音捕获设备。'); Exit; end; FMicrophone.FileName := GetAudioFileName;end;按下录音按钮开始录音。
procedure TForm1.ButtonStartClick(Sender: TObject);begin if Assigned(FMicrophone) then begin FMicrophone.StartCapture; Memo1.Lines.Add('开始录音了。'); end;end;按停止按钮停止录制。
procedure TForm1.ButtonStopClick(Sender: TObject);begin if (Assigned(FMicrophone)) and (FMicrophone.State = TCaptureDeviceState.Capturing) then begin FMicrophone.StopCapture; Memo1.Lines.Add('录音结束。'); end;end;按播放按钮播放记录的文件。
procedure TForm1.ButtonPlayClick(Sender: TObject);begin if TFile.Exists(GetAudioFileName) then begin MediaPlayer1.FileName := GetAudioFileName; MediaPlayer1.Play; Memo1.Lines.Add('开始播放。'); end;end;要在Android上运行,您需要添加权限。在项目选项中选择“使用权限”,然后选中“录制音频”。

安卓苹果手机测试通过
相关阅读 >>
Delphi 使用firedac的tfdscript组件执行文件中描述的sql语句
Delphi 以低用户权限启动一个进程.比如vista或者win7中的ie
更多相关阅读请进入《Delphi》频道 >>