有没有办法在React Native中使用fetch()记录声音并将其实时流传输到服务器?

时间:2018-11-04 02:47:05

标签: react-native fetch audio-streaming

尝试记录文件,由于要记录,我想使用fetch()将其发布到服务器。是否有一个可以记录声音并将其连续传输到文件(或API)的库?

1 个答案:

答案 0 :(得分:0)

您一次要问几个问题。让我们把它弄成碎片。

如何捕捉声音?

我假设您要录制来自麦克风或其他音频输入设备的声音。为此,您需要使用MediaDevices API捕获它。具体来说,您想调用getUserMedia()来从特定的记录设备获取MediaStream实例。

https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia

我如何录制MediaStream?

您可以使用MediaRecorder获取MediaStream,通过编解码器运行它,将其复用为特定格式(例如WebM),然后输出Blob。

https://developer.mozilla.org/en-US/docs/Web/API/MediaRecorder

如何获取正在记录的MediaStream数据?

调用mediaStream.start()时,请确保使用timeslice参数进行调用。像mediaStream.start(3000)之类的东西会使它大约每3秒发出一次dataavailable事件。然后,您可以获取这些数据并将其运送到任何地方。

如何通过流式请求正文发出HTTP请求?

不能。至少不是今天。另请参阅:Fetch with ReadableStream as Request Body

您可以 可以通过Web套接字发送数据。您还可以为每个块发出HTTP请求。