Je dois être en mesure de diffuser de l'audio à partir d'un format de fichier personnalisé sur le côté C++ du système Android. Je travaille sur le portage d'un lecteur multimédia personnalisé et je dois être en mesure d'ouvrir un fichier personnalisé et de diffuser de l'audio à partir de celui-ci. Ceci est important car je ne pense pas que le portage de tout le lecteur vers JAVA est faisable du point de vue de la performance et que le déplacement des buffers audio via l'interface JNI sera trop lent pour maintenir une cadence d'images correcte. Je peux gérer la vidéo sur le côté NDK à travers OpenGL ES, mais l'Audio Je n'ai aucune idée de comment y arriver.Android lire l'audio brut à partir du côté C++
Répondre
Le NDK ne prend pas en charge la lecture des trames audio actuellement. Vous devez utiliser l'API java AudioTrack pour y parvenir.
Je vous recommande de transmettre l'audio via le JNI et de voir comment il fonctionne réellement. J'ai trouvé que le JNI est en fait très efficace (si mis en œuvre correctement) et ne serait pas surpris s'il est plus que suffisamment rapide pour ce dont vous avez besoin. Juste une note sur la mise en œuvre, n'obtenez pas de Java pour créer un tampon chaque fois que vous voulez passer du son, créez simplement un tampon en Java (ou via le JNI) et ensuite le memcpy chaque fois que vous avez besoin de mettre à jour.
En outre, vous devriez noter que TOUTES les classes audio sur Android sont actuellement écrites en C++ et exécutées par le JNI. Si c'est assez rapide pour aller dans un sens (je travaille actuellement sur un jeu où nous pouvons soumettre plus de 0,5 Mo de données audio de Java à AudioTrack sur certaines images sans problème), alors ce ne sera probablement pas trop mal à aller l'autre comme fondamentalement la même opération, à savoir le verrouillage du tampon, écrire, déverrouiller aller à l'audio, et verrouiller le tampon, lire, déverrouiller dans les classes audio.
- 1. Lire le texte brut à partir du fichier binaire avec PHP
- 2. Obtenir du texte brut à partir du texte démarqué
- 3. Texte brut justifié à partir du code HTML
- 4. lire une chaîne à partir du fichier resx sharpdevelop C#
- 5. lire plusieurs fois à partir du même flux dans C#
- 6. lire et écrire à partir du fichier
- 7. impossible de lire le fichier audio brut
- 8. Comment lire un flux brut PCM pur avec C#?
- 9. SMS brut pdu dans Android
- 10. Script côté client pour lire et manipuler l'image à partir du Web (détails ...)
- 11. Objective-c sauvegarde du texte brut
- 12. Comment obtenir du texte brut à côté d'un élément HTML à l'aide de jQuery?
- 13. Zend_Http_Client - Lire à partir du flux?
- 14. Lire à partir du réseau problème .NET
- 15. Android lire l'historique du navigateur
- 16. Du XML brut (pas de schéma) à la classe C#?
- 17. Lire le fournisseur de téléphonie mobile à partir du téléphone
- 18. Android: deux fileurs à côté
- 19. C# webbrowser rafraîchissement brut
- 20. Appel du gestionnaire d'événements côté serveur dans asp.net à partir du script java côté client
- 21. Recherche du nom du contact Android à partir du numéro
- 22. Obtenir le script PHP du côté serveur à partir de l'appel apk android
- 23. Lire le fichier à partir de l'appareil Android?
- 24. lire un fichier spécifique à partir de sdcard dans android
- 25. Lire un fichier à partir d'une application android
- 26. Comment convertir du XML brut en SOAP XML en C#?
- 27. ASP.NET MVC: renvoi du fichier texte brut à télécharger à partir de la méthode du contrôleur
- 28. Pointeur brut en C++
- 29. Lire du contenu statique à partir du code d'une application
- 30. Comment lire le flux à partir du service WCF