2012-01-05 2 views
0

"긍정적 인"알람 소리는 어떻게 재생합니까? 나는 ... 기본을 재생하는 방법을 알고"긍정적 인"경보 음을 울리는 방법?

Ringtone ringtone = RingtoneManager.getRingtone(getApplicationContext(), RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM)); 
if (ringtone != null) { 
    ringtone.play(); 
} 

편집 : 는 아래 시도하지만 커서는 같은 URI를 반환 ???

RingtoneManager rm = new RingtoneManager(getApplicationContext()); 
    rm.setType(RingtoneManager.TYPE_ALARM); 
    Cursor c = rm.getCursor(); 
    c.moveToFirst(); 
    if (!c.isAfterLast()) { 
     do { 
      int uriIndex = c.getInt(RingtoneManager.URI_COLUMN_INDEX); 
      Uri ring = rm.getRingtoneUri(uriIndex); 
      Log.d("TC", ring.toString()); 
     } while (c.moveToNext()); 
    } 

답변

1

RingtoneManager.getCursor() 함수는 모든 벨소리를 반복하고 일치하는 이름의 벨소리 제목을 확인할 수있게된다 커서를 제공합니다. 반환 된 URI는 벨소리가 저장된 위치에 따라 다르지만 올바른 설정이 발견되면 환경 설정으로 URI를 저장할 수 있습니다. 당신이 한 번 "긍정적"으로 기본을 마련하기 위해 다른

Uri alert; 
String alarmname = mPrefs.getString(getString(R.string.pref_sound_key, null); 
if (alarmname != null && !alarmname.equals("")) 
    alert = Uri.parse(alarmname); 

당신이 사용자의 선택을 저장 벨소리 설정을 사용할 수 있으며 수 있어야한다 : 코드는 정말 멋진 아무것도하지 않는 (환경 설정을 사용하여) 한 uri가 어떻게 생겼는지 알아 낸다.

+0

편집을 참조하십시오. –

0

RingtoneManager.URI_COLUMN_INDEX는 TEXT 열입니다.

RingtoneManager rm = new RingtoneManager(getApplicationContext()); 
rm.setType(RingtoneManager.TYPE_ALARM); 
Cursor c = rm.getCursor(); 
c.moveToFirst(); 
if (!c.isAfterLast()) { 
    do { 
     int uriString = c.getString(RingtoneManager.URI_COLUMN_INDEX); 
     Log.d("TC", uriString); 
    } while (c.moveToNext()); 
} 
관련 문제