存储访问框架中 MediaRecorder 中的 SetOutputFile
SetOutputFile in MediaRecorder in Storage Access Framework
我想在 Android 上将存储访问框架 (SAF) 与 MediaRecorder 一起使用。但是在 SAF 方案下,您不应该依赖绝对路径,而应该依赖您之前获取权限的 Uri。
什么是好的工作方式,如何使用 MediaRecorder 与 Android 的 SAF 的新方法一致?
比方说,作为(有据可查的)起点,您从这里开始:
List<UriPermission> permission= getContentResolver().getPersistedUriPermissions();
而您想到达那里:
mMediaRecorder.setOutputFile(/*Some arguments*/);
mMediaRecorder.prepare();
中间步骤是什么?
欢迎您在 ContentResolver
上尝试 openFileDescriptor()
,以获得 FileDescriptor
由 Uri
标识的内容。然后,将其传递给 MediaRecorder
上的 setOutputFile()
版本,该版本采用 FileDescriptor
。这将如何运作在很大程度上取决于您正在录制的内容以及文档提供者是否支持搜索(这几乎归结为此 Uri
是否由常规文件支持)。
我想在 Android 上将存储访问框架 (SAF) 与 MediaRecorder 一起使用。但是在 SAF 方案下,您不应该依赖绝对路径,而应该依赖您之前获取权限的 Uri。
什么是好的工作方式,如何使用 MediaRecorder 与 Android 的 SAF 的新方法一致? 比方说,作为(有据可查的)起点,您从这里开始:
List<UriPermission> permission= getContentResolver().getPersistedUriPermissions();
而您想到达那里:
mMediaRecorder.setOutputFile(/*Some arguments*/);
mMediaRecorder.prepare();
中间步骤是什么?
欢迎您在 ContentResolver
上尝试 openFileDescriptor()
,以获得 FileDescriptor
由 Uri
标识的内容。然后,将其传递给 MediaRecorder
上的 setOutputFile()
版本,该版本采用 FileDescriptor
。这将如何运作在很大程度上取决于您正在录制的内容以及文档提供者是否支持搜索(这几乎归结为此 Uri
是否由常规文件支持)。