Как воспроизвести «положительный» звуковой сигнал? - PullRequest
0 голосов
/ 05 января 2012

Как воспроизвести «положительный» звуковой сигнал?Я знаю, как играть по умолчанию ...

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

Ответы [ 2 ]

1 голос
/ 05 января 2012

Функция 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 голосов
/ 26 апреля 2012

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());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...