我想通过在EditText
中输入文件名来播放原始文件夹中的视频。
以下(静态)代码有效。但是,如何通过R.raw
?
EditText
- 名称
String path = "android.resource://" + getPackageName() + "/" + R.raw.howtogetthisfromedittext;
videoView.setVideoURI(Uri.parse(path));
videoView.start();
答案 0 :(得分:1)
从原始文件夹播放视频
VideoView view = (VideoView)findViewById(R.id.videoView);
String path = "android.resource://" + getPackageName() + "/" + R.raw.video_file;
view.setVideoURI(Uri.parse(path));
view.start();
在xml文件中创建videoView
。您的视频名称将替换为video_file
。
答案 1 :(得分:1)
将以前回答的问题中的所有部分放在一起。
要从EditText
使用该代码获取文本:
final String videoName = editText.getText().toString();
之后,您可以将videoName
用作raw
文件夹中的文件名,如下所示:
final int videoResource = getResources().getIdentifier(videoName, "raw", getPackageName());
final String path = "android.resource://" + getPackageName() + "/" + videoResource
然后您可以将path
放到VideoView
:
videoView.setVideoURI(Uri.parse(path));
现在,您可以在test1
中撰写EditText
,并使用视频R.raw.test1
。
答案 2 :(得分:1)
String word = et1.getText()。toString();
int videoResource = getResources().
getIdentifier(word, "raw", getPackageName());
String path = "android.resource://" + getPackageName() + "/" + videoResource;
videoview.setVideoURI(Uri.parse(path));
videoview.start();
答案 3 :(得分:0)
您需要资源的标识符才能工作,可以使用以下命令检索其名称:
int id = getResources().
getIdentifier("name_of_resource", "id", getPackageName());
所以你的新代码会变成:
int videoResource = getResources().
getIdentifier("video1", "raw", getPackageName());
String path = "android.resource://" + getPackageName() + "/" + videoResource;
编辑:
您只需使用以下行代码即可获得Edittext
字符串值:
String video_name= edittext.gettext().tostring();