ios - AudioQueue 字节到 ffmpeg 可理解的 WAV 格式

标签 ios ffmpeg wav audiotoolbox audioqueueservices

我使用以下代码获得了录制的 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/

相关文章:

go - ffmpeg:读取 header 管道时出错:0:参数无效

java - ffmpeg 问题(mpeg1video ->?)

c# - 将 .Wav 文件按标题连接成 1 个临时文件

javascript - 如何使用JavaScript将WAV Blob转换为其他音频类型?

java - 如何以 Media Recorder 不支持的格式进行编码?

ios - 边界功能不会阻止 Sprite 离开

ios - GLKView + CIImage with Alpha + AVFoundation = Trippy Mess

ios - 在 tableview 单元格中更改 View 的颜色不会改变

ios - 如何在 iPhone 上启动应用程序之前显示等待进度条

android - 使用 ffmpeg 进行视频转换以针对 Android 和 iOS 移动设备