이 글의 성격은 무엇인가요?
질문 / 문제 해결
내용을 설명해주세요
앱인토스 미니앱 게임에서 BGM을 재생하고 있습니다.
게임 중 백그라운드로 나갔다 돌아오면 iOS 잠금화면/제어센터에
‘현재 재생 중인 미디어’ 컨트롤러가 표시되는 문제가 있습니다.
다른 앱인토스 게임에서는 동일 현상이 보이지 않아,
앱인토스 권장 사운드 처리 방식이나 미디어 세션 차단 방법을 문의드립니다.
개발환경
- 렌더링: Three.js 0.185.1
- 빌드: Vite 7.3.1
- TypeScript: 5.x
- 앱인토스 Web Framework: @apps-in-tossapps-in-toss/web-framework 3.0.3
- Web Analytics: @apps-in-toss/web-analytics 2.10.8
- 패키지 매니저: pnpm
- 실행 구조: Vite 기반 WebView 게임, Canvas/WebGL 렌더링
사운드 구현
- BGM: HTMLAudioElement
- menuMusic/gameMusic 각각 별도 Audio 객체 사용
- loop=true, preload=auto, playsinline 적용
- AudioContext는 효과음 처리에 사용
- BGM HTMLAudioElement를 createMediaElementSource()로 AudioContext destination에 연결
- 백그라운드 진입 시 audio.pause(), AudioContext.suspend()
- mediaSession.metadata=null, playbackState=‘none’ 처리
- visibilitychange, pagehide/pageshow 및 앱인토스 visibility 이벤트 감지
테스트 환경
- 기기: iPhone 14 pro
- Toss 앱 버전: 5.271.0
안나오게 하는 코드가 있는지 현재 테스트 환경이라 그런건지 궁금합니다.
