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);
ファイルが非常に大きくなる可能性があり、変換が完了する前にプロセスが終了する可能性が非常に高いため、レコーディング後の変換はオプションではありません。
ご協力ありがとうございました。