gpt4 book ai didi

android - 如何将 android MediaRecorder 与新的 android 10 用户隐私改进一起使用

转载 作者:行者123 更新时间:2023-12-05 00:05:41 28 4
gpt4 key购买 nike

我正在尝试录制视频并将其存储在 DCIM 目录中

我曾尝试使用 MediaStore,但问题是媒体存储返回 Uri,而 MediaRecorder 获取文件、FileDescreptor 或文件路径,而我没有任何这些选项,所以我尝试像这样将 Uri 转换为 FileDescreptor resolver.openFileDescriptor(uri!!, "rw")?.fileDescriptor 但发生异常 java.lang.RuntimeException: Error retrieving camcorder profile params

private fun setUpTimeLapseMediaRecorder(): MediaRecorder {
val resolver = context.contentResolver
val contentValues = ContentValues()
val videoName = "time_lapse_video_" + System.currentTimeMillis() + ".mp4"
val directoryName = "${Environment.DIRECTORY_DCIM}"
val filePath = "${directoryName}Videos${File.separator}$videoName"

contentValues.put(MediaStore.MediaColumns.RELATIVE_PATH, filePath)
val uri = resolver.insert(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, contentValues)

val timeLapseMediaRecorder = MediaRecorder()
timeLapseMediaRecorder.setVideoSource(MediaRecorder.VideoSource.SURFACE)
timeLapseMediaRecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_TIME_LAPSE_720P))
timeLapseMediaRecorder.setOutputFile(/* How i can get file path from media store?*/)
timeLapseMediaRecorder.setVideoFrameRate(60)
timeLapseMediaRecorder.setCaptureRate(1.8)

timeLapseMediaRecorder.prepare()

return timeLapseMediaRecorder
}

我如何将 MediaStore 与 MediaRecorder 结合使用

最佳答案

我想我找到了解决办法在您的 list 中添加以下内容

<应用程序 android:requestLegacyExternalStorage="true"

我想这会解决你的错误

//这是我之前的回答我有同样的问题但它适用于 android 9 或以下版本我认为问题出在音频格式上它可以是 MPEG_2_TS 或 OGG 或其他东西

关于android - 如何将 android MediaRecorder 与新的 android 10 用户隐私改进一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58242231/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com