2011-07-20 5 views
39

J'ai essayé de regarder dans la bibliothèque OpenSL ES qui est disponible pour faire audio natif avec Android 2.3, mais il semble que les fichiers d'en-tête et les 600 pages en format pdf de la spécification sont les seulement la documentation disponible.Tutoriels pour OpenSL ES pour Android

Où dois-je être à la recherche des exemples, des tutoriels, ou un bref aperçu des capacités?

+0

s'il vous plaît vérifier googlesample https://github.com/googlesamples/android-ndk/tree/master/native-audio – animation123

Répondre

21

Il y a un exemple d'application qui vient avec le NDK appelé NativeAudio. Il a des exemples de presque tout ce que vous voudriez implémenter: effets, streaming, synthèse, etc. Si vous regardez son code, vous aurez une bonne longueur d'avance.

16

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

Vous y trouverez des exemples de travail, ils ont été extrêmement utile pour moi de commencer avec OpenSL et peuvent être utilisés comme base développer des applications audio avec ndk. Et aussi, ne négligez pas le cahier des charges, ça ne fait pas si longtemps, la première partie ne dépasse pas une cinquantaine de pages et vous donne la perspective nécessaire pour comprendre comment tout fonctionne, le reste sert à la référence. Faites attention à ce que certaines choses dans l'implémentation d'android openSL diffèrent des spécifications: voir dans votre -ndk-directory/docs/opensles/index.html pour plus d'informations à ce sujet.

+0

le blog est privé .. – Timo

+1

@Timo, la question est plus de cinq ans vieux, beaucoup de choses ont changé depuis (il y a même une nouvelle API audio qui peut être utilisée à la place d'OpenSL sur des appareils plus récents!). Si vous êtes toujours à la recherche d'exemples, jetez un oeil à ces repos github de google: https://github.com/googlesamples/android-ndk/tree/master/audio-echo et https://github.com/googlesamples/android -audio-haute performance. Mon conseil concernant les spécifications OpenSL reste valable. Une autre source d'information est le groupe ndk google: https://groups.google.com/forum/#!forum/android-ndk, il suffit de chercher avec le mot-clé "audio". – athos

10

Après une recherche tout à fait les informations plus précieux que j'ai trouvé:

+0

semble que j'ai accidentellement voté cette réponse:/va supprimer le vote vers le bas dès que mon vote est débloqué –

8

Pour ceux d'entre vous qui veulent simplement lire des fichiers sonores uniques ou enregistrer un court instantané (dans un seul tampon), le projet NDK sera suffisant. J'ai regardé le "Guide du débutant Android NDK" et cela n'explique vraiment pas beaucoup plus que le projet NDK.

Mais vraiment, pour ces applications, vous êtes probablement mieux avec l'une des API Java. Utiliser OpenSL ES pour eux est un peu exagéré à mon humble avis. Il y aura beaucoup plus de code à écrire et pas de gain réel. L'avantage d'OpenSL est pour ceux qui sont intéressés par des latences inférieures (quand celles-ci deviennent disponibles) pour la synthèse et le traitement audio, et pour cela, vous voudrez probablement streamer l'audio, plutôt que lire/enregistrer des tampons uniques. Le chapitre du livre et l'exemple du NDK ne vous apprendront pas à ce sujet. Les blogposts dans le blog de programmation audio sont plus informatifs à ces fins.

+0

et quels sont ces billets de blog? Est-ce que votre réponse est vraiment une réponse? il ressemble à un commentaire à moi .. – aProgrammer

+0

Je crois qu'il fait allusion à ceci: http://audioprograming.wordpress.com/, qui s'appelle en fait "The Audio Programming Blog" –

0

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

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

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

  1. SWIG Installation: swig-3.0.2. Installez-le par 3 étapes:

    $ configurent $ font $ sudo make install.

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

    $ projet de mise à jour Android --name OpenSL-es-AudioTest --target 1 --path ./

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

    $ adb install bin/OpenSL-es-AudioTest-debug.apk

Questions connexes