broadpeak Posted May 29, 2012 Share Posted May 29, 2012 Bonjour, J'ai le code source d'une application que je dois modifier afin de faire fonctionner le HLS (Http Live Streaming). Elle lit les .mp4 et .m3u8. Après plusieurs mésaventures, j'ai enfin réussi à faire fonctionner la vidéo et le son mais deux problèmes se posent : 1) Lorsque la fonction seekTo() (du type Media Player) est activée (commentaires supprimés) le son du m3u8 disparaît et le lecteur met un temps fou à se fermer et ainsi faire planter l'appli. Ces deux problèmes ne sont que pour le .m3u8. 2) setLooping() ne fonctionne pas avec les .m3u8 et fait planter l'appli à la fin de la lecture. voici le code du player : private void playVideo() { doCleanUp(); try { // Create a new media player and set the listeners mMediaPlayer = new MediaPlayer(); mMediaPlayer.setDataSource(mFilePath); mMediaPlayer.setDisplay(mSurfaceHolder); mMediaPlayer.prepare(); mMediaPlayer.start(); mMediaPlayer.setOnCompletionListener(this); mMediaPlayer.setOnVideoSizeChangedListener(this); mMediaPlayer.setOnPreparedListener(this); //mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); //mMediaPlayer.seekTo(mResumePosition); //mMediaPlayer.setLooping(true); } catch (Exception e) { Log.e(LOG_TAG, "error: " + e.getMessage(), e); showErrorMessage(mErrorPlayingVideo); // Toast.makeText(this, "Impossible de jouer la vidéo", // 5000).show(); } } Link to comment Share on other sites More sharing options...
broadpeak Posted May 31, 2012 Author Share Posted May 31, 2012 Le problème vient du fait qu'avec les fichiers .m3u8, lorsqu'on fait un seekTo() et que la valeur entre les parentheses est à 0, le son est, selon moi, pas synchronisé avec l'image. Un ami m'a aidé et a donc ajouté la condition if (mResumePosition > 0) seekTo(mResumePosition) dans la methode playBackVideo ce qui fait que si la valeur du seekTo est 0, on ne le fait pas et donc le son est disponible. Pour le looping j'ai ajouté mMediaplayer.release(); playVideo(); dans onCompletion() et ça marche niquel ! Link to comment Share on other sites More sharing options...
broadpeak Posted May 31, 2012 Author Share Posted May 31, 2012 Un nouveau problème est arrivé. Quand j'appuie sur le bouton Resume, la vidéo se positionne bien à l'endroit où j'avais arrêté la vidéo mais le son n'est toujours pas là... Si quelqu'un a des idées ! Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.