Android以编程方式为MediaRecorder设置AudioEncoder

时间:2017-04-24 21:17:34

标签: java android android-mediarecorder

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

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

int mEncode = 3; 要么 int mEncode = 5;

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

Android文档显示: int AAC常量值:3(0x00000003) int AAC_ELD常量值:5(0x00000005) https://developer.android.com/reference/android/media/MediaRecorder.AudioEncoder.html

任何人都可以帮我解决正确的代码吗?

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

0 个答案:

没有答案