Android comment utiliser/afficher MediaController avec SurfaceView et MediaPlayer pour la vidéo?

J'ai d'utilisation du lecteur multimédia pour lire une vidéo, PAS un VideoView.
J'ai une SurfaceView en Xml de Mise en page et sur l'Activité du côté d'un lecteur multimédia et un MediaController.

Je coudldn pas trouver un moyen d'utiliser MediaController avec SurfaceView et MediaPlayer. Il est si facile avec VideoView, mais ne peux pas comprendre comment l'utiliser avec MediaPlayer.

J'ai trouvé des exemples en ligne, mais ils sont tout au sujet de jouer de l'audio, pas de vidéo.

C'est surfaceCreated méthode où j'ai créer le MediaPlayer

@Override
    public void surfaceCreated(SurfaceHolder holder) {
        try {
            mMediaPlayer = new MediaPlayer();
            mMediaPlayer.setDisplay(mSurfaceHolder);
            mMediaPlayer.setDataSource(this, Uri.parse(mUrl));
            mMediaPlayer.setOnPreparedListener(this);
            mMediaPlayer.prepare();
            mMediaController = new MediaController(this);

        } catch (Exception e) {
            Log.e(TAG, "MediaPlayer Prepare: " + e.getMessage());
        }
    }

et ce MediaPlayer onPrepared méthode

@Override
    public void onPrepared(MediaPlayer mp) {

        mVideoWidth = mp.getVideoWidth();
        mVideoHeight = mp.getVideoHeight();
        mSurfaceHolder.setFixedSize(mVideoWidth, mVideoHeight);
        startVideoPlayback();

        mMediaController.setMediaPlayer(this);              

        handler.post(new Runnable() {

            public void run() {
                mMediaController.setEnabled(true);
                mMediaController.show();
            }
        });    
    }

Le code ci-dessus ne montre pas la MediaController sur SurfaceView.
Comment puis-je y parvenir?

Merci d'avance.

OriginalL'auteur Barbaros Alp | 2013-01-31