Мне нужно установить собственный сигнал будильника в моем приложении. Может ли кто-нибудь просто сказать мне, как установить пользовательскую мелодию звонка или MP3 в качестве будильника? Любая помощь будет оценена по достоинству.
Как установить собственный сигнал будильника в Android
comment
stackoverflow.com/questions/6464080/ Вот еще одно решение для вас. Лучший, Шахзад
- person Shahzad Majeed   schedule 17.06.2012
comment
stackoverflow.com/questions/8314727 / Вот еще один ответ. Шахзад Маджид.
- person Shahzad Majeed   schedule 17.06.2012
comment
спасибо Шахзад :) ваши ссылки полезны :)
- person Munazza   schedule 22.06.2012
Ответы (4)
Вот также решение этой проблемы
установка аудиофайла в качестве рингтона
Лучший, Шахзад Маджид
person
Shahzad Majeed
schedule
17.06.2012
Вы можете использовать аудиоплеер для воспроизведения mp3. Но вот лучшее приложение для будильника, которое соответствует вашим требованиям.
person
Shahzad Majeed
schedule
17.06.2012
в документации по Android см. страницу Уведомления в строке состояния. В частности, см. раздел Добавление звука.
person
FoamyGuy
schedule
16.06.2012
Попробуй это
добавить любой файл .mp3 в необработанную папку имя места этого файла
public void setAlarm() {
File file = new File(Environment.getExternalStorageDirectory(),
"/Your Directory Name");
if (!file.exists()) {
file.mkdirs();
}
String path = Environment.getExternalStorageDirectory()
.getAbsolutePath() + "/Your Directory Name";
File f = new File(path + "/", filename + ".mp3");
Uri mUri = Uri.parse("android.resource://" + getContext().getPackageName() + "/raw/" + filename);
ContentResolver mCr = getContext().getContentResolver();
AssetFileDescriptor soundFile;
try {
soundFile = mCr.openAssetFileDescriptor(mUri, "r");
} catch (FileNotFoundException e) {
soundFile = null;
}
try {
byte[] readData = new byte[1024];
FileInputStream fis = soundFile.createInputStream();
FileOutputStream fos = new FileOutputStream(f);
int i = fis.read(readData);
while (i != -1) {
fos.write(readData, 0, i);
i = fis.read(readData);
}
fos.close();
} catch (IOException io) {
}
ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.DATA, f.getAbsolutePath());
values.put(MediaStore.MediaColumns.TITLE, filename);
values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp3");
values.put(MediaStore.MediaColumns.SIZE, f.length());
values.put(MediaStore.Audio.Media.ARTIST, R.string.app_name);
values.put(MediaStore.Audio.Media.IS_ALARM, true);
Uri uri = MediaStore.Audio.Media.getContentUriForPath(f.getAbsolutePath());
getContext().getContentResolver().delete(uri, MediaStore.MediaColumns.DATA + "=\"" + f.getAbsolutePath() + "\"", null);
Uri newUri = mCr.insert(uri, values);
try {
RingtoneManager.setActualDefaultRingtoneUri(getContext(),
RingtoneManager.TYPE_ALARM, newUri);
Settings.System.putString(mCr, Settings.System.ALARM_ALERT,
newUri.toString());
Toast.makeText(getContext(), "Done", Toast.LENGTH_SHORT).show();
} catch (Throwable t) {
}
}
person
Rahul
schedule
02.02.2018