我正在编写允许用户轻松访问其云存储的程序。 现在可以使用名为“云相机”的功能。 我们有包含SurfaceView和两个按钮的活动:开始和停止录制。当我们按下开始按钮时,Android摄像头必须开始录制并直接将视频写入云文件。对于每个云,我创建了一个继承我的接口的类,该方法将OutputStream提供给云上的文件。
private OutputStream getDropboxFileOutputStream(String absolutePath);
private RandomAccessFile getDropboxRandomAccessFile(String absolutePath);
我试图通过ParcelFileDesciptor创建管道,但是使用这种方式我失去了moov标题部分(只是没有信息的空值)。
也许有人知道怎么做的方法?
据我所知,MediaRecorder提供方法mediaRecorder.setOutputFile(FileDescriptor fd);
,我们可以使用FileDescriptor作为我们要保存文件的地方,但我不知道如何从自定义OutputStream创建FileDescriptor,将数据保存到云端。
有没有办法从自制的OutputStream创建文件描述符并将其提供给相机? 或者也许其他一些技巧有助于将视频从相机写入自定义输出流而不会丢失moov标题?