你好
我有音频记录,我使用mediarecorder类录制音频,但是当我达到2 m时,内存不足,这是我的极限.我在下面给出了我的代码.
时间
私有静态无效audiorecding()
{
如果(audio_recding_stop_flag == 0){
audio_recding_stop_flag = 1;
recorder.stop();
recorder.reset();
recorder.release();
recorder=new MediaRecorder();
int maxtime = audio_seekbar_play_indication.getMax();
audio_seekbar_progress = 0;
audio_seekbar_incr = maxtime/ AngiesData.gettotalaudiorecdingtimeinseconds(audio_recding_time.getText().toString());
audio_recding_time.stop();
recd_stop_audio.setBackgroundResource(R.drawable.rec_btn);
audio_play_pause.setEnabled(true);
delete_recding.setEnabled(true);
AngiesData.angiesListContext.setAudioRecd(true);
AngiesData.angiesListContext.setAudioRecdingTime((String) audio_recding_time.getText());
}
else {
audio_recding_stop_flag = 0;
try {
audio_play_pause.setEnabled(false);
delete_recding.setEnabled(false);
recd_stop_audio.setBackgroundResource(R.drawable.recording_stop);
audio_recding_time .setBase(SystemClock.elapsedRealtime());
audio_recding_time.start();
recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC); // AudioSource
recorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT); // OutputFormat
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
path = InitialValueLoader.sanitizePath("Audio/VoiceReport");
InitialValueLoader.filecheck(path);
recorder.setOutputFile(path);
recorder.setMaxDuration(120000);
recorder.prepare();
recorder.start();
} catch (Exception e) {
e.printStackTrace();
}
}
解决方法:
我建议使用计时器而不是计时器
标签:out-of-memory,android 来源: https://codeday.me/bug/20191209/2095603.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。