diff --git a/shared/js/voice/RecorderBase.ts b/shared/js/voice/RecorderBase.ts index b44caf82..4503acf3 100644 --- a/shared/js/voice/RecorderBase.ts +++ b/shared/js/voice/RecorderBase.ts @@ -91,6 +91,7 @@ namespace audio { set_consumer(consumer: InputConsumer) : Promise; get_filter(type: filter.Type) : filter.Filter | undefined; + supports_filter(type: audio.recorder.filter.Type) : boolean; clear_filter(); disable_filter(type: filter.Type); diff --git a/web/js/voice/JavascriptRecorder.ts b/web/js/voice/JavascriptRecorder.ts index cd6e7131..b23420fc 100644 --- a/web/js/voice/JavascriptRecorder.ts +++ b/web/js/voice/JavascriptRecorder.ts @@ -426,6 +426,16 @@ namespace audio { return new_filter as any; } + supports_filter(type: audio.recorder.filter.Type) : boolean { + switch (type) { + case audio.recorder.filter.Type.THRESHOLD: + case audio.recorder.filter.Type.STATE: + return true; + default: + return false; + } + } + private find_filter(type: filter.Type) : filter.JAbstractFilter | undefined { for(const filter of this._filters) if(filter.type == type)