在 Xamarin.Forms 中录制语音后如何保存音频文件

Posted

技术标签:

【中文标题】在 Xamarin.Forms 中录制语音后如何保存音频文件【英文标题】:How to save audio file after recording voice in Xamarin.Forms 【发布时间】:2018-11-09 20:32:10 【问题描述】:

我想知道如何以 Xamarin 形式保存音频文件。我可以使用 Xamarin.Essentials 获取保存到 AppDataDirectory 的位置:

var mainDir = FileSystem.AppDataDirectory;

但我不知道如何在使用 NateRickard AudioRecorder 插件录制之后将其保存在代码中:

var recordTask = await recorder.StartRecording();
var audioFile = await recordTastk;  //audioFile is of string datatype

它与在 C# 中保存/创建任何二进制文件一样吗?说它与保存图像文件相同?另外我是否需要使用依赖注入来使用特定于平台的代码来保存它,或者我可以设法只从 PCL 代码中做到这一点?

【问题讨论】:

【参考方案1】:

docs 明确讨论了这一点:

访问录制的文件

访问录制的音频文件路径有多种方式:

任务完成时,基于任务的 API 将返回文件路径。可以等待任务或使用标准任务 延续 API。 基于事件的 API 将在 AudioInputReceived 事件的 audioFile 参数中返回录制的音频文件的完整路径 处理程序。 AudioRecorderService 类的 GetAudioFilePath() 方法将返回录制的音频文件路径。

在没有录制音频的情况下,这些都将返回 null 上次录制会话中尚未录制或未检测到音频。

获得录制的音频文件的路径后,您可以使用 标准文件操作(对于本机/.NET Standard)和/或交叉 平台文件系统抽象,如 PCLStorage 以获取流 文件数据。

【讨论】:

以上是关于在 Xamarin.Forms 中录制语音后如何保存音频文件的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin.Forms 监听Button的按下释放事件

在 Xamarin Forms App 中尝试 Speech-To-Text 后,Text-To-Speech 播放的音量非常低

在Xamarin.Forms应用程序中离开页面后,Webview不会关闭

如何在 Xamarin.Forms 中访问每个平台中的公共下载文件夹

Xamarin.Forms App MediaRecorder 无法在佳宇 S3 上运行

在 Xamarin Forms 中存储密钥