API
RingtoneManager
여러 유형(알람음(Alarm), 알림음(Nofitication), 수신음(Ringtone))의 벨소리에 액세스할 수 있게 하는 API이다.
벨소리 선택 창과 관련된 인텐트 액션 및 엑스트라, 벨소리에 대한 쿼리에 사용하는 메서드 등을 포함하고 있다.
인텐트 액션 상수를 사용하여 벨소리 선택 창을 열거나, URI를 통해 Ringtone
객체를 얻어 벨소리를 재생할 수 있다.
Ringtone
벨소리에 대한 정보를 제공하고 재생할 수 있게 하는 API이다.
URI를 사용하여 벨소리 재생하기
벨소리의 Uri
객체가 필요하다.
각 유형에 대해 기본 벨소리의 URI를 얻으려면 RingtoneManager
의 다음 정적 메서드를 사용한다.
getActualDefaultRingtoneUri(context: Context!, type: Int): Uri!
전달된 타입의 기본 벨소리의 URI를 반환한다. 타입에는RingtoneManager
의 상수인TYPE_ALARM
,TYPE_NOTIFICATION
,TYPE_RINGTONE
중 하나를 사용할 수 있다.
이 메서드 대신Settings.System.DEFAULT_XXX_URI
를 사용할 수 있다.getDefaultUri(type: Int): Uri!
위 메서드와 유사하지만 벨소리의 실제 URI를 반환하지 않는다.
벨소리에 대한 Uri
객체를 RingtoneManager.getRingtone(Context!, Uri!)
에 전달하면 Ringtone
객체가 반환된다.
이 Ringtone
객체의 play()
를 호출하면 로컬 MediaPlayer
의 start()
가 호출되어 벨소리가 재생된다.
val uri = RingtoneManager.getActualDefaultRingtoneUri(
applicationContext,
RingtoneManager.TYPE_RINGTONE
) // Settings.System.DEFAULT_RINGTONE_URI로 대신할 수 있음
val ringtone = RingtoneManager.getRingtone(applicationContext, uri)
ringtone.play()
'Android' 카테고리의 다른 글
알림 표시하기 (0) | 2022.07.26 |
---|---|
진동 울리기 (0) | 2022.07.21 |
Chronometer와 RecyclerView로 스톱워치 만들기 (0) | 2022.07.09 |
액티비티 (9) : 백그라운드에서 액티비티를 시작할 때 제한 사항 (0) | 2022.05.14 |
액티비티 (8) : 최근 사용한 앱 화면 (0) | 2022.05.13 |