我正在尝试合并 2 个音频文件。
主要问题是音频文件是无损.flac文件。
我尝试创建AVMutableComposition
,然后AVURLAsset
为每个音频创建 2 个并用于AVAssetExportSession
组合音频文件并且它可以工作,但在这种情况下的主要问题是AVAssetExportSession
不支持导出到.flac并且支持.m4a,这是有损压缩,不适合我的情况。
谁能建议如何获取.flac音频文件?
我正在尝试合并 2 个音频文件。
主要问题是音频文件是无损.flac文件。
我尝试创建AVMutableComposition
,然后AVURLAsset
为每个音频创建 2 个并用于AVAssetExportSession
组合音频文件并且它可以工作,但在这种情况下的主要问题是AVAssetExportSession
不支持导出到.flac并且支持.m4a,这是有损压缩,不适合我的情况。
谁能建议如何获取.flac音频文件?
我解决了我的问题,如果有人想知道,这里是解决方案:
而不是AVAssetExportSession
,我使用AVAudioEngine
,但要使其正常工作,您必须至少将 1 连接AVAudioPlayerNode
到它。AVAudioFile
然后从要组合的音频文件中创建 2 个,并安排它们在连接的情况下AVAudioPlayerNode
一个接一个地播放。之后AVAudioPCMBuffer
需要在while
循环中手动渲染帧并将其存储在磁盘上的某种容器上(我为此使用了.mov临时文件)。一切完成后,您只需将文件重命名为正确的.flac文件即可。