-
Android) MediaPlayer 재생 지연 오류Android 2021. 4. 13. 17:22
어제 MediaRecorder에 관한 내용을 포스팅했었습니다.
MediaRecorder를 이용해서 녹음을 완료했을 때, MediaPlayer를 이용해서 녹음 파일을 재생시키면 잠깐의 delay후에 재생이 되는 것을 확인할 수 있었습니다.
구글링을 열심히 해봤는데 제가 발견한 키워드는 SoundPool
그리고 MediaPlayer를 onCreate()가 아닌 onStart() 혹은 onResume()에서 재생해보는 것입니다.
특징을 조금 살펴보면 아래와 같다고 하네요.
- MediaPlayer는 상대적으로 음악과 같이 음원의 길이가 긴 것들을 한 번에 하나씩 재생하는데 용이한 구조
- SoundPool은 반대로 게임의 효과음처럼 짧으면서 여러 개를 동시에 재생할 필요가 있는 것들을 다룰 때 유용
저는 1분까지의 재생을 필요로 하는 기능을 구현해야 하기 때문에,
onStart() 또는 onResume()에서 MediaPlayer를 재생시켜 보는 방법을 택했습니다.
onStart와 차이점은 아래와 같습니다.
- onStart 일 때는, 화면은 노출되나 상호작용이 불가능.
- onResume 일 때만, 유저와 상호작용이 가능.
Preference
반응형'Android' 카테고리의 다른 글
Android) Navigation을 사용해 startActivityForResult 구현하기 (0) 2021.04.21 Android) Dagger Hilt - @ViewModelInject, @Assited, @ApplicationComponent is Deprecated(2.33-beta) (0) 2021.04.18 Android) 음성 녹음을 위한 MediaRecorder 알아보기 (0) 2021.04.12 Android) Retrofit2 작동 원리 알아보기 (0) 2021.04.09 Android) Device 실제 사이즈 구하기 (feat - display, getRealMetrics) (0) 2021.04.08