broadpeak Posté(e) 29 mai 2012 Share Posté(e) 29 mai 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(); } } Lien vers le commentaire Partager sur d’autres sites More sharing options...
broadpeak Posté(e) 31 mai 2012 Auteur Share Posté(e) 31 mai 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 ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
broadpeak Posté(e) 31 mai 2012 Auteur Share Posté(e) 31 mai 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 ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.