Je souhaite conserver la lecture en arrière-plan lorsque l'utilisateur décide d'appuyer sur «home» pendant le film.Activation de la lecture en arrière-plan sur Android TV
J'ai suivi le guide ici: https://developer.android.com/training/tv/playback/options.html
Et écrit le code suivant (qui fonctionne):
@Override
public void onPause() {
super.onPause();
if (mVideoView.isPlaying())
{
// Argument equals true to notify the system that the activity
// wishes to be visible behind other translucent activities
if (! requestVisibleBehind(true)) {
// App-specific method to stop playback and release resources
// because call to requestVisibleBehind(true) failed
stopPlayback();
}
} else {
// Argument equals false because the activity is not playing
requestVisibleBehind(false);
}
}
@Override
public void onVisibleBehindCanceled() {
// App-specific method to stop playback and release resources
stopPlayback();
super.onVisibleBehindCanceled();
}
J'ai quelques questions. J'ai trouvé que commenter la ligne if (! requestVisibleBehind(true))
ne retourne pas les résultats voulus. J'étais plutôt confus.
- Cette ligne ne devrait-elle pas renvoyer une valeur booléenne? Comment peut-il activer la lecture en arrière-plan? Avec le débogueur, mentionné "si" est réussi et il arrête le joueur. Pas vraiment sûr de ce qui se passe et comment, alors peut-être que quelqu'un peut m'expliquer.
requestVisibleBehind() est @deprecated, de même que onVisibleBehindCanceled(). Y a-t-il des alternatives? Quand j'ai essayé de regarder dans ce que ces fonctions tiennent, je me suis aussi surpris quand j'ai trouvé (même pour requestVisibleBehind().
public void onVisibleBehindCanceled() { throw new RuntimeException("Stub!"); }
À un moment donné, je me doutais bien que résultat de la lecture de fond est de d'autres actions, mais quand je commente le code fragmenté précédemment mentionné, je n'obtiens pas le résultat voulu (que j'obtiens si je ne le commente pas)
si votre code fonctionne ce que vous voulez réellement –
Si vous commentez 'if (! RequestVisibleBehind (true))' et son accolade fermante associée, puis la ligne 'stopPlayback()' sera appelé (qui arrête la lecture) FWIW ... – rogerdpack
Ce lien peut vous être utile: http://corochann.com/android-tv-application-hands-on-tutorial-9-195.html –