2015-06-29 5 views
0

У меня есть несколько мелодий, распространяемый с APK файл и получить доступ к ним следующим образомRingtoneManager иногда возвращает неправильный рингтон

Ringtone r = RingtoneManager.getRingtone(mContext, uri); 

    if (r != null) { 
     r.setStreamType(AudioManager.STREAM_NOTIFICATION); 
     r.play(); 
    } 

В большинстве случаев это работает, как ожидалось, но в некоторых устройствах система играет неверную мелодию, которая не была должно быть, когда-либо играл. После короткого расследования я узнал, что документация для метода RingtoneManager.getRingtone говорит, что

If the given URI cannot be opened for any reason, this method will attempt to fallback on another sound. If it cannot find any, it will return null. 

Это означает, что я никогда не могу быть уверен, что вернулся рингтон я один я просил. Поэтому мой вопрос заключается в том, как я могу хотя бы проверить, что метод getRingtone вернул мне другой (по умолчанию) рингтон, чтобы я мог хотя бы не воспроизвести его?

Заранее спасибо.

ответ

0

Кажется, что вся работа RingtoneManager заключается в том, чтобы сделать это назад, поэтому, если это не то, что вы хотите, подумайте о том, чтобы воспроизвести свой звук, используя android.media.MediaPlayer.

+0

Спасибо за комментарий, я попробую это. –

Смежные вопросы