Aller au contenu

Perte audio fichier .m3u8 à cause de seekTo();


broadpeak

Recommended Posts

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

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

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...