iphoneアプリケーションでユーザの音声を録音する際にノイズを減らす?

バックグラウンドミュージックをバックにしてユーザーの声を録音しようとしています。 AVAudioSessionCategoryPlayAndRecord を使用して、セッションを設定して背景と再生を同時に行うことができます。しかし、それはたくさんの騒音を記録している。

ノイズを減らす方法を知っている人はいますか?

4
私はあなたが気にしないことを願っていますが、私はあなたのタイトルをSave NoiseからReduce Rediseに変更しました。
追加された 著者 sosborn,
あなたの質問に解決策を得ましたか?
追加された 著者 Manohar Perepa,
こんにちはAadilはあなたがそれをどのように実装するかを教えてくれます。
追加された 著者 08442,
はい、私は解決策を得ました
追加された 著者 Aadil,
ちょっとAadil、どうやって騒音を減らすことができましたか?ソリューションを分かち合うことができれば、私はそれが評価されると確信しています!
追加された 著者 OriginalAlchemist,

1 答え

#define DOCUMENTS [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]
#define PATH_ARQUIVO [DOCUMENTS stringByAppendingPathComponent:@"gravacao.ma4"]



-(IBAction) recordAudio:(UIButton *)sender {

        NSURL* urlArquivo = [[NSURL alloc] initFileURLWithPath:PATH_ARQUIVO];

        NSDictionary *dic = [[NSDictionary alloc] initWithObjectsAndKeys: 
        [NSNumber numberWithInt:AVAudioQualityMin], AVEncoderAudioQualityKey,
        [NSNumber numberWithInt:16], AVEncoderBitRateKey,
        [NSNumber numberWithInt:2], AVNumberOfChannelsKey, 
        [NSNumber numberWithFloat:44.1], AVSampleRateKey,
                                    nil];
        NSError* error;

        self.audioRecorder = [[AVAudioRecorder alloc] initWithURL:urlArquivo settings:dic error:&error];


        if (error) {
            NSLog(@"error: %@", [erro localizedDescription]);
        } else {
            //buffering
            [self.audioRecorder prepareToRecord];
            //recording
            [self.audioRecorder record];
        }
    }

    -(IBAction) stopRecorder:(UIButton *)sender {
        if ([self.audioRecorder isRecording]) {
            [self.audioRecorder stop];
        }
    }



    -(IBAction) PlayAudio:(UIButton *)sender {
        NSURL* urlArquivo = [[NSURL alloc] initFileURLWithPath:PATH_ARQUIVO];

        NSError* error;
        self.audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:urlArquivo error:&error];

        if (erro) {
            NSLog(@"error %@", [error localizedDescription]);
        } else {
            self.audioPlayer.numberOfLoops = HUGE_VALF;
            self.audioPlayer.enableRate = YES;
            [self.audioPlayer prepareToPlay];
            [self.audioPlayer play];
        }
    }

    -(IBAction) stopPlaying:(UIButton *)sender {
        if ([self.audioPlayer isPlaying]) {
            [self.audioPlayer stop];
        }
    }

    -(IBAction) changeRate:(UISlider *)sender {
        self.audioPlayer.rate = sender.value * 2; 
        /* it's a UISlider, max value = 1, min = 0 */
    }
1
追加された