在 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 App 中尝试 Speech-To-Text 后,Text-To-Speech 播放的音量非常低
在Xamarin.Forms应用程序中离开页面后,Webview不会关闭
如何在 Xamarin.Forms 中访问每个平台中的公共下载文件夹