android AudioRecorder简单心得分享
短信预约 -IT技能 免费直播动态提醒
1.如何创建一个有效的AudioRecorder实例
Android各种设备的采样频率不同,输入的声道数也不同,如果采用固定的采样频率和声道数,那么得到的AudioRecorder不一定能够正常初始化。
为了正常使用,需要尝试各种不同的参数,得到在此设备上可以用的AudioRecorder实例。代码如下:
代码如下:
private void createAudioRecord() {
for (int sampleRate : new int[]{44100, 8000, 11025, 16000, 22050, 32000,
47250, 48000}) {
for (short audioFormat : new short[]{
AudioFormat.ENCODING_PCM_16BIT,
AudioFormat.ENCODING_PCM_8BIT}) {
for (short channelConfig : new short[]{
AudioFormat.CHANNEL_IN_MONO,
AudioFormat.CHANNEL_IN_STEREO}) {
// Try to initialize
try {
recBufSize = AudioRecord.getMinBufferSize(sampleRate,
channelConfig, audioFormat);
if (recBufSize < 0) {
continue;
}
audioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC,
sampleRate, channelConfig, audioFormat,
recBufSize * 2);
if (audioRecord.getState() == AudioRecord.STATE_INITIALIZED) {
return;
}
audioRecord.release();
audioRecord = null;
&nbs p; } catch (Exception e) {
// Do nothing
}
}
}
}
throw new IllegalStateException(
"getInstance() failed : no suitable audio configurations on this device.");
}
2.常见错误
1.有些设备上面,即使你得到了有效的AudioRecorder实例,在audioRecord.startRecording()的时候还会报ERROR_BAD_VALUE错误。
这有可能是你使用了AudioManager而没有释放导致的。
其他错误都可以在网络上找到答案。 您可能感兴趣的文章:Android音频录制MediaRecorder之简易的录音软件实现代码Android使用AudioRecord实现暂停录音功能实例代码Android录音--AudioRecord、MediaRecorder的使用Android使用AudioRecord判断是否有音频输入Android音频处理之通过AudioRecord去保存PCM文件进行录制,播放,停止,删除功能Android提高之AudioRecord实现助听器的方法Android利用AudioRecord类实现音频录制程序
Android各种设备的采样频率不同,输入的声道数也不同,如果采用固定的采样频率和声道数,那么得到的AudioRecorder不一定能够正常初始化。
为了正常使用,需要尝试各种不同的参数,得到在此设备上可以用的AudioRecorder实例。代码如下:
代码如下:
private void createAudioRecord() {
for (int sampleRate : new int[]{44100, 8000, 11025, 16000, 22050, 32000,
47250, 48000}) {
for (short audioFormat : new short[]{
AudioFormat.ENCODING_PCM_16BIT,
AudioFormat.ENCODING_PCM_8BIT}) {
for (short channelConfig : new short[]{
AudioFormat.CHANNEL_IN_MONO,
AudioFormat.CHANNEL_IN_STEREO}) {
// Try to initialize
try {
recBufSize = AudioRecord.getMinBufferSize(sampleRate,
channelConfig, audioFormat);
if (recBufSize < 0) {
continue;
}
audioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC,
sampleRate, channelConfig, audioFormat,
recBufSize * 2);
if (audioRecord.getState() == AudioRecord.STATE_INITIALIZED) {
return;
}
audioRecord.release();
audioRecord = null;
&nbs p; } catch (Exception e) {
// Do nothing
}
}
}
}
throw new IllegalStateException(
"getInstance() failed : no suitable audio configurations on this device.");
}
2.常见错误
1.有些设备上面,即使你得到了有效的AudioRecorder实例,在audioRecord.startRecording()的时候还会报ERROR_BAD_VALUE错误。
这有可能是你使用了AudioManager而没有释放导致的。
其他错误都可以在网络上找到答案。 您可能感兴趣的文章:Android音频录制MediaRecorder之简易的录音软件实现代码Android使用AudioRecord实现暂停录音功能实例代码Android录音--AudioRecord、MediaRecorder的使用Android使用AudioRecord判断是否有音频输入Android音频处理之通过AudioRecord去保存PCM文件进行录制,播放,停止,删除功能Android提高之AudioRecord实现助听器的方法Android利用AudioRecord类实现音频录制程序
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341