Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:无法预览创作期间录制的视频_Android_Android Camera_Android Camera Intent_Android Video Record - Fatal编程技术网

Android:无法预览创作期间录制的视频

Android:无法预览创作期间录制的视频,android,android-camera,android-camera-intent,android-video-record,Android,Android Camera,Android Camera Intent,Android Video Record,在Android开发过程中,我使用了一个视频录制意图结构。我将录制的视频传输到云应用程序。我使用Android提供的视频录制界面,而不是特殊的界面。在某些设备上,当我按下录制的视频的预览按钮时,录制将关闭并删除。我该怎么办 编辑: 欢迎来到SO!您应该发布所有相关代码,以便我们评估发生了什么。即使我拥有所需的所有权限,但当我保存媒体并按下预览按钮时,它将关闭。我添加了代码作为注释,谢谢添加代码。如果它实际上没有回答您的问题,请不要将其作为答案发布。您可以随时编辑原始帖子以包含其他信息。这次我是为

在Android开发过程中,我使用了一个视频录制意图结构。我将录制的视频传输到云应用程序。我使用Android提供的视频录制界面,而不是特殊的界面。在某些设备上,当我按下录制的视频的预览按钮时,录制将关闭并删除。我该怎么办

编辑:


欢迎来到SO!您应该发布所有相关代码,以便我们评估发生了什么。即使我拥有所需的所有权限,但当我保存媒体并按下预览按钮时,它将关闭。我添加了代码作为注释,谢谢添加代码。如果它实际上没有回答您的问题,请不要将其作为答案发布。您可以随时编辑原始帖子以包含其他信息。这次我是为你做的,所以别担心。您是否遇到任何异常,或者您的应用程序是否同时崩溃?logcat在这里也很有用。
预览按钮
不是你应用程序的一部分,是吗?谢谢@NikosHidalgo。应用程序不会崩溃。虽然您可以在某些设备上流畅地播放,但在某些设备上它会直接关闭。应用程序工作正常,但录像机丢失。
  public void OpenVideoCamera(){
         if (ContextCompat.checkSelfPermission(fragment_activity, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED ||
                 ContextCompat.checkSelfPermission(fragment_activity, Manifest.permission.READ_EXTERNAL_STORAGE) !=
 PackageManager.PERMISSION_GRANTED ||
                 ContextCompat.checkSelfPermission(fragment_activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) !=
 PackageManager.PERMISSION_GRANTED ||
                 ContextCompat.checkSelfPermission(fragment_activity,Manifest.permission.RECORD_AUDIO)
 != PackageManager.PERMISSION_GRANTED)  {
             AlertDialog.Builder alertBuilder = new AlertDialog.Builder(fragment_activity);
             alertBuilder.setCancelable(true);
             alertBuilder.setTitle(getString(R.string.permission_required_text));
             alertBuilder.setMessage(getString(R.string.camera_permission_text).replace("{0}",
 getString(R.string.application_name)));
             alertBuilder.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
                 @Override
                 public void onClick(DialogInterface dialog, int which) {
                     requestPermissions(new String[] {   Manifest.permission.WRITE_EXTERNAL_STORAGE,
                                     Manifest.permission.CAMERA,
                                     Manifest.permission.RECORD_AUDIO,
                                     Manifest.permission.READ_EXTERNAL_STORAGE },
                             PERMISSIONS_REQUEST_VID_UPLOAD);
                 }
             });
             AlertDialog alert = alertBuilder.create();
             alert.show();
             //sneaker.warning(getString(R.string.require_permission));
         } else {
             StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
             StrictMode.setVmPolicy(builder.build());
             String temp_path = Environment.getExternalStorageDirectory().getPath() + "/" +
 getString(R.string.application_name) + "/temp";
             File temp_folder = CommonFeaturesController.getCommonFeaturesInstance().setFilePermissionFromFile(new
 File(temp_path));
             try {
                 if (!temp_folder.exists()) {
                     if (CommonFeaturesController.getCommonFeaturesInstance().isAuthorized())
                         temp_folder.mkdirs();
                 }
             } catch (Exception e) {
             }
             mediaFile = CommonFeaturesController.getCommonFeaturesInstance().setFilePermissionFromFile(new
 File(temp_path, "VIDEO_" + String.valueOf(System.currentTimeMillis())
 + ".mp4"));
             Intent takeVideoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
             takeVideoIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(mediaFile));
             if (takeVideoIntent.resolveActivity(getContext().getPackageManager()) !=
 null) {
                 startActivityForResult(takeVideoIntent, CAMERA_VID_REQUEST);
                 CommonFeaturesController.getCommonFeaturesInstance().setIsExternalIntent(true);
             }
         }
     }