2

这是我的代码:

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;

不幸的是,这不起作用,我该如何让它工作?

4

1 回答 1

8

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

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

所以你的新代码会变成:

int videoResource = getResources().
    getIdentifier("video1", "raw", getPackageName());
String path = "android.resource://" + getPackageName() + "/" + videoResource;
于 2012-09-28T23:57:56.677 回答