将浮点数组转换为 Wav 文件 Swift

Convert Array of Floats to Wav File Swift

我想将浮点数数组(一维)转换为音频文件 -- 然后我想将此音频文件发送到具有放置请求的服务器,因此我需要将其转换为数据。

我怎么能这样做??我看过关于如何将浮点数组转换为 wav 文件的堆栈溢出帖子,如下所示:

但我不想存储任何东西,只是将其转换为 wav 文件,将其转换为数据并通过 Put 请求将其发送到我的数据库。我怎样才能做到这一点?非常感谢您的帮助!!

我建议创建一个临时的 AVAudioFile 发送到服务器,并在发送完所有数据后将其删除。这将避免在连接断开或出现其他问题时必须重新创建文件。它也是高级 API,易于使用。

如果您想避免写入文件,可以这样做,但级别要低得多。您可以使用 AudioFileInitializeWithCallbacks 创建一个带有基于 Data 的自定义回调的 AudioFileID,用 ExtAudioFileWrapAudioFileID 包装它,然后在设置客户端后使用 ExtAudioFileWrite 编写浮点数数据格式。