2012-01-05 21 views
0

"ポジティブ"アラーム音はどうすれば再生できますか?私は、デフォルトの1を再生する方法を知っている..."ポジティブ"アラーム音の再生方法は?

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

はEDIT: は以下しようとしましたが、カーソルがちょうど同じ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); 

他の場所で、あなたは、ユーザーの選択を保存するために着信音の設定を使用することができますし、一度「ポジティブ」にデフォルトを手配することができるはずですウリがどのように見えるかを調べる。

+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()); 
}