2010-03-15 13 views
6

Hey du Objective-C bods.Audio/Sprach-Visualisierung

Weiß jemand, wie ich ein Bild basierend auf der Eingabe vom Mikrofon auf dem iPhone ändern (transformieren) würde?

Wenn ein Benutzer in das Mikrofon spricht, wird das Bild pulsieren oder verzerren.

[Bearbeiten] Jeder hat irgendwelche Ideen, ich habe (was ist im Grunde) eine Sprachaufnahme-App. Ich wollte nur, dass sich etwas ändert, wenn die Spracheingabe bereitgestellt wird. Ich habe es in einem Beispielprojekt gesehen, aber das war nicht mit einem UIImage. [/ redigieren Sie]

Ihnen zu danken !!

Antwort

8

Apple hat einige großartige Frameworks dafür zusammengestellt! Das AVFoundation-Framework und das CoreAudio-Framework werden für Sie am nützlichsten sein.

Um Audio-Level-Informationen zu erhalten, ist AVAudioRecorder nützlich. Obwohl es für die Aufnahme gedacht ist, liefert es auch Pegeldaten für das Mikrofon. Dies wäre nützlich für Ihre Image-Basis zu verformen, wie laut dem Benutzer an seinem Telefon schreit;)

Hier ist die Apple-Dokumentation für AVAudioRecorder: AVAudioRecorder Class Reference

Etwas ausführlicher:

// You will need an AVAudioRecorder object 
AVAudioRecorder *myRecorderObject; 

// To be able to get levels data from the microphone you need 
// to enable metering for your recorder object 

[myRecorderObject prepareToRecord]; 
myRecorderObject.meteringEnabled=YES; 

// Now you can poll the microphone to get some levels data 

float peakPower = [myRecorderObject peakPowerForChannel:0]; 
float averagePower = [myRecorderObject averagePowerForChannel:0]; 

Wenn Sie ein großartiges Beispiel dafür sehen möchten, wie ein AVAudioRecorder-Objekt zum Abrufen von Ebenendaten verwendet werden kann, lesen Sie diese tutorial.

Was das Bild verformen würde, wäre eine Bildbibliothek. Es gibt eine Menge zur Auswahl und einige tolle von Apple. Ich bin jedoch mit nichts vertraut, so dass jemand anderes antworten könnte.

Viel Glück!

+1

Wenn Sie ein Neuling für die Verwendung des Mikrofons auf dem iPhone sind, lesen Sie dieses Tutorial: http://www.mobileorchard.com/tutorial-detecting-when-a-user-blows-into-the-mic/ – Jay

+0

Ausgezeichnet, vielen Dank! –