Android 设置视频视图
我在我的应用程序中添加了以下代码,以添加一个视频视图,该视图链接到我的原始文件夹中的一个视频,但我在上遇到了一个错误 VideoView表示,Android 设置视频视图,android,android-videoview,Android,Android Videoview,我在我的应用程序中添加了以下代码,以添加一个视频视图,该视图链接到我的原始文件夹中的一个视频,但我在上遇到了一个错误 VideoView表示,VideoView无法解析或不是一个字段我已经包含了所有相关导入。这是我语法中的某个错误吗 VideoView StudentLife = (VideoView) findViewById(R.id.VideoView); Uri uri = Uri.parse("android.resource://"+getPackageName()
VideoView无法解析或不是一个字段
我已经包含了所有相关导入。这是我语法中的某个错误吗
VideoView StudentLife = (VideoView) findViewById(R.id.VideoView);
Uri uri = Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.learningatgmi);
videoview.setVideoURI(uri);
videoview.start();
我的videoview的xml布局如下所示:
<VideoView
android:id="@+id/videoView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView2"
android:layout_centerHorizontal="true"
android:layout_marginTop="53dp" />
我的代码有效::
mc = new MediaController(this);
vd.setMediaController(mc);
vd.setVideoURI(intentUri);
vd.start();
setContentView(vd);
我的代码有效::
mc = new MediaController(this);
vd.setMediaController(mc);
vd.setVideoURI(intentUri);
vd.start();
setContentView(vd);
所以您的变量名是
StudentLife
VideoView StudentLife = (VideoView) findViewById(R.id.VideoView);
您正在调用videoview
上的其他方法,这是一个未定义的变量
因此,以下代码:
videoview.setVideoURI(uri);
videoview.start();
应该是:
StudentLife.setVideoURI(uri);
StudentLife.start();
编辑1:
根据xml,获取视频视图实例的行应该如下
VideoView StudentLife = (VideoView) findViewById(R.id.videoView1);
完整工作代码应如下所示:
VideoView StudentLife = (VideoView) findViewById(R.id.videoView1);
Uri uri = Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.learningatgmi);
StudentLife.setVideoURI(uri);
StudentLife.start();
在这一方面,没有;您不应该使用类名作为变量名。。。在java中,变量的第一个字符不应该是大写。。。因此,让我们使用“videoView”作为变量名。。下面是使用正确类型变量名的工作代码
VideoView videoView = (VideoView) findViewById(R.id.videoView1);
Uri uri = Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.learningatgmi);
videoView.setVideoURI(uri);
videoView.start();
所以您的变量名是
StudentLife
VideoView StudentLife = (VideoView) findViewById(R.id.VideoView);
您正在调用videoview
上的其他方法,这是一个未定义的变量
因此,以下代码:
videoview.setVideoURI(uri);
videoview.start();
应该是:
StudentLife.setVideoURI(uri);
StudentLife.start();
编辑1:
根据xml,获取视频视图实例的行应该如下
VideoView StudentLife = (VideoView) findViewById(R.id.videoView1);
完整工作代码应如下所示:
VideoView StudentLife = (VideoView) findViewById(R.id.videoView1);
Uri uri = Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.learningatgmi);
StudentLife.setVideoURI(uri);
StudentLife.start();
在这一方面,没有;您不应该使用类名作为变量名。。。在java中,变量的第一个字符不应该是大写。。。因此,让我们使用“videoView”作为变量名。。下面是使用正确类型变量名的工作代码
VideoView videoView = (VideoView) findViewById(R.id.videoView1);
Uri uri = Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.learningatgmi);
videoView.setVideoURI(uri);
videoView.start();
您的
VideoView
的id是videoView1
。因此,您应该使用R.id.videoView1
从视图层次结构中获取对VideoView
对象的引用:
VideoView StudentLife = (VideoView) findViewById(R.id.videoView1);
Uri uri = Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.learningatgmi);
StudentLife.setVideoURI(uri);
StudentLife.start();
您的
VideoView
的id是videoView1
。因此,您应该使用R.id.videoView1
从视图层次结构中获取对VideoView
对象的引用:
VideoView StudentLife = (VideoView) findViewById(R.id.videoView1);
Uri uri = Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.learningatgmi);
StudentLife.setVideoURI(uri);
StudentLife.start();
实际上,当你使用这个代码时
Uri uri = Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.learningatgmi);
StudentLife.setVideoURI(uri);
它将URI传递为null,以便向您显示错误
因此,您不能使用以下代码
StudentLife=(VideoView)findViewById(R.id.videoplayer);
StudentLife.setVideoURI(Uri.parse("android.resource://" +getPackageName()+ "/" +R.raw.sample));
StudentLife.requestFocus();
StudentLife.start();
与其在设置之前解析URI,不如在设置时传递它。实际上,当您使用此代码时
Uri uri = Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.learningatgmi);
StudentLife.setVideoURI(uri);
它将URI传递为null,以便向您显示错误
因此,您不能使用以下代码
StudentLife=(VideoView)findViewById(R.id.videoplayer);
StudentLife.setVideoURI(Uri.parse("android.resource://" +getPackageName()+ "/" +R.raw.sample));
StudentLife.requestFocus();
StudentLife.start();
与其在设置之前解析URI,不如在设置过程中传递它。是运行时的编译时错误吗?可以显示xml布局文件吗?这是一个编译时错误。我刚刚添加了xml布局。它是运行时的编译时错误吗?可以显示xml布局文件吗?这是一个编译时错误。我刚刚添加了xml布局。好的,实际上我的类名是StudentLife。这仍然是正确的定义还是我应该创建一个变量?谢谢您应该创建一个具有其他名称的变量
viewView
可以用来代替我在回复中发布的代码中的StudentLife
。非常感谢,我刚刚意识到我在R.id上犯了错误。好的,实际上我的类名是StudentLife。这仍然是正确的定义还是我应该创建一个变量?谢谢您应该创建一个具有其他名称的变量viewView
可以用来代替我在回复中发布的代码中的StudentLife
。。非常感谢,我刚刚意识到我在R.id上犯了一个错误。如果uri
如你所说为null,那么uri.parse()
将返回null。在第二种情况下也是“StudentLife.setVideoURI(null)”。我之前也遇到过同样的问题,当我调试它时,我知道它返回null,然后我尝试了给你的代码,它对我有效。如果uri
如你所说是null,那么uri.parse()
返回null。在第二种情况下也是“StudentLife.setVideoURI(null)”。我之前也遇到过同样的问题,当我调试它时,我知道它返回null,然后我尝试了给你的代码,它对我有效。