我有一个应用程序,可以将设备的音频记录到Float32 (LPCM)缓冲区中。
然而,LPCM需要以音频格式(MP3,AAC)编码,作为媒体段使用,根据HTTP Live流规范。我在如何将LPCM文件转换为AAC / MP3文件上找到了一些有用的资源,但这并不是我想要的,因为我不愿意转换一个文件,而是一个缓冲区。
我最初的想法是创建一个线程,该线程将定期从环缓冲区(存储原始音频的地方)获取数据,并将其转换为有效的音频格式( AAC或MP3)。
AURenderCallback捕获的,并因此对环形缓冲区进行修剪,那么这样做是否更明智呢?谢谢你的帮忙,
发布于 2018-02-25 18:22:47
核心音频记录缓冲区长度和所需音频文件长度很少总是完全相同的。因此,最好轮询循环/循环缓冲区(您知道示例速率,它应该告诉您大约多久一次)来解耦这两个速率,并在以后将缓冲区(如果足够填充)转换为一个文件。您可以将原始音频文件映射到缓冲区,但这与异步写入临时文件之间可能存在或不存在任何性能差异。
https://stackoverflow.com/questions/48933651
复制相似问题