报错ConversionOptions无AudioBitRate属性,音视频压缩代码求助
解决ConversionOptions无AudioBitRate属性的报错问题
报错原因是你使用的音视频处理库中,ConversionOptions类不存在AudioBitRate这个属性,通常是拼写错误或库版本差异导致的,以下是几种可行的解决方法:
1. 修正属性名称拼写
绝大多数封装FFmpeg的.NET库(如FFmpeg.NET)中,音频比特率的属性名是小写r的AudioBitrate,而非AudioBitRate,修正后即可正常使用:
string inputFilePath = "input.wav"; string outputFilePath = "output_compressed.aac"; // Specify the desired audio bit rate for compression int outputBitRate = 128000; // 128 kbps using (var engine = new Engine()) { var inputFile = new MediaFile { Filename = inputFilePath }; var outputFile = new MediaFile { Filename = outputFilePath }; // 修正属性名称为AudioBitrate var options = new ConversionOptions { AudioBitrate = outputBitRate }; engine.GetMetadata(inputFile); engine.Convert(inputFile, outputFile, options); }
2. 直接传入FFmpeg自定义参数
如果库的API不支持直接设置比特率属性,可以通过添加FFmpeg原生参数来指定音频比特率:
string inputFilePath = "input.wav"; string outputFilePath = "output_compressed.aac"; // Specify the desired audio bit rate for compression int outputBitRate = 128000; // 128 kbps using (var engine = new Engine()) { var inputFile = new MediaFile { Filename = inputFilePath }; var outputFile = new MediaFile { Filename = outputFilePath }; var options = new ConversionOptions(); // 通过自定义参数设置音频比特率 options.CustomArguments = $"-b:a {outputBitRate}"; engine.GetMetadata(inputFile); engine.Convert(inputFile, outputFile, options); }
3. 核对库版本与官方文档
如果上述方法都无效,建议检查你使用的音视频处理库的版本,确认ConversionOptions类中设置音频比特率的正确属性或方法,不同版本的库API可能存在差异。
内容的提问来源于stack exchange,提问作者Frost Dream
相关产品推荐
相关产品推荐

