-1

我正在尝试合并 2 个音频文件。

主要问题是音频文件是无损.flac文件。

我尝试创建AVMutableComposition,然后AVURLAsset为每个音频创建 2 个并用于AVAssetExportSession组合音频文件并且它可以工作,但在这种情况下的主要问题是AVAssetExportSession不支持导出到.flac并且支持.m4a,这是有损压缩,不适合我的情况。

谁能建议如何获取.flac音频文件?

4

1 回答 1

0

我解决了我的问题,如果有人想知道,这里是解决方案:

而不是AVAssetExportSession,我使用AVAudioEngine,但要使其正常工作,您必须至少将 1 连接AVAudioPlayerNode到它。AVAudioFile然后从要组合的音频文件中创建 2 个,并安排它们在连接的情况下AVAudioPlayerNode一个接一个地播放。之后AVAudioPCMBuffer需要在while循环中手动渲染帧并将其存储在磁盘上的某种容器上(我为此使用了.mov临时文件)。一切完成后,您只需将文件重命名为正确的.flac文件即可。

于 2020-09-01T03:18:25.610 回答