2017-05-20 15 views
2

Android 용 알람 시계의 맞춤 유형을 구축하려고하는데 사용자가 사용할 알람 소리를 선택할 수 있도록 설정 페이지를 설정했습니다. 그들이 그것을 선택하면 SharedPreferences에 쉽게 배치됩니다.알람 볼륨 설정을 사용하는 Android 알람 시계 사운드?

내가 겪고있는 문제는 RingtoneManager.TYPE_ALARM을 사용하면서 선택한 경보를 재생하는 방법입니다. 볼륨은 시스템 알림 볼륨 대신 시스템 경보 음을 기반으로합니다.

나는 알람 볼륨을 사용하기 위해 여러 가지 방법을 시도했지만 아무 것도 트릭을 수행하지 않는 것 같습니다.

Uri currentRingtoneUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM); 
currentRingtone = RingtoneManager.getRingtone(context, currentRingtoneUri); 
currentRingtone.play(); 

2

SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this); 
String syncConnPref = sharedPref.getString("alarm_new_alarm_sound", null); 

if (syncConnPref != null) { 
    RingtoneManager.getRingtone(this, Uri.parse(syncConnPref)).play(); 
} 

내가 실제 알람 볼륨 사운드를 재생의 다른 직접적인 방법을 찾을 수 없습니다

1. 온라인으로 보는 모든 것만 벨소리를 재생합니다.

알람 볼륨 사용에 대한 통찰력이 있다면 정말 감사하겠습니다.

답변

1

다소 오래된 스레드이지만, 미래의 누군가에게 도움이 될 수 있습니다.
나는 현재 알람 시계에 자신을 일하고 나는이 일을 해요 :

int audioFile = prefs.getInt("audioFile", R.raw.yourFile); 
MediaPlayer mp = new MediaPlayer(); 

try { 
    mp.reset(); 

    mp.setDataSource(PlayerActivity.this,  
    Uri.parse("android.resource://your.package.here/" + audioFile)); 

    mp.setAudioStreamType(STREAM_ALARM); 
    mp.setLooping(true); 
    mp.prepare(); 
    mp.start(); 
} 

catch (...) { 
    ... 
} 

그것은 나를 위해 잘 작동합니다.