在我的iOS应用中,我正在将MP3文件转换为16位单声道22,050Hz WAV文件。我将输出定义为:
AudioStreamBasicDescription outputFormat = new AudioStreamBasicDescription();
outputFormat.setFormat(AudioFormat.LinearPCM);
outputFormat.setFormatFlags(AudioFormatFlags.Canonical);
outputFormat.setBitsPerChannel(16);
outputFormat.setChannelsPerFrame(1);
outputFormat.setFramesPerPacket(1);
outputFormat.setBytesPerFrame(2);
outputFormat.setBytesPerPacket(2);
outputFormat.setSampleRate(22050);
在另一个项目中,我使用FFmpeg以完全相同的输入完成相同的操作 - 将MP3文件转换为16位单声道22,050Hz PCM(不是WAV但足够接近)文件:
ffmpeg -i input.mp3 -f s16le -acodec pcm_s16le -ac 1 -ar 22050
使用FFmpeg生成的文件听起来非常相似,如果不同于MP3文件。 iOS CoreAudio生成的文件听起来质量很差。
我想知道我的iOS设置中是否存在某些参数或某些内容?