我使用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);
后期录制转换不是一种选择,因为文件可能会变得非常大,并且在转换完成之前进程结束的可能性非常高。
感谢您提供的任何帮助。