소리는 어디로 갔을까 — 3아동 수업 시작 소리 안 들림 로그 근거 판별

마지막 업데이트 2026-07-29

소리는 어디로 갔을까 — 3아동 수업 시작 소리 안 들림 로그 근거 판별: 증상: 결론 요약, 원인: 판별 근거 — 관찰 타임라인 (원본 그대로), 수정·검증: 운영 판별 체크리스트 흐름
동작 흐름 요약
  1. 증상: 결론 요약
  2. 원인: 판별 근거 — 관찰 타임라인 (원본 그대로)
  3. 수정·검증: 운영 판별 체크리스트
📅 분석일 2026-07-27 (파일럿 각색 2026-07-29) 📱 iPhone Chrome · Android Chrome · Windows Chrome 🔊 범위: 핑퐁이 및 영상 오디오
🧪 포맷 파일럿 문서 (채택 완료) — 웹툰 중심 모드 (타팀 공유·비개발자 독자를 겨냥해 웹툰 스트립을 본문 설명의 주 수단으로 승격. 웹툰 모드는 전체 일괄이 아니라 타팀 공유·교훈 큰 사건 문서에 선별 적용한다). 내용은 원본 분석 문서와 동일하며, 판별 근거 타임라인과 운영 체크리스트는 하단에 그대로 유지한다. 세 사례가 서로 다른 원인이라는 것이 이 사건의 핵심 교훈이라, 사례당 2컷씩 에피소드로 나눴다.

결론 요약

세 사례 모두 음원 다운로드·생성·디코딩 실패로 볼 근거는 없다. 앱 내부에서는 재생 시간과 오디오 신호가 진행됐지만, 실제 청취 단계에서 서로 다른 문제가 발생했다. 김태희는 iOS 출력 loopback 라우팅 실패, 윤단우는 탭 백그라운드 전환에 따른 영상 정지, 이진서는 Windows 기본 출력의 Bluetooth 전환이 핵심 원인이다.
아동·환경핵심 원인대표 근거확신도
김태희
iPhone Chrome
iOS 출력 sink/WebRTC loopback 불안정setSinkId 사용자 제스처 오류, source RMS 존재·remote RMS 0, loopback 연결 실패 반복높음
윤단우
Android Chrome
탭 백그라운드 전환 후 미디어 정지isVisible:false 직후 영상이 7.999초에 고정되고 pause/recovery 반복매우 높음
이진서
Windows Chrome
기본 출력이 Bluetooth SRS-X11로 전환입장 시 Realtek, 이후 기본값이 SRS-X11 Stereo (Bluetooth); 앱 재생·디코딩 정상높음
비개발자용 3줄 요약 — "수도관" 비유로 읽기

세 집 모두 물(소리)은 정상적으로 만들어져 수도관까지 흘렀다. 문제는 마지막 수도꼭지 앞에서 각각 다르게 터졌다.

김태희네는 수도꼭지로 가는 마지막 배관(iOS 출력 경로)이 연결되다 말았고, 윤단우네는 다른 방으로 나간 사이 브라우저가 절수 모드로 밸브를 잠갔고, 이진서네는 물이 딴 데 있는 수도꼭지(Bluetooth 스피커)로 흘러나가고 있었다.

즉 "서버가 소리를 못 만들었다"는 공통 장애가 아니라, 세 기기의 마지막 출력 단계에서 각기 다른 이유로 소리가 유실된 것이다. 대응도 사례별로 다르다.

사건의 재구성 — 3에피소드 6컷

🧒 김태희 (iPhone)
👦 윤단우 (Android)
🧒 이진서 (Windows)
🤖 핑퐁이(AI)
💂 iOS 경비원 (사용자 제스처 제한)
🌙 크롬 절전 관리인 (백그라운드 정책)
🔊 Bluetooth 스피커 SRS-X11
EP.1 — 김태희: 끊어진 마지막 다리 (iPhone Chrome)
1
🤖핑퐁이sourceRms 0.0288
🌉loopback 다리
📱스피커 앞remoteRms 0
핑퐁이소리는 분명히 보냈어! 다리 건너편까지 갔니?
앱 안에는 소리 신호가 살아 있는데(sourceRms>0), 출력으로 가는 loopback 건너편은 무음(remoteRms=0).
2
💂iOS 경비원
🧒김태희
iOS 경비원출력 통로 변경은 사용자 제스처 없인 불가! (setSinkId 거부)
김태희소리가 안 들려요…
sink 적용 거부 + loopback 연결 실패 반복(silent-remote-stream). 소리는 마지막 출력 경로에서 유실됐다. 서버·콘텐츠 문제 아님.
EP.2 — 윤단우: 잠든 탭 (Android Chrome)
3
👦윤단우
▶️영상8초까지 정상
영상재생 잘 되고 있어요~ (currentTime 증가, 오디오 디코딩 정상)
수업 시작 약 8초까지 영상·오디오 모두 정상.
4
— 탭이 뒤로 숨음 (isVisible=false) —
🌙크롬 절전 관리인
⏸️영상7.999s 고정
절전 관리인백그라운드 탭은 정지! 다시 켜도 또 정지!
앱이 즉시 재생을 복구해도 브라우저 정책이 계속 다시 멈춘다. 소리만 고장이 아니라 영상·오디오가 함께 멈춘 사례.
EP.3 — 이진서: 다른 방에서 울리는 소리 (Windows Chrome)
5
🧒이진서
🖥️내장 스피커 Realtek입장 시 기본 출력
이진서처음엔 잘 들렸는데…
입장 단계 기본 출력은 내장 Realtek. 영상·TTS 디코딩과 재생 시간 진행 모두 정상.
6
— 기본 출력이 슬쩍 바뀜 —
🔊Bluetooth SRS-X11새 기본 출력
🧒이진서
SRS-X11(다른 곳에서) 소리는 내가 받고 있지롱~
이진서안 들려요!
앱은 default 장치를 따르므로 소리는 정상 생성돼 Bluetooth 쪽으로 출력 중. 사용자가 기대한 내장 스피커가 아닐 뿐.
한 줄 교훈 — "소리가 안 들려요"라는 같은 신고 뒤에 세 가지 전혀 다른 범인이 있었다. 공통 장애를 가정하지 말고, 아래 체크리스트로 사례별 판별부터 한다.

판별 근거 — 관찰 타임라인 (원본 그대로)

공통으로 배제되는 원인

주의: AUDIO_PROBE suspectedSilent:false는 AudioContext 시간이 진행된다는 뜻이지, 사용자가 실제로 선택된 물리 스피커에서 소리를 들었다는 보장은 아니다.

1. 김태희 — iPhone Chrome

09:31:15.491 video setSinkId failed — A user gesture is required
09:31:19.153 Audio warmed up via user gesture
09:31:20.073 첫 영상 play, muted=false, readyState=4
09:31:22.074 영상 currentTime 증가, audioTrackCount=1
09:31:23.009 sourceRms=0.0288, remoteRms=0
09:31:23.010 loopback lost — silent-remote-stream
09:31:34.498 이후 receiver-connection-failed 반복
09:31:36.548 첫 "소리가 안 들려요" 신고
로그의 probe는 매번 실행 상태로 복구됐으므로 iPhone 물리 볼륨이나 무음 모드 자체는 확정할 수 없다. 다만 source 신호 존재와 remote 신호 0은 애플리케이션 loopback 실패를 직접 지시한다.

2. 윤단우 — Android Chrome

09:00:19.759 오프닝 영상 play, visibility=visible, muted=false
09:00:21.760 currentTime=1.936, audioDecodedByteDelta=33031
09:00:27.816 탭 상태 isVisible=false
09:00:27.820 영상 pause, currentTime=7.994, visibility=hidden
09:00:29 이후 play 복구 직후 다시 pause, 7.999초에 고정
09:02:48.345 "소리가 안 들려요" 신고
탭이 숨겨진 이유가 사용자 앱 전환, 화면 잠금, 시스템 UI 진입 중 무엇인지는 로그만으로 구분할 수 없다. 그러나 visibilityState:hidden과 정지 시점의 인과는 명확하다.

3. 이진서 — Windows Chrome

입장 단계 기본 출력: 스피커(Realtek High Definition Audio)
07:00:13.290 첫 영상 play, muted=false, visibility=visible
07:00:15.291 audioDecodedByteDelta=32777, currentTime 정상 증가
07:00:42 이후 TTS playback 및 audio output health 정상 반복
07:03:42.116 기본 출력 목록 최상단이 SRS-X11 Stereo (Bluetooth)
이후 Bluetooth Hands-Free·Stereo와 Realtek이 동시에 존재
로그에는 Bluetooth 스피커의 실제 전원·착용·청취 상태가 없다. 따라서 "Bluetooth 출력 전환"은 확정되지만 사용자가 못 들은 마지막 물리적 이유는 정황 판정이다.

운영 판별 체크리스트

  1. 영상 시간이 멈췄는지 확인: currentTime 고정과 visibilityState:hidden이면 백그라운드 정지를 우선 판정한다. (→ EP.2 유형)
  2. 출력 장치 라벨 확인: Windows에서 기본값이 Bluetooth·HDMI 장치로 바뀌었는지 확인한다. (→ EP.3 유형)
  3. 소스와 loopback 신호 비교: sourceRms > 0인데 remoteRms = 0이면 loopback 전달 실패다. (→ EP.1 유형)
  4. sink 적용 오류 확인: iOS의 A user gesture is required와 연결 실패가 같이 나오면 출력 라우팅 문제로 분류한다. (→ EP.1 유형)
  5. probe를 과신하지 않기: probe 정상은 브라우저 내부 클럭 정상이지 물리 스피커 청취 보장이 아니다.

분석 자료: 김태희 iPhone Chrome, 윤단우 Android Chrome, 이진서 Windows Chrome 클라이언트 로그 export. 개인정보 보호를 위해 로컬 경로와 세션·사용자 식별자는 기재하지 않았다.

관련 문서