0

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);

ファイルが非常に大きくなる可能性があり、変換が完了する前にプロセスが終了する可能性が非常に高いため、レコーディング後の変換はオプションではありません。

ご協力ありがとうございました。

4

1 に答える 1

0

そのためにQt Media Encoding Libraryを試すことができます- http://qt-project.org/forums/viewthread/29117/

于 2013-06-27T18:42:38.050 に答える