■ 이슈
1. 게임에서 세팅한 AudioMixer의 Sound 옵션 값들이 리셋 된다.
2. 배경 음악이 정지된다.
■ 원인
Unity 자체에서 사운드 출력기기 전환 시 Audio Engine을 re-init하고 있다. 이로 인하여 Audio Settings가 바뀌게 되므로 모든 Audio State의 추적이 끊기게 되어 Audio Mixer 등 오디오 관련 데이터들이 간접적으로 영향을 받을 수 있다.
구체적인 상황을 예로 들자면 안드로이드의 기본 스피커를 사용하고 있다가, 블루투스를 연동할 경우 재현이 가능하다.

■ 해결
1. Audio Settings의 Sampling Rate 복구 없이 Mixer의 볼륨 값만 다시 로드하니 해결되었음.
2. 추후 이슈 재현 시 모든 세팅 값[AudioSettings 클래스] 값을 불러올 예정
■ 코드 예시
1. Initialize 부분
AudioSettings.OnAudioConfigurationChanged += OnAudioConfigurationChanged;
2. 콜백 함수
void OnAudioConfigurationChanged(bool deviceWasChanged)
{
// 1. Audio Mixer 혹은 Audio Settings와 관련된 옵션 값 복구 코드
// 2. 만약 BGM 같은 중요한 음원이 출력되고 있었으면 다시 재생
}
'개발 (Game) > Unity (General)' 카테고리의 다른 글
[Unity] TMP폰트 관련 메모리 최적화 (0) | 2025.02.01 |
---|---|
[Unity] 메모리 최적화를 위한 에셋 관리 (2) | 2024.09.29 |
[Unity] UGUI 성능 최적화 (0) | 2024.09.17 |
[Android] R8, Proguard 난독화 (0) | 2023.03.25 |
[Shader] 쉐이더를 처음으로 직접 작성해보다. (0) | 2021.09.01 |