반응형
1. Ringtone 객체 생성
class RingtoneActivity : AppCompatActivity() {
private var ringtone : Ringtone? = null
...
}
Ringtone에 사용될 객체를 선언합니다.
2. Ringtone 실행
/**
* @description 벨소리 시작
* @param context 컨텍스트
* @param packageName 패키지 명 (ex. com.test.app)
* @param path 벨소리 경로 (test.mp3)
*/
fun startRingtone(context:Context, packageName:String, path:String){
// 사전에 선언된 벨소리가 있는 경우 중지
if(ringtone != null) ringtone!!.stop()
val uriString = "android.resource://${packageName}/raw/${path}"
val uriRingtone = Uri.parse(uriString)
ringtone = RingtoneManager.getRingtone(context, uriRingtone)
ringtone!!.play()
}
아래와 같이 resource폴더의 raw폴더에 포함된 ringtone을 호출하게 되는데
현재 앱의 패키지가 com.test.app이고, 재생하려는 ringtone이 fantasy_alarm_clock.mp3인 경우 아래와 같이 호출하면 rintone이 재생됩니다.
startRingtone(this, "com.test.app", "fantasy_alarm_clock.mp3")
3. Ringtone 중지
/**
* @description 벨소리 중지
*/
fun stopRingtone(){
if(ringtone != null){
ringtone!!.stop()
ringtone = null
}
}
사전에 선언된 Ringtone이 있는 경우에만 재생을 중지하고 객체를 비워줍니다.
반응형
'개발 창고 > Android' 카테고리의 다른 글
[Kotlin] How to sort arrays in order (0) | 2023.12.06 |
---|---|
[Kotlin] How to use a function in an array (0) | 2023.12.06 |
[Kotlin] How to use "For Loop" (0) | 2023.12.05 |
[Kotlin] How to move a map in "Naver Map" (0) | 2023.12.04 |
[Android] How to Get Colors from My Resource in Java (0) | 2023.11.29 |