每当我将这些代码行放入onClick事件按钮时,它就会给我错误解决它。 “mc = new MediaController(this);”行上的错误,错误是: (“构造函数MediaController(new View.OnClickListener(){})未定义”)
public class TrialVideoActivity extends Activity {
public MediaController mc;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final Button play =(Button)findViewById(R.id.play);
play.setOnClickListener(new OnClickListener(){
public void onClick(View V){
VideoView vd = (VideoView) findViewById(R.id.surface_view);
Uri uri = Uri.parse("android.resource://" + getPackageName() + "/"+R.raw.lic);
mc = new MediaController(this);
vd.setMediaController(mc);
vd.requestFocus();
vd.setVideoURI(uri);
vd.start();
}
});}
每当我直接播放视频文件时,它都会完美运行,但只要我将它放入按钮中,它就会显示上述错误。 请帮助我。
还有一件事如何提高视频质量,当视频播放视频的声音时缓冲b'coz是可以的,但视频会落后于声音......
答案 0 :(得分:1)
mc = new MediaController(this);
在这一行上你传递按钮上下文,我认为你应该传递你的活动背景。 为此,您应声明上下文
私人语境环境; 在Class内部,然后在 onCreat()内部,您可以通过
初始化它context = this;
并使用
mc = new MediaController(context); // this is using context of Activity Class.
这是解决上下文问题的更好方法。