[인앱광고 2.0] 보상형 광고 시청 후 Howler.js 오디오 재생 안 됨 (AudioContext 가 running 이지만 소리가 안나오는 상태)

이 글의 성격은 무엇인가요?

질문 / 문제 해결

내용을 설명해주세요

보상형 광고 시청 후 BGM과 효과음이 재생되지 않습니다.

디버깅 결과:

  • AudioContext.state: running (정상으로 보임)
  • masterGain: 1 (정상)
  • AudioContext.currentTime: 멈춰있음 (증가하지 않음)

즉, AudioContext가 좀비 같은 상태가 됩니다. state는 running인데 실제로 동작하지 않아서 ctx.resume()을 호출해도 효과가 없습니다.

시도한 해결책

  1. 광고 종료 후 await Howler.ctx.resume() + 100ms 지연 → 효과 없음
  2. iOS interrupted 상태 처리 → 효과 없음 (state가 이미 running)
  3. AudioContext 강제 재생성 시도 중 → 불안정

질문

  1. Howler.js (또는 사운드 관련 JS 라이브러리) + 인앱광고 2.0 조합의 공식 예제나 가이드가 있나요?
  2. 광고 후 AudioContext 복구를 위한 권장 패턴이 있나요?
  3. 다른 분들은 어떻게 해결하셨는지 궁금합니다.

감사합니다

아 어쩌다 스스로 해결했습니다.

// 광고 끝난 직후 status = running 이라도 

await Howler.ctx.suspend();
await Howler.ctx.resume();

강제로 한번 suspend 시켜두고 resume 시키면 정상작동하는군요.. 이유는 잘 모르겠습니다.

@Dante 님 안녕하세요

헛 저희도 해당 이슈 지속적으로 확인 중에 있었는데 정말 감사합니다.

suspend하고 resume 시키면 오디오 나오는 것도 이상하네요.

추가로 확인해보겠습니다

2개의 좋아요