MediaRecorder替代Oreo之前的setNextOutputFile?

pcj*_*pcj 11 android mediarecorder android-mediarecorder android-support-library

我在Oreo之前使用MediaRecorder API.我面临的问题是如果录制持续1或2小时,则录制发生在一个连续的大文件上.

由于Oreo(API级别26)MediaRecorder API引入了setNextOutputFile(),这对于记录多个文件而不会丢失数据非常有用.这些文件可以配置为小尺寸,这样在处理时它们不会占用大量的应用程序内存.

我的计划是以下列方式使用它们:

File current;
File nextFile;
// Code to initialize/create these file instances
.
.
.
// Code to initialize/create MediaRecorder insatance which will be in try catch
mRecorder.setOutputFile(currentFileName);
mRecorder.prepare();
mRecorder.setNextOutputFile(nextFile);
.
.
mRecorder.start();
.
.
mRecorder.setOnInfoListener(new MediaRecorder.OnInfoListener() {
      @Override
      public void onInfo(MediaRecorder mr, int infoCode, int extra) {
         Log.e(TAG, "Media recorder info : " + infoCode);
         if (infoCode == MediaRecorder.MEDIA_RECORDER_INFO_NEXT_OUTPUT_FILE_STARTED) {
         String path = getNewUniquePath();
         File nextFile = new File(path); 
         mRecorder.setNextOutputFile(nextFile);
      }
   }
 });
.
.
.
// End of code
Run Code Online (Sandbox Code Playgroud)

这种方法将继续提供固定小尺寸的下一个文件,这样即使录制超过1或2小时,我们也会有小尺寸的文件列表,没有数据丢失.

现在这里的主要问题是Oreo不是以前的API版本.

以前的Android版本有没有替代品?在这种情况下,支持库会有帮助吗?