1.MediaRecorder 参数定义文件路径:
frameworks/base/media/java/android/media/MediaRecorder.java
2:各参数类型:
音频源类型定音:
/** @hide */
@IntDef({
AudioSource.DEFAULT,
AudioSource.MIC,
AudioSource.VOICE_UPLINK,
AudioSource.VOICE_DOWNLINK,
AudioSource.VOICE_CALL,
AudioSource.CAMCORDER,
AudioSource.VOICE_RECOGNITION,
AudioSource.VOICE_COMMUNICATION,
AudioSource.UNPROCESSED,
AudioSource.VOICE_PERFORMANCE,
})
输出文件格式:
/**
`
- Defines the output format. These constants are used with
- {@link MediaRecorder#setOutputFormat(int)}.
/
public final class OutputFormat {
/ Do not change these values without updating their counterparts - in include/media/mediarecorder.h!
/
private OutputFormat() {}
public static final int DEFAULT = 0;
/* 3GPP media file format*/
public static final int THREE_GPP = 1;
/** MPEG4 media file format*/
public static final int MPEG_4 = 2;`
/** The following formats are audio only .aac or .amr formats */
/**
`
- AMR NB file format
- @deprecated Deprecated in favor of MediaRecorder.OutputFormat.AMR_NB
*/
public static final int RAW_AMR = 3;`
/** AMR NB file format */
public static final int AMR_NB = 3;
/** AMR WB file format */
public static final int AMR_WB = 4;
/** @hide AAC ADIF file format */
public static final int AAC_ADIF = 5;
/** AAC ADTS file format */
public static final int AAC_ADTS = 6;
/** @hide Stream over a socket, limited to a single stream */
public static final int OUTPUT_FORMAT_RTP_AVP = 7;
/** H.264/AAC data encapsulated in MPEG2/TS */
public static final int MPEG_2_TS = 8;
/** VP8/VORBIS data in a WEBM container */
public static final int WEBM = 9;
/** @hide HEIC data in a HEIF container */
public static final int HEIF = 10;
/** Opus data in a Ogg container */
public static final int OGG = 11;
};
音频编码器类型:
/**
`
- Defines the audio encoding. These constants are used with
- {@link MediaRecorder#setAudioEncoder(int)}.
/
public final class AudioEncoder {
/ Do not change these values without updating their counterparts - in include/media/mediarecorder.h!
/
private AudioEncoder() {}
public static final int DEFAULT = 0;
/* AMR (Narrowband) audio codec /
public static final int AMR_NB = 1;
/* AMR (Wideband) audio codec /
public static final int AMR_WB = 2;
/* AAC Low Complexity (AAC-LC) audio codec /
public static final int AAC = 3;
/* High Efficiency AAC (HE-AAC) audio codec /
public static final int HE_AAC = 4;
/* Enhanced Low Delay AAC (AAC-ELD) audio codec /
public static final int AAC_ELD = 5;
/* Ogg Vorbis audio codec (Support is optional) /
public static final int VORBIS = 6;
/* Opus audio codec */
public static final int OPUS = 7;
}`
可以依据自己定制需求,在配置录音设备资源,输出文件格式,以及编码格式,按照如上模式进行调整与更改。