2011-01-31 3 views
0

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

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

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

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

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

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

EDIT :: Кажется, что ошибка появляется только при «изменении мелодии звонка». Поэтому, если бы я снова установил тот же звук, что и рингтон, он бы не появился, но если бы я должен был установить другой звук, это было бы. Для меня это все еще означает, что он видит все, что я делаю, но я не правильно отношусь к звуку, поэтому он не знает, что туда положить.

EDIT :: Это основные моменты ошибок, которые я получаю, когда пытаюсь использовать ту же настройку, что и в других примерах настроек мелодий.

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

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 

ответ

0

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

android.media.RingtoneManager 

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

How to set ringtone in Android from my activity?

setting audio file as Ringtone

+0

Я редактировал свой главный пост с пулевыми точек моего журнала ошибок, когда я пытаюсь использовать код из эти примеры. По общему признанию, я просто отбросил код и изменил то, что мне нужно, но раньше я занимал довольно много времени, пытаясь заставить его работать с этим кодом, и это дало мне похожие результаты, если не то же самое. Спасибо вам за ссылки в любом случае, я продолжу изучать их, чтобы узнать, не могу ли я добиться чего-то. – Raphy

+0

Из вашего журнала я вижу, что вы используете URI, куда должен идти путь к файлу. Если вам не удастся его решить, я могу помочь вам умереть. С уважением. – Zelimir

+0

Я экспериментировал некоторое время, пытаясь разобраться в том, что вы сказали, но он все равно не установил бы мелодию звонка правильно. Я уверен, что это что-то очень простое, мои основные проблемы почти всегда есть. Спасибо, что нашли время, чтобы помочь. – Raphy

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