Vous devez lancer le lecteur après la création de la surface. Si vous voulez démarrer le lecteur au début de l'activité, vous devez le faire sur l'événement surfaceCreated. Vous pouvez écouter cet événement en implémentant SurfaceHolder.Callback
public void onCreate(Bundle icicle) {
mPreview = (SurfaceView) findViewById(R.id.surface);
holder = mPreview.getHolder();
holder.addCallback(this);
}
public void surfaceCreated(SurfaceHolder holder) {
Log.d(TAG, "surfaceCreated called");
playVideo();
}
Essayez de suivre les ApiDemos d'Android. L'exemple de lecteur vidéo se trouve à l'adresse suivante :
...android-sdk-windows\platforms\android-x\samples\ApiDemos\src\com\example\android\apis\media\MediaPlayerDemo_Video.java
ou lien web : ApiDemos Media