2008-12-07 19 views
8

Als ich anfing SoundEngine (von CrashLanding und TouchFighter) zu benutzen, hatte ich von ein paar Leuten gelesen, die empfahlen, es nicht zu benutzen, weil es ihnen zufolge nicht stabil genug war. Dennoch war es die einzige Lösung, die ich kannte, um Sounds mit Tonhöhen- und Positionssteuerung zu spielen, ohne C++ und OpenAL zu lernen, also ignorierte ich die Warnungen und fuhr damit fort.Open Source Sound Engine

Aber jetzt mache ich mir Sorgen. Das 2.2 SDK führte AVFoundation ein. Mit SoundEngine von CrashLanding (für Sounds) und AVAudioPlayer (für Musik) fand ich heraus, dass sich SoundEngine merkwürdig verhält, wenn der einzige existierende AVAudioPlayer veröffentlicht wird (alle Sounds hören auf, bis ein neuer AVAudioPlayer gestartet wird). Ungefähr zur gleichen Zeit, als das 2.2 SDK herauskam, wurde der CrashLanding-Beispielcode auf mysteriöse Weise von der ADC-Site entfernt. Ich bin besorgt, dass es noch mehr böse Überraschungen geben wird.

Meine Frage ist, ist jemand einer Open-Source-Alternative zu SoundEngine bekannt? Vielleicht sogar eine C++ - Bibliothek, die OpenAL verwendet?

Antwort

2

Schauen Sie sich this Bibliothek, aber ich weiß nicht, ist das, was Sie brauchen.

0

Warum nicht einfach AVFoundation verwenden? Es ist ziemlich einfach zu handhaben und schön flexibel - abgesehen davon, dass Sie genaues Timing brauchen (sagt die Apple-Dokumentation - aber ich habe es ziemlich ausgiebig getestet und dennoch wichtige praktische Probleme gefunden), sehe ich keinen Grund, nicht zu nutzen es.

+0

Können Sie Rohdaten in AVFoundation (AVAudioPlayer) eingeben, zum Beispiel, wenn Sie eine Sinuswelle mit einer bestimmten Tonhöhe erzeugen und abspielen wollten? – JonB

+0

Es gibt keine Tonhöhen- oder Positionssteuerung mit AVFoundation. –

+0

Nein, aber Sie könnten die Roh-Sinus-Daten erzeugen? – JonB

0

AVFoundation fehlt die Soundplatzierung. Das macht mich traurig.

0

Ich habe eine simple sound engine um OpenAL geschrieben. Es gibt keine Positionskontrollen (ich brauchte sie nicht), aber es wäre trivial hinzuzufügen, wenn Sie den Rest nach Ihren Wünschen finden. Und es gibt auch einige experimental sound code in der Cocos2D-Engine. Es hat sowohl Tonhöhen- als auch Positionsregler und sieht ziemlich brauchbar aus.

2

Die Kowalski project bietet eine datengesteuerte und portable Sound-Engine, die derzeit auf iOS, OS X und Windows läuft. Die Engine wird unter der zlib-Lizenz veröffentlicht und bietet Positions-Audio, Pitch-Control usw.