J'utilise une API de joueur YouTube pour la lecture de vidéos YouTube dans mon application. Vidéo démarrez la lecture et la pause après 1-2 secondes
J'ai créé un fragment vidéo et un groupe de visions. Ensuite, je crée une carte VidéoView de YouTobeView. P>
videofragment p> fonction pour la création de toiTobe VideoView P> private ViewGroup createYouTubePlayer(final VideoData data, final FrameLayout youTubePlayer)
{
youTubePlayer.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
FragmentManager fm = mActivity.getSupportFragmentManager();
if (v.getId() == mCurrentYouTubePlayer)
{
return;
}
VideoFragment fragment = (VideoFragment) fm.findFragmentById(mCurrentYouTubePlayer);
if (fragment == null)
{
fragment = VideoFragment.newInstance();
fragment.setVideoId(data.srcPath);
fm.beginTransaction().add(youTubePlayer.getId(), fragment).commit();
mCurrentYouTubePlayer = v.getId();
}
else
{
fm.beginTransaction().remove(fragment).commit();
fragment = VideoFragment.newInstance();
fragment.setVideoId(data.srcPath);
fm.beginTransaction().add(youTubePlayer.getId(), fragment).commit();
mCurrentYouTubePlayer = v.getId();
}
}
});
return youTubePlayer;
}
3 Réponses :
Le problème peut être parce qu'il existe un objet ci-dessus com.google.android.youtube.player.youtubePonderview ou la vidéo contient une propriété de rembourrage p>
Il n'est pas possible d'ajouter des boutons comme superposés au-dessus du lecteur, comme spécifié par Google, sinon le joueur s'arrête: p>
Notez que pendant que des vidéos jouent, cette vue a une taille minimale de 200x110 DP. Si vous faites la vue des vidéos plus petites, des vidéos seront Arrêtez automatiquement de jouer. En outre, il n'est pas autorisé à superposer le Voir avec d'autres vues pendant que une vidéo joue. p>
Cette vue ne prend pas en charge le rembourrage. Pour obtenir le même effet, enveloppez la vue dans un autre groupe de spectacles ou lui donner des marges. P> blockQuote>
Le rembourrage n'est également pas pris en charge sur YouTubePlayer. P>
Pour superposer votre vue sur la vidéo, je vous recommanderai d'utiliser
ExoPlayer forte>, Il ne fait pas partie du SDK Android, mais il est recommandé par Google et inclus dans la documentation du développeur Android: P> http://google.github.io/exoplayer/ p>
Exoplayer vous permet de diffuser n'importe quel type de vidéo, non seulement des vidéos YouTubes. P>
Il est également bon de mentionner que l'exoplayer est utilisée dans l'application YouTube. P>
Si quelqu'un utilise le fragment YouTube, utilisez le remplacement de la transaction plutôt que d'ajouter.
YouTubePlayersupportfragment YouTubePlayerfragment = YouTubePlayerSupportfragment.NewInstance (); P>
FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
transaction.replace(R.id.youtube_frame, youTubePlayerFragment).commit();
Et la question est ...?
Voulez-vous la mettre en pause après 2 secondes? Ou une pause est le problème réel et vous ne le voulez pas?
Pause est le problème réel
Essayez de vérifier ce lien Stackoverflow.com/Questtions/14014087/...
ouais même problème que je l'ai eu, pls me donner une solution si tu l'as eu
Stackoverflow.com/questions/19981645/...
Essayez de réduire les Targetsdkversion dans la construction de votre application.Gradle à 19. Je n'ai aucune idée de pourquoi, mais cela a travaillé pour moi lorsque j'avais le même problème.