Joh*_*jer 6 android audio-recording
我有这个工作代码.我需要它只在有限的时间内录制,而无需用户点击任何内容.我该怎么做呢?
MediaRecorder recorder = new MediaRecorder();
File outputFile = new File(file);
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(outputFile.getAbsolutePath());
try {
recorder.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
recorder.start();
recorder.setMaxDuration(60000);
// stop
recorder.stop();
recorder.reset();
recorder.release();
Run Code Online (Sandbox Code Playgroud)
小智 6
这会做的很好:(在prepare / start函数之前使用setMaxDuration)
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(outputFile.getAbsolutePath());
recorder.setMaxDuration(60000);
recorder.prepare();
recorder.start();
Run Code Online (Sandbox Code Playgroud)
您应该将 recorder.stop() 等调用放入计时器中
这是有关如何使用计时器任务的说明的链接http://developer.android.com/resources/articles/timed-ui-updates.html
Timer timer = new Timer();
timer.schedule(new FinishRecordingTask(), 100, 200);
Run Code Online (Sandbox Code Playgroud)
只需在调用 recorder.start() 之后添加即可
| 归档时间: |
|
| 查看次数: |
4901 次 |
| 最近记录: |