본문 바로가기
개발(Development)/Android(안드로이드)

[안드로이드 Java/Kotlin] 시스템 효과음 재생 방법: Ringtone

by 카레유 2021. 7. 15.

# 안드로이드 제공 기본 시스템 효과음 재생방법 

 

1. 효과음 식별자(URI) 취득

종류별 효과음을 식별할 URI 객체를 취득한다.

 

- Java:  RingtoneManager.getDefaultUri(RingtoneManager.효과음상수값

- Kotlin:  RingtoneManager.getDefaultUri(RingtoneManager.효과음상수값); 

 

* 상수값 종류

- RingtoneManager.TYPE_NOTIFICATION : 알림

- RingtoneManager.TYPE_ALARM: 알람

- RingtoneManager.TYPE_RINGTONE: 전화수신음

 

근데 TYPE_ALARM, TYPE_RINGTONE은 보통 엄청 길기 때문에 쓸 일이 별로 없다.

 

 

 

2. Ringstone 객체 생성

uri에 해당하는 효과음을 재생할 Ringstone 객체를 취득한다.

 

- Java: RingtoneManager.getRingtone(getApplicationContext(), uri);

- Kotlin: RingtoneManager.getRingtone(applicationContext, uri);

 

 

 

3. 효과음 재생

Ringstone객체로 효과음을 재생한다.

 

- Java:  Ringtone객체.play();

- Kotlin:  Ringtone객체.play();

 

 

 

4. 효과음 멈춤

Ringstone객체로 효과음을 멈춘다

 

- Java:  Ringtone객체.stop();

- Kotlin:  Ringtone객체.stop();

 

 

5. 볼륨 설정

0.0(무음) ~ 1.0(최대) 값으로 소리 크기를 조정할 수 있다.

 

- Java:  Ringtone객체.setVolume (float volume);

- Kotlin:  Ringtone객체.setVolume(volume: Float);

 

* Ringstone객체.getVolume() 메서드로 현재의 볼륨값을 체크할 수 있다.

* Ringstone객체.isPlaying() 메서드로 재생상태를 체크할 수 있다.


- 예제 코드 (Java)

// 1. 효과음 URI 취득
Uri uriNotification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

// 2. Ringstone 객체 생성
Ringtone ringtone = RingtoneManager.getRingtone(getApplicationContext(), uriNotification);

// 3. 효과음 재생
ringtone.play();

 

 

- 예제 코드 (Kotlin)

// 1. 효과음 URI 취득
val uriNotification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

// 2. Ringstone 객체 생성
val ringtone = RingtoneManager.getRingtone(applicationContext, uriNotification);

// 3. 효과음 재생
ringtone.play();

댓글