-1

This is my video view class and its working fine

private void CopyReadVdo() {
    setContentView(R.layout.video_player);
    VideoView view = (VideoView) findViewById(R.id.videoview);
    String path = "android.resource://" + getPackageName() + "/" + R.raw.video1;
    Uri uri = Uri.parse(path);
    view.setVideoURI(uri);
    MediaController mediaController = new MediaController(this);
    mediaController.setAnchorView(view);
    view.setMediaController(mediaController);
    view.start();
}

I need to call this function with an argument like

private void CopyReadVdo(String vdoname) {
    setContentView(R.layout.video_player);

    VideoView view = (VideoView) findViewById(R.id.videoview);
    String path = "android.resource://" + getPackageName() + "/" + vdoname;
    Uri uri = Uri.parse(path);
    view.setVideoURI(uri);
    MediaController mediaController = new MediaController(this);
    mediaController.setAnchorView(view);
    view.setMediaController(mediaController);
    view.start();
}

but is shows error Can't play this video. Thanks in advance.

Marcin Orlowski
  • 72,056
  • 11
  • 123
  • 141
ARAVIND RAJ
  • 486
  • 5
  • 11

2 Answers2

1

First try to get resource id rawId from resource name vdoname

int rawId = getResources().getIdentifier(vdoname,  "raw", getPackageName());
String path = "android.resource://" + getPackageName() + "/" + rawId;

Update: pass shaktee as vdoname to CopyReadVdo function instead of R.raw.shaktee

Or change type of vdoname to int and pass R.raw.shaktee to CopyReadVdo function

private void CopyReadVdo(int vdoname) {
    setContentView(R.layout.video_player);

    VideoView view = (VideoView) findViewById(R.id.videoview);
    String path = "android.resource://" + getPackageName() + "/" + vdoname;
    Uri uri = Uri.parse(path);
    view.setVideoURI(uri);
    MediaController mediaController = new MediaController(this);
    mediaController.setAnchorView(view);
    view.setMediaController(mediaController);
    view.start();
}
Md. Asaduzzaman
  • 14,963
  • 2
  • 34
  • 46
-1

Try below code

Uri video = Uri.parse("android.resource://com.example.sample/raw/filename");
Dipankar Baghel
  • 1,932
  • 2
  • 12
  • 24