【发布时间】:2018-04-08 23:39:48
【问题描述】:
是否有任何可能的方法来录制音频并使用 xamarin 表单上传到服务器。 我搜索后得到的最好结果是这个 https://github.com/HoussemDellai/UploadFileToServer
解决方案中使用的库仅支持 Image 和 Video。
提前致谢
【问题讨论】:
标签: xamarin xamarin.forms uwp cross-platform xamarin.forms.labs
是否有任何可能的方法来录制音频并使用 xamarin 表单上传到服务器。 我搜索后得到的最好结果是这个 https://github.com/HoussemDellai/UploadFileToServer
解决方案中使用的库仅支持 Image 和 Video。
提前致谢
【问题讨论】:
标签: xamarin xamarin.forms uwp cross-platform xamarin.forms.labs
是否有任何可能的方法来录制音频并使用 xamarin 表单上传到服务器。
有很多方法可以实现此功能。要在 Xamarin.Forms 中录制音频,您可以使用 Plugin.AudioRecorder 来实现。更多内容可以参考以下代码。
private AudioRecorderService _recoder;
protected override void OnAppearing()
{
_recoder = new AudioRecorderService
{
StopRecordingOnSilence = true,
StopRecordingAfterTimeout = true,
AudioSilenceTimeout = TimeSpan.FromSeconds(60)
};
_recoder.AudioInputReceived += _recoder_AudioInputReceived;
}
private void _recoder_AudioInputReceived(object sender, string e)
{
// do some stuff
}
private async void Button_Clicked(object sender, EventArgs e)
{
await RecodAudio();
}
private async Task RecodAudio()
{
try
{
if (!_recoder.IsRecording)
{
await _recoder.StartRecording();
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.Message);
}
}
private async void StopButton_Clicked(object sender, EventArgs e)
{
if (_recoder.IsRecording)
{
await _recoder.StopRecording();
}
}
对于上传文件,您可以使用您案例中提到的UploadFileToServer。您将在AudioInputReceived 事件参数中获得音频文件路径。
private void _recoder_AudioInputReceived(object sender, string e)
{
var path = e;
}
【讨论】: