2011-06-30 160 views
0

每當我將此代碼行放入按鈕onClick事件時,它會給我錯誤ho來解決它。上一行的錯誤 「MC =新的MediaController(本);」 和錯誤是: ( 「構造的MediaController(新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(); 





     } 
    });} 

每當播放視頻文件直接然後它會完美的工作,但每當我把它放到按鈕點擊它會顯示上述錯誤。 plz幫助我。

還有一件事如何視頻NAD的質量提高視頻時,乳寧視頻的聲音確定,但影片內容的聲音背後的緩衝b'coz ...

+0

chnage'this'給TrialVideoActivity.this,所以它會這樣下去.. mc = new MediaController(TrialVideoActivity.this); –

+0

感謝它會爲我工作...... – Amit

回答

1
mc = new MediaController(this); 

在這你正在通過的線按鈕上下文點擊,我想你應該在這裏通過你的活動上下文。 爲此,您應該聲明上下文

私人上下文的背景下; onCreat()的內部類,然後裏面你shiuld通過

context = this; 

初始化和使用

mc = new MediaController(context);  // this is using context of Activity Class. 

這是解決問題的背景下更好的辦法。

+0

感謝它將通過將其添加到一個單獨的功能,並調用該方法的按鈕單擊 – Amit

+0

工作tooo你的問題是上下文,無論你選擇解決方式是你的選擇 –