【发布时间】:2021-10-21 10:28:41
【问题描述】:
@Throws(IOException::class)
private fun createVideoFile(): File {
// Create an image file name
val timeStamp: String = SimpleDateFormat("yyyyMMdd_HHmmss").format(Date())
val storageDir: File? = getExternalFilesDir(Environment.DIRECTORY_MOVIES)
return File.createTempFile(
"oogoo_${timeStamp}_",
".mp4",
storageDir
).apply {
videoPath = this.path
videoUri = this.toUri()
}
}
我正在使用 CameraView 录制视频。 当停止记录时,我得到记录路径
D/VideoTaken:/storage/emulated/0/Android/data/com.example.testgogoapplication/files/Movies/oogoo_20211021_125639_3062139219833544197.mp4
file:///storage/emulated/0/Android/data/com.example.testgogoapplication/files/Movies/oogoo_20211021_125639_3062139219833544197.mp4
put not found this path in Device 怎么能访问到这个路径。
如果 Kotlin 有另一种方法可以将视频保存到存储(写入文件的最佳方式)
【问题讨论】:
-
您使用哪个应用程序在您的应用程序私有目录中查找文件?在 Android 11+ 设备上,文件管理器等其他应用无法访问您应用的私有目录,通常也无法访问 /storage/emulated/0/Android/data。
-
如果文件管理器应用程序应该能够看到您的文件,则保存到 getExternalStorageDirectory(Environment.DIRECTORY_MOVIES) 或使用 MediaStore.insert() 获取该目录中文件的 uri。
标签: android kotlin camera-view