From 8bd9d11ecd4d113b46436c25fcf3ac4390087646 Mon Sep 17 00:00:00 2001 From: Yun Chan Date: Sun, 5 Apr 2026 13:17:48 +0900 Subject: [PATCH] =?UTF-8?q?Settings=20=EC=97=B4=EA=B8=B0=20=EC=86=8D?= =?UTF-8?q?=EB=8F=84=20=EA=B0=9C=EC=84=A0:=20=EC=98=A4=EB=94=94=EC=98=A4?= =?UTF-8?q?=20=EB=94=94=EB=B0=94=EC=9D=B4=EC=8A=A4=20=EC=BA=90=EC=8B=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/services/AudioCaptureService.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/services/AudioCaptureService.ts b/src/main/services/AudioCaptureService.ts index 8ec608d..7340129 100644 --- a/src/main/services/AudioCaptureService.ts +++ b/src/main/services/AudioCaptureService.ts @@ -56,6 +56,7 @@ class AudioCaptureService extends EventEmitter { private _state: CaptureState = 'idle' private _currentDevice: AudioDevice | null = null private _refCount = 0 + private _cachedDevices: AudioDevice[] | null = null private _soxProcess: ChildProcess | null = null private _stream: Readable | null = null private _levelInterval: ReturnType | null = null @@ -221,6 +222,9 @@ class AudioCaptureService extends EventEmitter { } async getDevices(): Promise { + // 캐싱: PowerShell 호출이 느리므로 한번만 실행 + if (this._cachedDevices) return this._cachedDevices + const devices: AudioDevice[] = [ { deviceId: 'default', label: '시스템 기본 마이크', isDefault: true }, ] @@ -256,6 +260,7 @@ class AudioCaptureService extends EventEmitter { logger.warn(`Failed to enumerate audio devices via PowerShell: ${err instanceof Error ? err.message : String(err)}`) } + this._cachedDevices = devices logger.debug(`Found ${devices.length} audio device(s)`) return devices }