est-il un moyen de modifier la taille du tampon par défaut en streaming MediaPlayer
?modifier la taille du tampon sur MediaPlayer
Répondre
La taille de la mémoire tampon est intégrée dans le microprogramme. Tout ce que vous pouvez faire est de garder un œil sur combien le tampon est rempli, et même c'est juste un pourcentage.
Désolé!
Le problème apparaît lors de la diffusion de contenu en direct, par exemple: radio Internet en direct. En tant que contenu live, je ne peux rien calculer car la longueur de la piste est infinie et les méthodes onBuffering dans MediaPlayer ne sont jamais appelées.
Mon intention est de définir un tampon en fonction du facteur de débit afin d'optimiser les ressources et de l'augmenter pour éviter les déconnexions 3G. Eh bien, vraiment je ne peux pas empêcher les déconnexions 3G, mais je veux dire que je peux faire cette connexion plus longtemps pour garder le streaming plus vivant à l'utilisateur final. Donc je pense que je peux coder un proxy Java pour me connecter au contenu en direct et définir ma propre taille de tampon en fonction du débit, puis passer ce proxy comme URL sur MediaPlayer et lire le contenu.
Mais avant de commencer à coder cela, je veux savoir s'il existe une autre méthode, ou une autre meilleure astuce que je peux appliquer à MediaPlayer pour résoudre ce problème.
Salut, comment avez-vous résolu le problème, avez-vous utilisé un proxy de flux? – burakk
Cela peut être pas tout à fait pertinent à votre problème, mais peut-être quelqu'un d'autre sera aidé par ceci:
J'ai juste besoin de savoir la taille de la mémoire tampon est. Je suppose que c'est une quantité fixe d'octets, plutôt qu'une quantité fixe de temps de lecture. Pour obtenir une estimation de la taille du tampon audio/vidéo, vous pouvez implémenter un OnBufferingUpdateListener pour détecter quand le tampon est complètement rempli et utiliser TrafficStats pour déterminer le nombre d'octets consommés par votre flux en continu entre le démarrage du flux et le tampon devenir plein. Ceci doit être un indicateur de la taille de la mémoire tampon MediaPlayer utilise ...
n'est-ce pas triste que nous devons recourir à cette poubelle pour accomplir les tâches de base ??? – StackOverflowed
bon conseil, merci. upvote – sandalone
La taille est définie dans cadres/base/media/libstagefright/include/NuCachedSource2.h
kDefaultHighWaterThreshold et kDefaultLowWaterThreshold est allé entre Android 2.3.7 et Android 4.0.4 la taille du tampon a augmenté par le facteur 8, comme indiqué dans ce fil Android - MediaPlayer Buffer Size in ICS 4.0
Vous auriez besoin d'une ROM personnalisée.
Android 2.3.7
enum {
kPageSize = 65536,
kHighWaterThreshold = 5 * 1024 * 1024,
kLowWaterThreshold = 512 * 1024,
// Read data after a 15 sec timeout whether we're actively
// fetching or not.
kKeepAliveIntervalUs = 15000000,
};
Android 4.0.4
enum {
kPageSize = 65536,
kDefaultHighWaterThreshold = 20 * 1024 * 1024,
kDefaultLowWaterThreshold = 4 * 1024 * 1024,
// Read data after a 15 sec timeout whether we're actively
// fetching or not.
kDefaultKeepAliveIntervalUs = 15000000,
};
Si vous dérange cette question, alors vous êtes peut-être intéressé dans le rapport de bogue https://code.google.com/p/android/issues/detail?id=29870
- 1. AES taille du tampon
- 2. Modifier URI MediaPlayer
- 3. Taille du tampon du serveur UDT?
- 4. Java HTTP Requests Taille du tampon
- 5. Modifier la taille maximale du fichier upload
- 6. Modifier la taille du panneau dynamiquement
- 7. MediaPlayer sur Android
- 8. en passant le tampon char aux fonctions et en obtenant la taille du tampon
- 9. Modifier la taille de vue
- 10. Comment regarder/modifier la taille de la mémoire tampon Windows pour rs232 (com)?
- 11. Audio (MediaPlayer) Sur Android
- 12. Taille de lecture du tampon de fichier optimale?
- 13. Modifier la taille du bouton de la feuille d'actions?
- 14. Taille du tampon: N * sizeof (type) ou sizeof (var)? C++
- 15. Maintenir la même hauteur sur Modifier la taille (jQuery)
- 16. Envoi de la longueur du tampon et de la mémoire tampon sur la socket dans c
- 17. C - chaîne lu à partir du tampon d'une certaine taille
- 18. Modifier la taille du pool d'applications Passenger à l'exécution
- 19. Modifier la taille de l'image avec du code JavaScript
- 20. Modifier la taille du contrôle de l'image en javascript
- 21. Modifier la taille du texte lorsqu'il est sélectionné
- 22. Comment puis-je modifier/diminuer la taille du spinner Android?
- 23. Tomcat 6 Tampon par défaut Taille
- 24. Comment diffuser du contenu authentifiées avec MediaPlayer sur Android
- 25. Modifier la taille de la vue MPMoviePlayerController
- 26. Google Protocol Buffers - Tampon de taille fixe?
- 27. Comment vérifier la taille de la mémoire tampon restante du tuyau dans Windows en c/C++?
- 28. Pourquoi la taille du tampon modifie-t-elle la sortie de mon flux?
- 29. Conversion de type pointeur: effet sur la longueur du tampon?
- 30. Comment obtenir la durée du fichier mp3 Http diffusé sur Android MediaPlayer
Pas vraiment/seulement. Comme je l'ai vu dans Googles Code, il existe une méthode 'public booleansetParameter (int key, int value)' qui vous permet de le faire si vous connaissez la valeur de la clé (je les ai pour les périphériques RK).Malheureusement je ne peux pas trouver un moyen d'appeler cette méthode (même si c'est public), mais je vais le trouver, il doit y avoir un moyen de le faire! – bluewhile
@bluewhile avez-vous trouvé un moyen de le faire? – w2lame
Non, j'ai fini par pleurer parce que j'ai perdu plusieurs grosses affaires juste à cause de l'ignorance de Google. – bluewhile