마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

[Help ㅠㅠ] 비디오뷰 관련해서 질문이 있습니다.

0 추천

 

안녕하세요.

비디오뷰 관련해서 질문이 있습니다.

아래의 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);
    }
}

 

 

 

 

비선아 (920 포인트) 님이 2016년 11월 11일 질문
< 제가만들고 있는 부분 > 위의 잘 동작하는 비디오 코드를, 아래의 case문에 넣어주어야 하는데


그 방법을 잘 모르겠어요.

import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.MediaController;
import android.widget.RatingBar;
import android.widget.TextView;
import android.widget.VideoView;

public class First_Movie extends AppCompatActivity {

    VideoView videoView=null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_first__movie);

        videoView =(VideoView)findViewById(R.id.videoview);

        final int position = getIntent().getIntExtra("pos",0);

        switch(position)
        {

            case 0:
                TextView Reservation_Percent1 = (TextView) findViewById(R.id.Reservation_Percent);
                Reservation_Percent1.setText(R.string.First_Movie_Percent);

                if(videoView.isPlaying()){
                    videoView.pause();
                }
                else {
                    VideoView First_Video = (VideoView) findViewById(R.id.videoview);
                    Uri uri = Uri.parse("android.resource://ex.real_project" + R.raw.vi);
                    First_Video.setVideoURI(uri);
                    First_Video.setVisibility(View.VISIBLE);
                    First_Video.start();

                    MediaController mc = new MediaController(this);
                    First_Video.setMediaController(mc);
                }

                break;

            case 1:
                TextView Reservation_Percent2 = (TextView) findViewById(R.id.Reservation_Percent);
                Reservation_Percent2.setText(R.string.Second_Movie_Percent);

                break;

            case 2:
                TextView Reservation_Percent3 = (TextView) findViewById(R.id.Reservation_Percent);
                Reservation_Percent3.setText(R.string.Third_Movie_Percent);

                break;

            case 3:
                TextView Reservation_Percent4 = (TextView) findViewById(R.id.Reservation_Percent);
                Reservation_Percent4.setText(R.string.Fourth_Movie_Percent);

                break;

            case 4:
                TextView Reservation_Percent5 = (TextView) findViewById(R.id.Reservation_Percent);
                Reservation_Percent5.setText(R.string.Fifth_Movie_Percent);

                break;
        }


    }
}

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...