안녕하세요.
비디오뷰 관련해서 질문이 있습니다.
아래의 Example.xml코드를 실행을 하면, 비디오가 속한 레이아웃을 클릭시 동영상이 오류 없이
잘 실행이 되는데, 이 부분을 그대로 사용해서, 제가 사용하고 있는 맨 아래의 파일의 경우 각각의
switch문마다 개별적으로 비디오를 다른 영상을 넣어주어야 하는데 어떻게 소스를 구성 해야 각 개별적으로
비디오뷰의 동영상을 넣을수 있는지 도무지 그 방법을 잘 모르겠습니다.ㅠㅠ 며칠동안 아래의 Example.xml의
코드를 보면서 제 소스에 적용을 시켜보려고 했는데 함수 부분도 그렇고 시행착오를 너무많이해서
하다하다 못해 질문을 올립니다 ㅠ 어떻게 해주어야 switch부분에서 깔끔하게
만들어 줄수 있을지 모르겠습니다.
어떤분꼐서 아래와 같이 답변을 해 주셨는데, 이걸 제 소스에 적용을 못시키고 있는 상황입니다.
위에 소스중에서
Uri uri=Uri.parse("android.resource://com.example.it.vedio/"+id_video);
이 부분이 실제 플레이되는 영상의 주소고
이 부분이 비디오뷰에 주소 세팅 후 시작하는겁니다.
videoView.setVideoURI(uri);
videoView.start();
이 부분이 미디어 컨트롤러를 비디오뷰에 노출시키는 것이니
이부분만 추가하면 비디오 재생시 비디오 플레이 및 정지 컨트롤러가 보일겁니다.
MediaController mc= new MediaController(this);
videoView.setMediaController(mc);
스위치케이스문에서는
해당 비디오 주소부분만 각각 세팅하고 비디오 주소세팅 및 시작하는 부분만 공통으로쓰면 될것같습니다.
소스가 짤리는 부분은, 제 글의 아래의 댓글에 좀 더 달아보았습니다.
< Example.xml 코드 >
public void play(View v){
int id= v.getId();
LinearLayout layout=(LinearLayout)findViewById(id);
String tag=(String)layout.getTag();
Resources res=getResources();
if(videoView.isPlaying()){
videoView.pause();
}
else
{
int id_video=res.getIdentifier(tag,"raw",getPackageName());
Uri uri=Uri.parse("android.resource://com.example.it.vedio/"+ id_video);
VideoView videoView=(VideoView)findViewById(R.id.videoview);
videoView.setVideoURI(uri);
videoView.start();
videoView.setVisibility(View.VISIBLE);
MediaController mc= new MediaController(this);
videoView.setMediaController(mc);
}
}