我有一个应用程序,编码在amr_nb格式和输出的文件在amr。我希望记录的文件被分解成一系列的amr文件,每个文件大小为2KB。没有任何关于如何实现这一点的线索。
以下是单击记录按钮时调用的函数
private void startRecording() {
recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_NB);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(getFilename());
recorder.setOnErrorListener(errorListener);
recorder.setOnInfoListener(infoListener);
try {
recorder.prepare();
recorder.start();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}下面是单击停止按钮时调用的方法,
private void stopRecording() {
if (null != recorder) {
recorder.stop();
recorder.reset();
recorder.release();
recorder = null;
}
}发布于 2014-11-12 04:09:12
http://developer.android.com/reference/android/media/MediaRecorder.html#setMaxFileSize(long)
然后将您的侦听器注册到当达到最大文件大小时获得回调的MediaRecorder,然后设置MediaRecorder来记录下一个文件。注意这里有一个(好的?)这可能不会产生一系列无缝文件。
https://stackoverflow.com/questions/26089188
复制相似问题