2010-11-02 7 views
1

Je travaille sur un lecteur vidéo android.when i créé support de surface sur créer la méthode, il n'a pas create.but quand j'ai créé le support de surface dans le bouton méthode onclick, son crééquestion VideoView sur android

Mon codage est,

preview=(VideoView)findViewById(R.id.surface); 
    preview.setEnabled(true); 
    preview.bringToFront(); 
    holder=preview.getHolder(); 
    holder.setFixedSize(400, 400); 

    mp=new MediaPlayer(); 
    mp.setDataSource("path"); 
    mp.setDisplay(holder); 
    mp.setAudioStreamType(AudioManager.STREAM_MUSIC); 
    mp.setOnBufferingUpdateListener(playerActivity.this); 
    mp.setOnPreparedListener(playerActivity.this); 
    mp.prepare(); 
    mp.start(); 

Répondre

1
mp.prepare(); 
mp.start(); 

prepare() est asynchrone, ce qui signifie, il pourrait ne pas être terminé lorsque vous appelez déjà le mp.start. Qu'entendez-vous par «surface non créée»? Voulez-vous dire que la vidéo ne joue pas? De toute façon, vous devez utiliser un MediaPlayer.OnPreparedListener et démarrer le média dans onPrepared().