2010-06-08 10 views
0

J'ai deux activités: une avec VideoView attachée à MediaPlayer et la seconde.
Je commence à regarder une vidéo dans la première activité, puis pendant la lecture, je commence une deuxième activité.
Après la première activité Je peux entendre le son mais je ne vois pas d'image.La lecture vidéo sur VideoView disparaît après le retour d'une autre activité

Ma mise en page Vidéo:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:orientation="vertical" android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 
    <VideoView android:layout_width="wrap_content" 
      android:layout_height="wrap_content" android:layout_weight="1" 
      android:id="@+id/videoView" android:layout_gravity="center" /> 
    <ListView android:layout_width="fill_parent" android:layout_height="125dp" 
      android:id="@+id/ListView" /> 
</LinearLayout> 

Avez-vous des idées pour lesquelles la vidéo ne semble pas?

Répondre

0

Enfin, j'ai fini avec MediaPlayer qui est détruit dans la méthode onStop et recréé dans la méthode onResume.

Le principal inconvénient de cette approche est que, après avoir changé d'orientation, MediaPlayer doit à nouveau mettre en mémoire tampon la vidéo.

Je pense que la raison principale était que la référence à MediaPlayer a été perdue. Sans référence à MediaPlayer je ne pouvais pas définir SurfaceView à nouveau, comme un affichage vidéo.

0

Peut être lié au cycle de vie de l'activité. Commencez-vous à lire votre vidéo dans la méthode onCreate()? Si c'est le cas, essayez de le déplacer vers onResume(), qui est appelé lorsqu'une activité est envoyée en arrière-plan, puis ramenée à nouveau. onCreate() n'est appelé qu'une seule fois, lors de sa création.

+0

Je lance le lecteur dans l'événement 'onTouch' de' VideoView'. En fait, cela ne s'arrête pas lorsqu'une autre activité vient au premier plan. Bien que lorsque je retourne à Activité avec le lecteur, l'écran vidéo devient noir. – pixel

+0

Pouvez-vous ajouter du code? Plus précisément onCreate() et onTouch() –