Как отображать видео в videoView?

Я создаю приложение, в котором я нуждаюсь в том, чтобы захватить видео, и после отобразить это в компоненте videoView. В настоящее время я захватываю видео и это храню в устройстве, но захотев загрузить это в компоненте, он это не находит. Это код, бросив activity

Intent cameraIntent = new Intent( android.provider.MediaStore.ACTION_VIDEO_CAPTURE);

_namevid = getCurrentDateAndTime() + "v.mp4";

File file = new File(vidPath + "/ " + _namevid);
Uri outputFileUri = Uri.fromFile(file);
cameraIntent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, outputFileUri);
startActivityForResult(cameraIntent, 2);

И я это делаю в OnActivityResult

videoView.setVisibility(View.VISIBLE);

// videoView = new VideoView(_c);
mediaController = new MediaController(_c);
mediaController.setAnchorView(videoView);
videoView.setMediaController(mediaController);
try{
    videoView.setVideoURI(Uri.parse(vidPath + "/" +  _namevid));
    //videoView.setVideoPath(vidPath + "/video.mp4");
}
catch (Exception e){
    Log.e("Error", e.getMessage());
    e.printStackTrace();
}
Log.d(DEBUG_TAG, "Video");
Log.d(DEBUG_TAG, vidPath.toString() + "/" +  _namevid);
videoView.requestFocus();
videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {

    public void onPrepared(MediaPlayer mediaPlayer) {

        videoView.seekTo(position);
        if(position == 0)
            videoView.start();
        else
            videoView.pause();

        // When video Screen change size.
        mediaPlayer.setOnVideoSizeChangedListener(new MediaPlayer.OnVideoSizeChangedListener() {
            @Override
            public void onVideoSizeChanged(MediaPlayer mp, int width, int height) {
                // Re-Set the videoView that acts as the anchor for the MediaController
                mediaController.setAnchorView(videoView);
            }
        });
    }
});

Это ошибка, которую я получаю:

10-03 16:31:56.818 13392-13392/com.albertoha94.modules.questionnaire W/VideoView: Unable to open content: / storage / emulated / 0/Question / видео / 2016_10_03_16_31_47v.mp4 java.io. IOException: setDataSource failed. at android.media. MediaPlayer.setDataSource (MediaPlayer.java:1095) at android.media. MediaPlayer.setDataSource (MediaPlayer.java:1069) at android.media. MediaPlayer.setDataSource (MediaPlayer.java:1023) at android.widget. VideoView.openVideo (VideoView.java:346) at android.widget. 2100 VideoView.access$ (VideoView.java:70) at android.widget. VideoView$7.surfaceCreated (VideoView.java:623) at android.view. SurfaceView.updateWindow (SurfaceView.java:583) at android.view. SurfaceView$3.onPreDraw (SurfaceView.java:177) at android.view. ViewTreeObserver.dispatchOnPreDraw (ViewTreeObserver.java:944) at android.view. ViewRootImpl.performTraversals (ViewRootImpl.java:2067) at android.view. ViewRootImpl.doTraversal (ViewRootImpl.java:1119) at android.view. ViewRootImpl $TraversalRunnable.run (ViewRootImpl.java:6060) at android.view. Choreographer $CallbackRecord.run (Choreographer.java:858) at android.view. Choreographer.doCallbacks (Choreographer.java:670) at android.view. Choreographer.doFrame (Choreographer.java:606) at android.view. Choreographer $FrameDisplayEventReceiver.run (Choreographer.java:844) at android.os. Handler.handleCallback (Handler.java:746) at android.os. Handler.dispatchMessage (Handler.java:95) at android.os. Looper.loop (Looper.java:148) at android.app. ActivityThread.main (ActivityThread.java:5443) at java.lang.reflect. Method.invoke (Нативе Метод) at com.android.internal.os. ZygoteInit $MethodAndArgsCaller.run (ZygoteInit.java:728) at com.android.internal.os. ZygoteInit.main (ZygoteInit.java:618) 10-03 16:31:56.818 13392-13392/com.albertoha94.modules.questionnaire D/VideoView: Ошибка: 1,0

4
задан 25.03.2017, 04:12
1 ответ

Сообщение:

"Couldn't open file on client side; trying server side:"

связан с, что не находит файл среднего показателя, вероятно файл не существует или path неправильный, проверяет в действительности находился твой файл:

ты Можешь реализовывать одну comprobaciГіn, чтобы знать, существует ли он, таким образом:

File file = new File(vidPath.toString() + "/" +  _namevid);
if (file.exists())
 {
  //el archivo existe!. 
 }
1
ответ дан 24.11.2019, 13:13
  • 1
    Эх протестированный это и действительно он говорит мне, что не существует файл, но если он хранится в устройстве, и с тем же именем, я делаю ту же процедуру, чтобы захватывать фотографии и загружать их в imageView и у меня нет какой-либо проблемы: – Oscar Perez 04.10.2016, 02:22
  • 2
    Оскар, только заверяет в том, что добавляет правильный path в файл и с этим оно должно функционировать. – Jorgesys♦ 04.10.2016, 02:23