31 votes

Android OpenAL?

Quelqu'un a construit OpenAL pour le Android, ou la bibliothèque partagée sur le système? Cela semble être une nécessité évidente pour un jeu de toute sorte, mais il n'y a pas de ressources pour cela. Il semble que l'Android java bibliothèque sonore ne peut pas faire de changement de hauteur de ce que je peux dire, donc, il semble qu'une OpenAL. Je sais OpenAL Douce peut être construit sur ALSA, mais je ne suis pas sûr si anyones fait, et je suis sûr qu'il me faudrait un mois.

Si il y a un bon guide quelque part sur la manipulation sonore sur l'Android sans OpenAL, c'est bien trop. C'est juste que OpenAL est une sorte de standard pour les fabricants de jeu et il serait agréable de port mon des milliers de lignes sur ce système, j'ai pensé a été le point de le NDK avant que je dugg en lui et vit qu'il n'y a presque pas d'accès à la bibliothèque sur le système.

Merci.. j'espère que je peux réellement port sans devenir un expert java me. Vraiment ne pas aimer le NDK si loin!

34voto

AerialX Points 511

Quelques options sont maintenant disponibles pour NDK audio:

  1. Ce n'est pas OpenAL, mais OpenSL ES 1.0.1 est une partie officielle de la NDK comme de l'API de niveau 9 (2.3). Plus d'informations ici.

  2. OpenAL Douce a une OpenSL ES backend dans sa version git master (pas libéré à partir de la version 1.13). Il est cependant à ce moment cassée sur Android, comme il est écrit pour OpenSL ES 1.1, pas de la version 1.0.1. Voir à ce commit pour un correctif.

  3. Comme mentionné dans une réponse précédente, à un JNI backend pour OpenAL Soft est liée à l'décrit ici comme la seule option pour OpenAL sur la pré-2.3 les plates-formes Android. Cependant, c'est une ancienne fourche de OpenAL Doux - j'ai mis à jour le backend de la dernière version sur un dépôt github ici avec le OpenSL ES 1.0.1 correctif. Également inclus est un non testé en option patch qui prétend offrir de meilleures performances et moins de latence.

8voto

Martin Points 287

Juste avant que Google n'annonce que l'audio 3D va être inclus dans Android 2.3, j'ai réussi à compiler OpenAL pour Android et à le conditionner en tant qu'objet partagé.

Voir http://pielot.org/2010/12/14/openal-on-android/

Pourrait toujours être utile si vous souhaitez cibler des appareils <2.3.

À votre santé.

5voto

SomeCallMeTim Points 1803

OpenSL est prévu pour une future Android construire; OpenAL n'est pas disponible, et le matériel de bas niveau est hors-limites à ce que vous pouvez faire dans le NDK, de sorte que vous ne pouvez pas construire en toute sécurité-le vous-même.

Il n'y a pas de support pour de faibles temps de latence audio même prévu; il y a un bug à cet effet ici:

http://code.google.com/p/android/issues/detail?id=3434

Star si c'est pertinent pour vous; peut-être que Google va écouter si elle devient assez d'étoiles.

-3voto

CaseyB Points 16014

Vous pouvez utiliser le NDK pour construire OpenAL et l'empaqueter avec votre APK. De cette façon, vous pouvez y accéder à partir de votre code natif.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X