【问题标题】:How to use android MediaRecorder with new android 10 user privacy improvement如何使用具有新的 android 10 用户隐私改进的 android MediaRecorder
【发布时间】:2020-02-03 03:16:26
【问题描述】:

我正在尝试录制视频并将其存储在 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 一起使用

【问题讨论】:

标签: android android-mediarecorder


【解决方案1】:

我想我找到了解决方案 在您的清单中添加以下内容

我认为这将解决您的错误

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

【讨论】:

    猜你喜欢
    • 2020-04-20
    • 2014-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多