réglage du fichier audio en tant que sonnerie
J'ai enregistrer le fichier dans sdcard/media/audio/ringtone
s dossier. Ce fichier apparaîtra dans la liste de sonnerie sélection de settings/sound/phone
Sonnerie.
Mais je veux mettre ce fichier en tant que sonnerie de mon code.
Voici mon code.
File k = new File(path, filename);
ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.DATA, k.getAbsolutePath());
values.put(MediaStore.MediaColumns.TITLE, "TwiAppclip");
values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/*");
values.put(MediaStore.Audio.Media.ARTIST, "cssounds ");
values.put(MediaStore.Audio.Media.IS_RINGTONE, true);
values.put(MediaStore.Audio.Media.IS_NOTIFICATION, false);
values.put(MediaStore.Audio.Media.IS_ALARM, false);
values.put(MediaStore.Audio.Media.IS_MUSIC, false);
Uri uri = MediaStore.Audio.Media.getContentUriForPath(k
.getAbsolutePath());
Uri newUri = getApplicationContext().getContentResolver().insert(uri, values);
RingtoneManager.setActualDefaultRingtoneUri(getApplicationContext(),
RingtoneManager.TYPE_RINGTONE, newUri);
ici uri
je reçois, Mais je me suis newUri = null
. Je pense que c'est pourquoi il n'est pas de mise comme sonnerie.
Ce que quelqu'un sait où est le problème? comment puis-je obtenir newUri
bon?
source d'informationauteur djk
Vous devez vous connecter pour publier un commentaire.
Audio est défini comme sonnerie une seule fois, mais la solution à ce problème Si vous essayez d'exécuter de nouveau le même code, vous serez l'insertion d'une double entrée en MediaStore table du, mais la base de données SQLite ne vous permettra pas. Vous devez renommer votre fichier et ajouter une autre instance, ou aller dans les, suppression de l'entrée, puis essayez de nouveau. J'ai donc supprimé cette entrée à chaque fois et puis l'insérer de nouveau.
Au lieu de supprimer précédemment inséré uri, vous pouvez le réutiliser:
Je pense que cela va résoudre ur problème.