Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android MediaRecorder将视频保存到缓冲区_Java_Android_Mediarecorder - Fatal编程技术网

Java Android MediaRecorder将视频保存到缓冲区

Java Android MediaRecorder将视频保存到缓冲区,java,android,mediarecorder,Java,Android,Mediarecorder,我希望能够获得对MediaRecorder写入功能的一些控制,我希望能够在从相机录制时构建暂停功能,但目前该类中不存在此方法,所以我想做的是将输出保存到一个缓冲区,然后我选择它何时写入或不写入,如何才能做到最好 编辑:这是我尝试这样做,但无法让它工作 private FileDescriptor getStreamFd() { ParcelFileDescriptor pipe = null; try { Calendar calendarTime = Cale

我希望能够获得对MediaRecorder写入功能的一些控制,我希望能够在从相机录制时构建暂停功能,但目前该类中不存在此方法,所以我想做的是将输出保存到一个缓冲区,然后我选择它何时写入或不写入,如何才能做到最好

编辑:这是我尝试这样做,但无法让它工作

private FileDescriptor getStreamFd() {
    ParcelFileDescriptor pipe = null;
    try {

        Calendar calendarTime = Calendar.getInstance();

        File file = new File(Environment.getExternalStorageDirectory(),
                String.valueOf(calendarTime.getTimeInMillis()) + ".mp4");

        pipe = ParcelFileDescriptor.open(file,
                ParcelFileDescriptor.MODE_CREATE
                        | ParcelFileDescriptor.MODE_APPEND
                        | ParcelFileDescriptor.MODE_WORLD_WRITEABLE);

        byte[] buf = new byte[1024];
        int len;

        FileOutputStream out = new FileOutputStream(FileDescriptor.out);

        InputStream is = new FileInputStream(FileDescriptor.in);

        while (usecamera) {

                      if(recordng){
                        out.write(buf, 0, len);
                      }

        }

        is.close();
        out.close();

    } catch (IOException e) {
        Log.e(getClass().getSimpleName(), "Exception opening pipe", e);
    }

    return pipe.getFileDescriptor();
}

写在不同的文件中并添加它们。有点复杂。谢谢你的帮助!我试图在周末写一些类似的东西,但没有成功,你能给我一个线索,如何改变它来完成这一点吗?