Didacticiels pour OpenSL ES pour Android

J'ai essayé d'utiliser la bibliothèque OpenSL ES disponible pour faire de l'audio natif avec Android 2.3, mais il semble que les fichiers d'en-tête et le pdf de 600 pages de la spécification soient la seule documentation disponible.

Où devrais-je rechercher des exemples, des tutoriels ou un bref aperçu des capacités?

  • Bibliothèque Qt C ++ dans le projet Android Eclipse: pilote QSQLITE non chargé
  • Quelle version de Apache HTTP Client est incluse dans Android 1.6?
  • Est-ce qu'une classe "Globals" contenant des variables statiques dans Android est sûre?
  • Comment intégrer Linphone dans un projet Android existant
  • Envoi de fichiers via POST avec HttpURLConnection
  • Quelle est la différence entre finish () et finishActivity (int requestCode) dans Android
  • Redirection de l'audio / création de trajectoires de son alternative dans Android
  • Sondage d'émulateur Android - ubuntu
  • Besoin d'un exemple simple pour l'enregistrement audio
  • Android> 4.0: idées pour enregistrer / capturer de l'audio interne (ex: STREAM_MUSIC)?
  • Modification de la lecture vocale en appel dans la ROM personnalisée d'Android
  • Android OpenAL?
  • 5 Solutions collect form web for “Didacticiels pour OpenSL ES pour Android”

    Il existe une application exemple qui vient avec le NDK appelé NativeAudio. Il a des exemples de tout ce que vous voudrez mettre en œuvre: les effets, la diffusion, la synthèse, etc. Si vous regardez son code, vous obtiendrez une bonne avance.

    Vous pouvez également consulter le blog de programmation audio de victor lazzarini, il a une section Android: http://audioprograming.wordpress.com/category/android/

    Là, vous trouverez des exemples de travail, ils m'ont été extrêmement utiles pour démarrer avec openSL et peuvent être utilisés comme base pour développer des applications audio avec ndk.

    Et aussi, ne négligez pas le document de spécifications, il n'est pas si long après tout, la première partie ne dépasse pas cinquante pages et vous donne la perspective nécessaire pour comprendre comment tout fonctionne, le reste est pour une utilisation de référence. Veillez à ce que certaines choses dans l'application Android OpenSL diffèrent des spécifications: voir dans votre répertoire -doc / docs / opensles / index.html pour plus d'informations à ce sujet.

    Après une recherche approfondie, les informations les plus précieuses que j'ai trouvées:

    • Le projet NativeAudio inclus dans NDK est un bon début.
    • C'est aussi un bon point de départ pour le chapitre 7 "Lecture de son avec OpenSL ES" du livre "Guide NDK Débutant" de Sylvain Ratabouil (Vous pouvez regarder l'amazon en utilisant la fonction "regarder à l'intérieur" ou l'acheter).
    • Ce projet de code google pour remplacer SoundPool par OpenSL est également un excellent exemple. Tous les crédits et merci à leurs auteurs.

    Pour ceux d'entre vous qui souhaitent jouer simplement des fichiers son ou enregistrer un court instantané (dans un seul tampon), le projet NDK sera suffisant. J'ai jeté un coup d'œil sur le «Guide de débutant NDK de l'Android» et cela n'explique pas beaucoup plus que l'exemple du projet NDK.

    Mais vraiment, pour ces applications, vous êtes probablement mieux équipé de l'une des API Java. L'utilisation d'OpenSL ES pour eux est un peu une détresse IMHO. Il y aura beaucoup plus de code à écrire et aucun gain réel.

    L'avantage d'OpenSL est pour ceux qui s'intéressent aux latences inférieures (lorsque celles-ci sont disponibles) pour la synthèse et le traitement audio, et pour cela, vous voudrez probablement diffuser de l'audio, plutôt que de lire / enregistrer des tampons simples. Le chapitre du livre et l'exemple NDK ne vous apprendront pas à ce sujet. Les blogues du blog de programmation audio sont plus informatifs à ces fins.

    L'un des blogs de programmation audio de Victor Lazzarini sur la section Android est vraiment un bon début. http://audioprograming.wordpress.com/category/android/

    Et il existe un code d'exemple téléchargeable directement depuis le dépôt bitbucket git pour ce blog, c'est la partie la plus accueillante.

    La construction et l'exécution sont assez simples. Pour moi, j'ai besoin de ces étapes pour créer et exécuter cet exemple:

    1. Installer SWIG: swig-3.0.2 . Installez-le de 3 étapes:

      $ Configure $ make $ sudo make install.

    2. Modifiez le build.sh pour refléter l'emplacement de votre NDK. Et exécutez le script build.sh au répertoire de niveau supérieur.
    3. Générer build.xml par:

      $ Projet de mise à jour Android –name opensl-es-audiotest –target 1 –path ./

    4. Construire avec une fourmi: $ an debug
    5. Ensuite, vous pouvez l'installer sur votre appareil et le tester:

      $ Adb install bin / opensl-es-audiotest-debug.apk

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.