c# - 由于事先不知道长度,因此如何录制到Stream中?

标签 c# .net audio stream uwp

我正在尝试使用实时媒体输入,因此正在尝试了解记录到流的方法(例如StartRecordToStreamAsync)如何工作,因为它们不知道文件开始时输入的长度。像WAV这样的类型在实际数据之前需要该信息。

明确地说,我可以理解保存到文件中的方法的工作原理-大概是稍后再填写该信息。但是,当喂入一条小溪时,它们如何解决呢?

最佳答案

只有他们确切地知道如何解决该问题,但是合理的假设是,他们将音频数据写入输出流,而大小保持空白,并且在录制完成后,将seek编码到文件的开头,并更新大小。

如果仔细阅读文档,您会注意到它说:

Starts recording to a random-access stream



这几乎可以肯定是因为他们需要能够开始寻找更新 header 的方法。

关于c# - 由于事先不知道长度,因此如何录制到Stream中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42496271/

相关文章:

c# - 使用 Datapager 在 asp.net 中分页 - 下一个、上一个按钮

c# - foreach 的 for/while 等价物是什么?

.net - 情报加载永远挂起 Visual Studio Xamarin.Forms

javascript - 如何通过捕获音频播放器行为来检查外部mp3是否存在

c# - System.Diagnostics.Debug.Write 输出出现在哪里?

javascript - C# DateTime - 使用 fullcalendar.io 处理时区的最佳方法?

c# - C# 中的仅 HTML WebBrowser?

.net - 使用 .NET Framework 4.0 dll 代替 2.0 dll 有什么优势吗?

audio - 从CMD运行时会播放声音,但不能像Jar一样运行

java - 声音将无法在Java中播放。.JFrame和Canvas不是Applet