2012-04-13 15 views
0

Ich habe eine Anwendung, in der Benutzer Audio aufnehmen und spielen mit einigen Änderungen in der Tonhöhe. Und die Ausgangslautstärke sollte ebenfalls gemessen werden. Ich weiß über die Messeigenschaften von Avaudioplayer und Cocos Sound Engines. Aber mit diesen kann ich meine Bedürfnisse nicht gemeinsam erfüllen. Wie kann ich diese (Tonhöhenverschiebung und Pegelmessung) zusammen tun. Kann mir jemand helfen.Wie man Audio-Ausgangspegelmessung und Tonhöhenänderung zusammen in iphone SDK

EDIT

CDSoundEngine *soundEngine = [[CDSoundEngine alloc] init]; 

NSArray *defs = [NSArray arrayWithObjects: [NSNumber numberWithInt:1],nil]; 
     [soundEngine defineSourceGroups:defs]; 
[soundEngine loadBuffer: 0 filePath: soundPath]; 
    ALuint soundID= [soundEngine playSound: 0 sourceGroupId: 0 pitch: PITCH pan: 0.0f gain: 2.0f loop: NO]; 

Dies ist der Code, den ich zur Zeit benutze es funktioniert gut, aber ich kann die Ausgangsleistung messen. Im Fall von AVAudioPlayer eine Eigenschaft meteringenabled

ist

[Spieler setMeteringEnabled: YES];

und wir können die Leistung von

[player updateMeters]; 
    Float32 peak=[player peakPowerForChannel:0]; 

abrufen, aber ich kann die Tonhöhe durch AVAudioPlayer

Das ist mein Problem

+0

Bitte den entsprechenden Code eingeben. –

+0

@MDT Ich habe relevante Codes hinzugefügt – Johnykutty

Antwort

1

gibt es eine Möglichkeit, eine externe Bibliothek zu verwenden: Dirac3 audi o Bibliothek - http://dirac.dspdimension.com/Dirac3_Technology_Home_Page/Dirac3_Technology.html

Eine einfache Anleitung finden Sie hier: http://purplelilgirl.tumblr.com/post/3915153445/tutorial-other-ways-to-chipmunkify-your-voice

Aber die Lizenz kostet 1000 Euro. Es gibt eine kostenlose Version, aber Sie müssen die Lizenzvereinbarung lesen, um herauszufinden, ob Sie sie in kommerziellen Produkten verwenden können (wenn ich die Vereinbarung richtig gelesen habe, können Sie sie verwenden, solange Sie dem Autor Punkte geben).

1

@johnykutty ändern gibt es keine Option, um den Ton zu ändern, indem Sie avaudio player.Sie müssen durch externe Bibliotheken gehen, um Tonhöhe geändert zu bekommen ....