new MediaActionSound().play(MediaActionSound.SHUTTER_CLICK);
여러번 사용하다보면 나오는 에러
MediaActionSound() 를 사용한 사운드 효과를 여러번 반복하다보면 사운드가 나오지 않고 Error 가 나온다.
E/AudioTrack: AudioFlinger could not create track, status: -12
E/SoundPool: Error creating AudioTrack
처음에는 MediaActionSound ms =new MediaActionSound(); 를 oncreate() 때 선언하고 ms.play(MediaActionSound.SHUTTER_CLICK)); 이렇게 사운드를 작동시켰다. 소리가 제대로 나지 않았다.
두번째는 사운드가 필요한 부분에 매번 new MediaActionSound().play(MediaActionSound.SHUTTER_CLICK); 를 생성해서 소리를 냈다. 대략 10회 이상 넘어가면 소리가 나지 않았다.
검색을 해보니깐 메모리 이슈인것 같았다.
참고 :
- https://stackoverflow.com/a/43073175/3897810
그래서 MediaActionSound 를 클래스 변수로 만들고 액티비티가 생설될때 new 로 인스턴스를 생성하고 사운드가 필요한 부분에 ms.play() 를 하고 ms.release() 를 해주었다.
반응형
'Dev > Android' 카테고리의 다른 글
TextView 터치시 색깔 변경 - state_pressed (0) | 2018.05.02 |
---|---|
스크린샷 관련 참고사항 (0) | 2018.04.06 |
커스텀뷰 CustomView 기초 (0) | 2018.03.21 |
AndroidStudio - fabric 로그 아웃 방법 (0) | 2018.03.21 |
카메라 셔터 소리 켜기 - Camera Sound Turn On (0) | 2018.03.14 |