我正在使用 Qt 4.8.4、Qt Mobility 1.2 和 C++ 在 Windows 7 平台上编程。我正在尝试从前插孔录制音频并将其保存为 mp3 格式的文件。我有使用 LAME 编码器的程序,但文件被保存为 WAV。
看来我无法控制默认为 PCM/WAV 的容器类型。
这是我正在使用的 QAudioEncoderSettings:
QAudioEncoderSettings settings;
settings.setCodec("audio/mpeg");
settings.setSampleRate(boxValue(ui->sampleRateBox).toInt());
settings.setBitRate(boxValue(ui->bitrateBox).toInt());
settings.setQuality(QtMultimediaKit::EncodingQuality(ui->qualitySlider->value()));
settings.setEncodingMode(ui->constantQualityRadioButton->isChecked() ?
QtMultimediaKit::ConstantQualityEncoding :
QtMultimediaKit::ConstantBitRateEncoding);
QString container = "audio/x-mp3";
capture->setEncodingSettings(settings, QVideoEncoderSettings(), container);
后期录制转换不是一种选择,因为文件可能会变得非常大,并且该过程在转换完成之前结束的可能性非常高。
感谢您提供的任何帮助。