Установка рингтонов внутри приложения для Android - PullRequest
0 голосов
/ 01 февраля 2011

Мне бы хотелось иметь возможность устанавливать системные мелодии звонка из моего приложения для Android.Я сталкиваюсь с немного интересной проблемой, потому что я никогда в своем коде ни разу не ссылался на звуки напрямую, а вместо этого использую настройку, которая ссылается на них через целочисленные значения, поэтому код, который я нашел в Интернете для этого, не совсем подходит для меня.

Я не уверен, что мой код для установки мелодии звонка правильный или нет.Он заменяет мою мелодию звонка, но никогда не заменяет ее звуком, к которому я ее прошу.Когда я использовал «Uri.parse» и указывал путь для поиска правильного файла, он не заменял мелодию звонка ничем.Теперь, используя «Uri.fromFile» и обращаясь к звуку через файл, он заменяет его типичным звуком телефона, который, как я полагаю, является своего рода значением по умолчанию.

Я не получаю никаких ошибок отэто, но я получаю одно предупреждение, которое кажется уместным.

dataChanged but no participant pkg='com.android.providers.settings' uid=10096

Мне кажется, что я просто не обращаюсь к файлу должным образом.Я могу найти путь к звуку в строке и, конечно, определить их как файл, но я должен что-то упустить.

Любые идеи приветствуются, спасибо.

РЕДАКТИРОВАТЬ:: Ну, похоже, ошибка появляется только тогда, когда вы «меняете мелодию звонка».Так что, если бы я снова установил тот же звук, что и для мелодии звонка, он бы не появился, но если бы я установил другой звук, он бы появился.Для меня это все еще означает, что он видит все, что я делаю, но я не обращаюсь к звуку должным образом, поэтому он не знает, что там делать.

РЕДАКТИРОВАТЬ :: Это основные моментыошибки, которые я получаю, когда пытаюсь использовать ту же настройку, которая опубликована в других примерах мелодий настроек.

Это когда я впервые пытаюсь установить его в качестве мелодии звонка:

02-01 11:51:20.709: ERROR/MediaPlayerService(1157): Couldn't open fd for content://settings/system/ringtone

02-01 11:51:20.709: ERROR/MediaPlayer(13807): Unable to to create media player

02-01 11:51:20.709: ERROR/RingtoneManager(13807): Failed to open ringtone content://settings/system/ringtone

02-01 11:51:20.709: ERROR/MediaPlayer(13807): Unable to to create media player

02-01 11:51:20.716: WARN/Ringtone(13807): Couldn't set the stream type

02-01 11:51:20.716: WARN/Ringtone(13807): java.io.IOException: setDataSourceFD failed.: status=0x80000000

И это если я захожу в настройки громкости и меняю громкость звонка:

02-01 11:51:23.568: ERROR/MediaPlayer(13807): Unable to to create media player

02-01 11:51:23.568: ERROR/Ringtone(13807): play() caught 

02-01 11:51:23.568: ERROR/Ringtone(13807): java.io.IOException: setDataSourceFD failed.: status=0x80000000

1 Ответ

0 голосов
/ 01 февраля 2011

Из твоего вопроса я не уверен, что ты используешь для смены рингтонов.Вы можете использовать

android.media.RingtoneManager

Несколько полезных ссылок:

Как установить мелодию звонка в Android из моей активности?

настройка аудио файлакак рингтон

...