2017-12-14 19 views
0

에서 비디오를 재생하는 것은 내 코드입니다 위의 비디오 경로를 사용하여 videoView에 입력하십시오.가 어떻게 비디오를 재생하려고 노력하지만 여기 <code>VideoView</code> 에 아무것도 표시되지 VideoView를 지켜 보면서

내가이 경로 또한 /storage/emulated/0/WhatsApp/Media/WhatsApp Video/VID-20171208-WA0004.mp4 여전히 표시되지 않는 것도

오류 개방/SYS/클래스/power_supply/BMS/저항 java.io.FileNotFoundException에 의해 시도 :/SYS/클래스/power_supply/BMS/내성 : open failed : ENOENT (해당 파일이나 디렉토리 없음) at libcore.io.IoBridge.open (IoBridge.java:452) at java.io.FileInputStream (FileInputStream.java:76) at java.io .FileInputStream. (FileInputStream.java:103) at java.io.FileReader. (FileReader.java:66) at com.motorola.motocare.util.LineReader. (LineReader.java:20) at com.motorola.motocare.util.LineReader $ 1 (LineReader.java:53) at com. com.motorola.motocare.util.BatteryUtils.getBatteryResistance (BatteryUtils.java:130) com.motorola.motocare.action.BatteryLevelAction.onReceiveImpl에서 BatteryLevelAction.java:42) at com.motorola.motocare.util.BackgroundReceiver $ 1.run (BackgroundReceiver.java:14) at android.os.Handler.handleCallback (Handler.java:746) android.os.Handler .dispatchMessage (Handler.java:95) at android.os.Looper.loop (Looper.java:148) at android.os.HandlerThread.run (HandlerThread.java:61) 발생 원인 : android.system.ErrnoException : open failed : ENOENT (해당 파일 없음 libcore.io.BlockGuardOs.open (BlockGuardOs.java:186에서 libcore.io.Posix.open (기본 방법) 이나 디렉토리) ) 아래

+0

내부 비디오 또는 서버 URl '비디오를 재생 하시겠습니까? –

+0

권한을 추가 했습니까? –

+0

지금은 내부 비디오 .. –

답변

0

당신을위한 완벽한 작업 코드 :

import android.media.MediaPlayer; 
import android.net.Uri; 
import android.support.v7.app.AppCompatActivity; 
import android.view.MotionEvent; 
import android.view.View; 
import android.widget.MediaController; 
import java.io.File; 
public class VideoPlayerActivity extends AppCompatActivity implements View.OnClickListener { 

    private File mainMashupVideoFileName = "your_file_path/file_name.mp4"; 

    private void playMyVideoView(File fileName, boolean isMainMashup) { 
     MediaController mediaController = new MediaController(this); 
     mediaController.setAnchorView(videoView); 
     vv_main_video.setMediaController(mediaController); 
     vv_main_video.setVideoURI(Uri.fromFile(fileName)); 

     vv_main_video.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 
      @Override 
      public void onPrepared(MediaPlayer mp) { 
       //Resource has been loaded to the video view player and ready to play. 
      } 
     }); 

     vv_main_video.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { 
      @Override 
      public void onCompletion(MediaPlayer mp) { 
       //Can change play pause icon 
      } 
     }); 

     vv_main_video.setOnTouchListener(new View.OnTouchListener() { 
      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
       //playPauseVideos(); 
       return false; 
      } 
     }); 

     vv_main_video.setOnErrorListener(new MediaPlayer.OnErrorListener() { 
      @Override 
      public boolean onError(MediaPlayer mp, int what, int extra) { 
       //Do nothing 
       return true; 
      } 
     }); 

     vv_main_video.requestFocus(); 
     vv_main_video.start(); 
    } //End of run VideoView 

    private void playPauseVideos() { 
     if (vv_main_video.isPlaying()) { 
      vv_main_video.pause(); 
     } else { 
      vv_main_video.requestFocus(); 
      vv_main_video.start(); 
     } 
    } 
} 

매니페스트에 다음 권한을 추가하십시오.

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 

앱에 대한 권한이 사용 설정되어 있는지 확인해야합니다.

의견을 보내주십시오.