【问题标题】:Need MediaStore.ACTION_VIDEO_CAPTURE create an MP4 video需要 MediaStore.ACTION_VIDEO_CAPTURE 创建 MP4 视频
【发布时间】:2021-12-09 14:34:18
【问题描述】:

我正在尝试从 MediaStore.ACTION_VIDEO_CAPTURE 的捕获中获取真正的 mp4 文件 . 生成的文件不是真正的 MP4,因为 iPhone 无法读取此文件。 android 生成一个 3gpp 但带有 mp4 扩展名。

我尝试使用网络转换器从这个假的 mp4 文件生成一个 mp4,结果可以在 Iphone 中使用!

请问,如何才能获得真正的 MP4?

我的代码:

  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
                                    ContentValues values = new ContentValues(1);
                                    values.put(MediaStore.Video.Media.MIME_TYPE, "video/mp4");
                                    getContentResolver().delete(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,null);
                                    Uri outputFileUri = getContentResolver().insert(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, values);
                                    Intent captureIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
                                    captureIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
                                    captureIntent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
                                    activityResultLauncher.launch(captureIntent);
                                    Log.i("IFFFFF","");

                                } else {
                                    Log.i("ELOOSSEEEE","");
                                    Intent captureIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
                                    File file = new File(Environment.getExternalStorageDirectory(), "video.mp4");
                                    Uri outputFileUri = Uri.fromFile(file);
                                    captureIntent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
                                    activityResultLauncher.launch(captureIntent);
                                }

【问题讨论】:

    标签: java android video capture mediastore


    【解决方案1】:

    我正在尝试从 MediaStore.ACTION_VIDEO_CAPTURE 的捕获中获取真正的 mp4 文件

    有数十个(如果不是数百个)不同的应用程序会响应您的Intent。这包括来自手机制造商的预装相机应用程序和来自 Play 商店等地方的用户安装的相机应用程序。这些应用程序如何处理您的请求取决于其开发人员。 ACTION_VIDEO_CAPTUREACTION_IMAGE_CAPTURE 一样,适用于不关心捕获操作细节的情况。

    由于您关心这些细节,因此您需要自己捕捉视频,无论是直接使用MediaRecorder还是使用third-party libraries

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-15
      • 2013-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-14
      • 1970-01-01
      相关资源
      最近更新 更多