ios - AVAudioFile (Mac/iOS) : 将音频编码为恒定比特率 AAC
问题描述
我想使用 AVAudioFile 将音频缓冲区编码为 M4A/AAC 文件。它的工作原理是输出文件始终是具有可变比特率的 AAC,即使我使用特定的恒定比特率标志配置 AVAudioFile 也是如此。
这是 AVAudioFile 初始化的代码:
NSDictionary* outputSettings = @{
AVFormatIDKey: [NSNumber numberWithUnsignedInt:kAudioFormatMPEG4AAC],
AVNumberOfChannelsKey: [NSNumber numberWithInt:2],
AVEncoderBitRateKey: [NSNumber numberWithInt:128000],
AVEncoderBitRateStrategyKey: AVAudioBitRateStrategy_Constant /* should output constant bitrate AAC, but doesn't */
};
AVAudioFile *outputFile = [[AVAudioFile alloc] initForWriting:outputURL
settings:outputSettings
commonFormat:AVAudioPCMFormatFloat32
interleaved:NO
error:&error];
AVAudioFile 是否支持恒定比特率 AAC?文档对此并不清楚。
解决方案
推荐阅读
- sql - SQL通过单列连接多个表而不重复并填充其他列
- winforms - 在 Dyalog APL 中,如何关闭表单中的自动缩放?
- python - 重新投影和蒙太奇马赛克实用程序有什么区别?
- symfony - Symfony 4 学说创建问题
- python - 为什么在 Python Pandas 中出现日期不匹配格式错误?
- python - 保持 ssh 会话活动与重新连接
- javascript - 合并具有相同 JSON 键的对象
- vba - 附加 Word 模板时执行宏
- uiscrollview - Azure Maps 禁用触摸拖动
- python - 在“remote_ip:3306”与 MySQL 服务器失去连接,系统错误:2 没有这样的文件或目录