我想录制一个音频文件并允许暂停和恢复录制。
我做了一些研究,看起来像媒体记录器api没有暂停功能。因此,我发现一种解决方法是在暂停时将文件保存在临时位置,并在恢复时合并两个文件并保存在实际位置。
我没有找到任何相关的代码。如果任何人可以提供一些我应该遵循的参考或一些步骤将是有帮助的。
我还发现有mp4parser用于合并两个文件,但由于我使用的是xamarin,我没有这个选项。
修改
public async Task record()
{
try
{
string path = getTemporaryFileName();
recorder.SetAudioSource(AudioSource.Mic);
recorder.SetOutputFormat(OutputFormat.Mpeg4);
recorder.SetAudioEncoder(AudioEncoder.Aac);
recorder.SetAudioSamplingRate(44100);
recorder.SetAudioEncodingBitRate(8000);
recorder.SetOutputFile(path);
recorder.Prepare();
recorder.Start();
}
catch (Exception ex)
{
string s = ex.Message;
throw ex;
}
}
public async Task stopRecording()
{
try
{
recorder.Stop();
}
catch (Exception ex)
{
string s = ex.Message;
throw ex;
}
}
在播放按钮上单击我正在调用record()函数,在停止时我调用stop()。我希望能够暂停和恢复。