2

我在 Qt 中使用 QAudioRecorder 来录制声音,这里是示例代码。

audioRecorder = new QAudioRecorder;

QAudioEncoderSettings audioSettings;
audioSettings.setCodec("audio/amr"); //here's my question
audioSettings.setQuality(QMultimedia::HighQuality);

audioRecorder->setEncodingSettings(audioSettings);

audioRecorder->setOutputLocation(QUrl::fromLocalFile("test.amr"));
audioRecorder->record();

但我不知道如何使用 setCodec() 函数

void QAudioEncoderSettings::setCodec(const QString & codec)

如何找出我可以使用的参数(例如"audio/amr""audio/x-wav")及其确切含义?谢谢!

4

2 回答 2

0

您可以在不同插件的源代码中看到编解码器候选者。

  • GStreamer
    • 音频/MPEG
    • 音频/vorbis
    • 音频/语音
    • 音频/GSM
    • 音频/PCM
    • 音频/AMR
    • 音频/AMR-WB
    • 音频/FLAC

  • 音频捕捉
    • 音频/pcm

  • QNX
    • aac
    • 生的
于 2014-04-19T13:17:59.830 回答
0

您可以supportedAudioCodecsQMediaRecorder类中调用以获取支持的编解码器列表。

MWE:

    QAudioRecorder *recorder = new QAudioRecorder(this);
    QStringList codecs_list = recorder->supportedAudioCodecs();

    for( int i=0 ; i<codecs_list.count() ; i++ )
    {
        qDebug() << codecs_list[i];
    }
于 2021-07-28T06:27:30.993 回答