화면 전환 시 각 화면의 음성안내를 해 줄 mp3를 재생해야 하는 작업을 했었다.
안드로이드에서 제공하는 MediaPlayer를 이용해서 쉽게 mp3파일을 재생할 수 있다.
1. mediaPlayer 변수 셋팅 및 초기화
private var mediaPlayer : MediaPlayer? = null
mediaPlayer = MediaPlayer.create(context, R.raw.a001)
mediaPlayer?.start()
mediaPlayer 변수 생성하고 MediaPlayer.create(context, 파일명) 을 작성하고 start() 해주면 해당 화면에서 파일이 재생된다.
2. 파일 재생 완료 후 작업 실행
파일 재생 완료 후 시점에 액션을 넣어주려면 setOnCompletionListener를 사용하면 간단하다.
나같은 경우는 파일 재생 완료 후 3초 뒤에 다른 프레그먼트로 화면 전환을 시켜주었다.
mediaPlayer?.setOnCompletionListener {
viewLifecycleOwner.lifecycleScope.launch {
delay(3000)
findNavController().navigate(XXDirections.actionXXFragmentToXXFragment())
}
}
3. MediaPlayer 해제
MediaPlayer 경우에는 시스템 리소스를 많이 잡아먹기 때문에 사용 완료 후 반드시 해지를 해주어야한다.
override fun onDestroyView() {
super.onDestroyView()
_binding = null
mediaPlayer?.release()
mediaPlayer = null
}
'안드로이드스튜디오' 카테고리의 다른 글
android custom switch / androidx.appcompat.widget.SwitchCompat 디자인 적용 안되는 이슈 (1) | 2024.09.20 |
---|---|
[안드로이드/kotlin] RecyclerView 적용하기 (0) | 2024.08.27 |
[안드로이드/kotlin] 스와이핑해서 화면 전환하는 viewpager2 적용하기 (0) | 2024.08.27 |
[안드로이드/Kotlin] Custom progress bar 적용하기 (0) | 2024.08.27 |
[안드로이드] SDK location not found. Define location with an ANDROID_SDK_ROOT environment variable~ 오류 해결 방법 (0) | 2023.03.09 |