Android определяет, какая мелодия действительно воспроизводится (проблема Ringtone.isPlaying)

На Android яУ меня возникла проблема, пытаясь выяснить, какая мелодия на самом деле играет (яя не пытаюсь определить мелодию звонка по умолчанию, но она воспроизводится, поскольку она может отличаться из-за того, что пользователь установил мелодию звонка для определенного контакта) .I '

используя функцию Ringtone.isPlaying (), пока я (успешно) перебираю все доступные мелодии из RingtoneManager. Однако ни один из них никогда не возвращает true для Ringtone.isPlaying ()! Кто-нибудь знает, что я делаю не так? Вот пример кода, который определенно запускается во время игры на ринге:

RingtoneManager rm = new RingtoneManager(this); // 'this' is my activity (actually a Service in my case)
if (rm != null)
{
    Cursor cursor = rm.getCursor();
    cursor.moveToFirst();
     for (int i = 0; ; i++)
     {
            Ringtone ringtone = rm.getRingtone(i);  // get the ring tone at this position in the Cursor
            if (ringtone == null)
            break;
        else if (ringtone.isPlaying() == true)
                return (ringtone.getTitle(this));   // *should* return title of the playing ringtone
    }
    return "FAILED AGAIN!"; // always ends up here
}

Ответы на вопрос(1)

Решение Вопроса

источникRingtone Вы можете видеть, чтоisPlaying() Метод заботится только об этом конкретном случае.Ringtone

Когда вы звонитеgetRingtone() отRingtoneManager() это создает новыйRingtone объект (). Так что это не будет так жеRingtone объект используется для воспроизведения звука, когда кто-то звонит (еслиRingtone объекты используются для этого) такisPlaying() всегда вернетсяfalse в твоем случае.

isPlaying() вернется только когда-либоtrue если ты позвонилplay() на этом конкретномRingtone объект.

Поскольку каждое приложение создает свое собственноеMediaPlayer предметы я неНе думаю, что вы можете отслеживать, какие звуки воспроизводят другие приложения.

 Clive20 янв. 2010 г., 05:55
Спасибо, Дейв, теперь это имеет смысл. Черт, этоЭто позор. Я'Я пытаюсь выяснить, какая мелодия на самом деле играет, когда звонит телефон. Думаю яПосмотрится и посмотрю, смогу ли я получить дескриптор объекта MediaPlayer или определить, какая мелодия звонка воспроизводится, путем запроса базы данных контактов по входящему номеру или что-то в этом роде. Ура, Клайв
 taymless25 мар. 2013 г., 13:06
Вы случайно не нашли способ определить, какая мелодия звучит в данный момент?

Ваш ответ на вопрос