0

ユーザーがオーディオを録音して、ピッチを変えて再生できるアプリケーションがあります。また、出力ボリューム パワーも測定する必要があります。avaudioplayer と cocos サウンド エンジンのメータリング プロパティについて知っています。しかし、これらを使用すると、自分のニーズを一緒に行うことができません。これら(ピッチシフトとレベルメータリング)を一緒に行うにはどうすればよいですか。誰でも私を助けることができますか?

編集

  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];

これは私が現在使用しているコードですが、正常に動作しますが、出力電力を測定できません。AVAudioPlayer の場合、meteringenabled プロパティがあります。

[プレーヤー setMeteringEnabled:YES];

そして、私たちは力を取り戻すことができます

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

しかし、AVAudioPlayerでピッチを変更することはできません

これは私の問題です

4

2 に答える 2

1

@johnykutty avaudio playerを使用してサウンドを変更するオプションはありません。ピッチを変更するには、外部ライブラリを経由する必要があります....

于 2012-05-02T10:52:37.603 に答える
1

外部ライブラリを使用する方法があります: Dirac3 オーディオ ライブラリ - http://dirac.dspdimension.com/Dirac3_Technology_Home_Page/Dirac3_Technology.html

簡単なチュートリアルがここにあります: http://purplelilgirl.tumblr.com/post/3915153445/tutorial-other-ways-to-chipmunkify-your-voice

しかし、ライセンスには1000ユーロかかります。無料版もありますが、商用製品で使用できるかどうかを確認するには、ライセンス契約を読む必要があります (契約を正しく読んだ場合は、作者にクレジットを表示する限り使用できます)。

于 2012-10-22T20:22:12.023 に答える