Wie schlecht ist Android SoundPool? Welche Alternative?


Answers

Stick mit OGG-Dateien und SoundPool wird es dir gut gehen. Es ist die Natur der Multi-Plattform-Bestie, die Android ist, dass es Hardware-Konfigurationen geben wird, die nicht mit jedem wichtigen Programm funktionieren, egal wie fleißig die Programmierer versuchen.

Wenn es sich um ein großes und gut finanziertes Projekt handelt, fügen Sie jedem der wichtigsten Telefone zum Testen eine Finanzierung hinzu. Es ist tatsächlich viel billiger als die Zeit, die der Programmierer damit verbracht hat, zu recherchieren und zu versuchen, zu erraten, was ihre Leistung ist.

Es tut uns leid. Scheint so, als ob dies nicht die Antwort ist, nach der Sie gesucht haben. Viel Glück!

Question

Ich habe mir den SoundPool Android als einen Mechanismus angesehen, um Soundeffekte in meine generische Game Development Library zu implementieren. Es schien ideal.

Aber ein bisschen Forschung zeigt, dass es in SoundPool alle möglichen Fehler SoundPool . Sind die Fehler in SoundPool noch relevant?

Da ich eine Bibliothek entwickle, werden Fehler in SoundPool zu Fehlern in meiner Bibliothek, und ich möchte meine Benutzer SoundPool .

Also meine Frage ist im Grunde: Welche API sollte ich für Audio verwenden?

AudioTrack und meinen eigenen Mixer zu schreiben, kommt nicht in Frage. Aber offensichtlich wäre es besser, dies zu vermeiden. Und gibt es irgendeine API, um Decodierung für mich zur Verfügung zu stellen?

Ich muss in der Lage sein, eine vernünftige Anzahl von simultanen Soundeffekten zu spielen (mindestens 16, sagen wir) und noch offener zu sein. Sounds müssen mit niedriger Latenz anfangen zu spielen. WAV Dateien müssen unterstützt werden (MP3 / Ogg ist unwichtig). Soundeffekte müssen ein nahtloses Looping und eine dynamische, individuelle Lautstärkeanpassung unterstützen. Der Android-App-Lebenszyklus muss ordnungsgemäß unterstützt werden.

Ich habe gehört, es gibt eine 1MB Grenze irgendwo für SoundPool , das ist wahrscheinlich für jeden einzelnen Soundeffekt akzeptabel, aber nicht für alle Puffer / Sounds. Kann mir jemand genau sagen, was das Limit ist?

Schließlich muss ich auch in der Lage sein, Hintergrundmusik in komprimierten Formaten mit geringer CPU-Last abzuspielen. Ich MediaPlayer davon aus, dass MediaPlayer dafür ideal ist. Kann es parallel mit einer anderen API verwendet werden?

Ich weiß, dass einige Leute SoundPool haben, um SoundPool . Aber unterstützt es die Funktionen, die ich brauche?

Gibt es noch andere Audio-APIs, die ich vermisst habe?