Java Android以编程方式为MediaRecorder设置AudioEncoder

Java Android以编程方式为MediaRecorder设置AudioEncoder,java,android,android-mediarecorder,Java,Android,Android Mediarecorder,我的问题是:如何以编程方式设置MediaRecorder的AudioEncoder 我试图通过将静态设置的AAC或AAC_ELD替换为int变量mEncode(从变量列表中手动选择),以编程方式设置AudioEncoder,例如: int-mEncode=3; 或 int孟码=5 当我用值为3或5的int变量mEncode替换AAC时,代码将无法编译。 我收到错误消息,无法解析符号“mEncode” Android文档显示: int AAC常量值:3(0x00000003) int AAC_EL

我的问题是:如何以编程方式设置MediaRecorder的AudioEncoder

我试图通过将静态设置的AAC或AAC_ELD替换为int变量mEncode(从变量列表中手动选择),以编程方式设置AudioEncoder,例如:

int-mEncode=3; 或 int孟码=5

当我用值为3或5的int变量mEncode替换AAC时,代码将无法编译。 我收到错误消息,无法解析符号“mEncode”

Android文档显示: int AAC常量值:3(0x00000003) int AAC_ELD常量值:5(0x00000005)

有人能帮我找到正确的代码吗

Java代码:

    mRecorder = new MediaRecorder();
    mRecorder.setAudioSamplingRate(16000);
    mRecorder.setAudioEncodingBitRate(24000);
    mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    mRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);

    // my current static method set with AAC or AAC_ELD:
    mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
    mRecorder.setOutputFile(mFileName);

    // my dynamic method set with int variable mEncode:
    mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.mEncode);

什么是
mEncode
?如果
mEncode
是您定义的变量,则只需按其名称访问,而无需使用
MediaRecorder.AudioEncoder对其进行限定