fix(desktop): AudioCaptureService.getDevices Mac 분기 — system_profiler CoreAudio 열거 (U7, 빅뱅 Phase 5 Part 6)
getDevices()가 powershell -NoProfile을 플랫폼 불문 호출해 Mac에서 "Failed to enumerate audio devices via PowerShell" 경고 + 1 device fallback이 발생하던 문제. process.platform 분기로 _getDevicesWindows / _getDevicesMac helper로 분리하고, Mac은 system_profiler SPAudioDataType -json 을 파싱해 coreaudio_device_input > 0 인 항목만 input 디바이스로 추출. macOS SoX 빌드는 실제 캡처 경로에서 -d(default) 고정이므로 deviceId는 'default'로 통일하고 label만 사용자 구분용으로 노출한다. Linux는 default 1개만 반환(pulseaudio/alsa 열거는 sox -d 로 충분). Electron 재기동 후 로그: "Found 2 audio device(s) on darwin" 확인. V2-5 플랫폼 감사 누락 항목 해소.
This commit is contained in:
parent
412a2e71f9
commit
dd591d06e7
2 changed files with 118 additions and 28 deletions
|
|
@ -3,6 +3,20 @@
|
|||
> 마지막 갱신: 2026-04-11 (빅뱅 Phase 5 Part 6 — Voice Conversation 몰입 패널 구현)
|
||||
> 규칙 13: 작업 완료 즉시 이 파일 갱신 의무
|
||||
|
||||
## 빅뱅 Phase 5 Part 6+ (2026-04-11) — U7 AudioCaptureService Mac 분기 ✅
|
||||
|
||||
`AudioCaptureService.getDevices()`가 `powershell -NoProfile`만 호출하던 것을
|
||||
`process.platform` 분기로 교체. Mac에서 `system_profiler SPAudioDataType -json`으로
|
||||
CoreAudio input 디바이스 열거(`coreaudio_device_input > 0` 필터). macOS SoX는
|
||||
실제 캡처 경로에서 `-d`(default) 고정이므로 `deviceId='default'`, `label`만 사용자
|
||||
구분용으로 노출. 기존 "Failed to enumerate audio devices via PowerShell" 경고
|
||||
+ 1 device fallback 해소.
|
||||
|
||||
**변경 파일 (1)**: `apps/desktop/src/main/services/AudioCaptureService.ts` —
|
||||
`_getDevicesWindows` / `_getDevicesMac` helper 추출 + 분기 디스패처.
|
||||
|
||||
**검증**: Electron 재기동 후 로그 `Found 2 audio device(s) on darwin` 확인 (경고 없음).
|
||||
|
||||
## 빅뱅 Phase 5 Part 6 (2026-04-11) — Voice Conversation UX 몰입 패널 ✅
|
||||
|
||||
Part 5-C 설계를 구현으로 완결. 사용자가 listening 상태에서 풀 몰입 계측기 모드 + 사운드 피드백 + 상태별 UI 분기를 실제로 경험할 수 있는 상태.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue