1

Novocaine フレームワークhttps://github.com/alexbw/novocaineを使用します。マイクからの入力ユニットを一時停止して (ただし、出力は機能しています)、再度再生するとエコーが発生します。Apple のドキュメントでは、Voice-Processing I/O Audio Unit Properties - kAUVoiceIOProperty_DuckNonVoiceAudio を参照してください。私は試します:

UInt32 zero = 0;
CheckError( AudioUnitSetProperty(inputUnit,
                                 kAUVoiceIOProperty_DuckNonVoiceAudio,
                                 kAudioUnitScope_Global,
                                 kInputBus,
                                 &zero,
                                 sizeof(UInt32)), "ERROR");

メソッドsetupAudio
で結果として私は持っています

ERROR (-10879)

ドキュメントには説明がありません。一般に、iOS で audioUnits のエコー キャンセルを実装するにはどうすればよいですか? このプロパティにはおそらく問題はないと思います(デフォルトで有効にする必要があるため)..この素晴らしい記事を見つけました- http://atastypixel.com/blog/developing-loopy-part-2-implementation/著者は相関信号について述べていますおよびそれらの減算..この場合、適応フィルターが必要だと思いますが、可能であればiOSに実装できますか?

何か案は?

前もって感謝します

4

1 に答える 1

1

このエラーが発生した理由を見つけました: Novocaine AudioComponentDescription init として:

inputDescription.componentSubType = kAudioUnitSubType_RemoteIO;

しかし、私の場合は正しい:

inputDescription.componentSubType = kAudioUnitSubType_VoiceProcessingIO;

いくつかの実験の後、kAudioUnitSubType_VoiceProcessingIO エコーを無効にした後、完全ではないと結論付けました。私の使い方が悪いのかもしれません。

于 2012-11-04T12:42:16.557 に答える