Lorsque le MediaPlayercommence à lire une musique (ou une autre source), il vérifie s'il existe un SubtitleController et affiche ce message s'il n'est pas défini. Il ne semble pas se soucier de savoir si la source que vous souhaitez lire est une musique ou une vidéo. Je ne sais pas pourquoi il a fait ça.
Réponse courte: ne vous souciez pas de cette "exception".
Si MediaPlayern'est utilisé que pour lire des fichiers audio et que vous voulez vraiment supprimer ces erreurs dans le logcat, le code ci-dessous définit un empty SubtitleControllersur le MediaPlayer.
Il ne doit pas être utilisé dans un environnement de production et peut avoir des effets secondaires.
Je suis d'accord - ce n'est pas une erreur si une piste de sous-titres n'existe pas. Tout au plus informatif.
Someone Somewhere
4
ok, bien sûr, mais y a-t-il un moyen facile de le supprimer? ça augmente ma sortie logcat ...
TJ Ellis
Je pense que je peux créer un filtre si c'est vraiment ennuyeux, recompiler Android ou définir un SubtitleController vide pour votre chanson.
Hacketo
1
@Hacketo Comment définir un SubtitleController vide? Désolé, je ne vois pas cela dans les documents.
Frank Schwieterman
2
Bien entendu, la documentation ne fournit pas ces informations. Si vous avez vu le code partagé du MediaPlayer, vous pouvez voir qu'il existe un setter pour le SubtitleController (donc cela devrait être possible), mais semble malheureusement indisponible.
Hacketo
8
Pour supprimer le message sur logcat, j'ajoute un sous-titre à suivre. Sous les fenêtres, faites un clic droit sur la piste -> Propriété -> Détails -> insérez un texte sur le sous-titre. Terminé :)
Quelques réflexions à ce sujet: 1) la modification du fichier source n'est pas vraiment réalisable dans de nombreuses situations. 2) vous n'avez pas expliqué pourquoi l'ajout d'une piste de sous-titres corrigeait une erreur sur un contrôleur de sous-titres dans MediaPlayer.
Travis Castillo
L'erreur est "Devrait avoir un contrôleur de sous-titres déjà défini", donc j'ajoute un sous-titre à suivre afin d'éviter ce message d'erreur.
StefanoM5
contrôleur de sous-titres ou de sous-titres. dites-vous qu'en ayant une piste de sous-titres sur une vidéo, le lecteur multimédia génère automatiquement un contrôleur?
Travis Castillo
0
De plus, vous ne pouvez que le définir mediaPlayer.reset()et le onDestroydéfinir pour le libérer.
Pour supprimer le message sur logcat, j'ajoute un sous-titre à suivre. Sous les fenêtres, faites un clic droit sur la piste -> Propriété -> Détails -> insérez un texte sur le sous-titre. Terminé :)
la source
De plus, vous ne pouvez que le définir
mediaPlayer.reset()
et leonDestroy
définir pour le libérer.la source