在Qt中将录音保存到MP3容器中

时间:2013-06-18 16:44:52

标签: qt mp3 qt-mobility

我使用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);

后期录制转换不是一种选择,因为文件可能会变得非常大,并且在转换完成之前进程结束的可能性非常高。

感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用 Qt媒体编码库 - http://qt-project.org/forums/viewthread/29117/