这是我的代码:

VideoView vd;
vd = (VideoView) findViewById(R.id.videoview2);
String path = "android.resource://" + getPackageName() + "/"
                        + R.raw.video1;
                vd.setVideoURI(Uri.parse(path));
                vd.start();

这很有效,但我希望r.raw.video1是一个字符串,因为我有很多视频要播放。
所以我想要的是:
String videoResource = "R.raw.video1"
 String path = "android.resource://" + getPackageName() + "/"
                            + videoResource;

不幸的是,这不起作用,我怎么才能让它起作用?

最佳答案

您需要该资源的标识符才能工作,可以使用以下方法按其名称检索该资源:

int id = getResources().
    getIdentifier("name_of_resource", "id", getPackageName());

所以你的新代码会变成:
int videoResource = getResources().
    getIdentifier("video1", "raw", getPackageName());
String path = "android.resource://" + getPackageName() + "/" + videoResource;

08-18 17:58