我的问题是:如何以编程方式为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);