我使用以下代码获得了录制的 AudioQueueBufferRef 缓冲区。
NSData *data = [NSData dataWithBytes:inBuffer->mAudioData length:inBuffer->mAudioDataByteSize];
然后,我将数据发送到我的服务器。但是,FFMPEG 无法读取,因为数据不是任何音频标准格式。
这只是简单的数据。
那么,我如何在 iPhone 或后端 ffmpeg 上将该原始缓冲区转换为 WAV?
非常感谢。
最佳答案
您可以自己编写 WAV header 。但是,在类似的情况下,我选择使用 sox命令行工具。这对服务器端更好。您可以获取原始音频数据,将其保存到文件中,然后执行以下命令。
sox -r <your sample rate> -b <bytes per frame> -c <number of channels> -e <your sample encoding> <your raw audio file> <your-output-file.wav>
您的原始音频文件必须具有 .raw 文件扩展名。
关于ios - AudioQueue 字节到 ffmpeg 可理解的 WAV 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34448121/