在Android中设置自定义闹钟铃声会改为播放默认音调

时间:2011-11-21 11:58:21

标签: android alarm ringtone

我正在编写一个音板应用,并希望将自定义ogg文件设置为铃声,通知音和闹钟铃声。我正在使用RingtoneManager来执行此操作:

// register with MediaStore content provider
ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.DATA, newSoundFile.getAbsolutePath());
values.put(MediaStore.MediaColumns.TITLE, soundName);
values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/ogg");
values.put(MediaStore.MediaColumns.SIZE, newSoundFile.length());
values.put(MediaStore.Audio.Media.IS_RINGTONE, true);
values.put(MediaStore.Audio.Media.IS_NOTIFICATION, true);
values.put(MediaStore.Audio.Media.IS_ALARM, true);
values.put(MediaStore.Audio.Media.IS_MUSIC, false);

// delete row if it exists
Uri uri = MediaStore.Audio.Media.getContentUriForPath(newSoundFile.getAbsolutePath());
getContentResolver().delete(uri, MediaStore.MediaColumns.DATA + "=\"" + newSoundFile.getAbsolutePath() + "\"", null);

Uri newUri = getContentResolver().insert(uri, values);
RingtoneManager.setActualDefaultRingtoneUri(this, RingtoneManager.TYPE_ALARM, newUri);

适用于铃声和通知(通过替换TYPE_ALARM),但不适用于闹钟。相反,它只播放默认的Android通知声音。

是否有人遇到同样的问题或可能有解决方案?

0 个答案:

没有答案