2012-04-02 5 views

Antwort

1

Ich würde vorschlagen, das NSArray in ein NSData-Objekt zu konvertieren, dann mit der AVAudioPlayer-Methode initWithData:error: (see here), um als spielbares Audio zu laden. AVAudioPlayer hat den Vorteil, dass er extrem einfach in Bezug auf Audio Queue und Audio Unit-Methoden verwendet werden kann.

Wie Sie NSArray in NSData konvertieren, hängt vom Typ Ihrer Beispiele ab (this SO post könnte Ihnen eine Vorstellung davon geben, wie dies möglich ist, obwohl der NSKeyedArchiver-Archivierungsprozess mit Ihren Proben umgehen könnte). Ich würde vorschlagen, wenn Ihre Beispielgenerierung erlaubt, nur Ihre Proben in ein NSData-Objekt zu erstellen und eine solche Umwandlung zu überspringen.

1

Kopieren der Werte aus dem NSArray in einen C-Array von PCM-Abtastwerten entsprechend skaliert. Dann können Sie dieses Array in eine WAV-Datei konvertieren, indem Sie einen RIFF-Header voranstellen und diese Datei mit einem AVAudioPlayer abspielen, oder Sie können die PCM-Samples direkt in die C-Array-Puffer einer Audio Queue oder der RemoteIO Audio Unit in ihren Audio-Callbacks einspeisen.