【发布时间】:2011-04-24 12:24:25
【问题描述】:
我正在从我的应用程序中保存一个声音以用作铃声或通知声音。这是我的部分代码,取自this页面:
ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.DATA, k.getAbsolutePath());
values.put(MediaStore.MediaColumns.TITLE, soundName);
values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/ogg");
values.put(MediaStore.Audio.Media.ARTIST, "artist");
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);
Uri uri = MediaStore.Audio.Media.getContentUriForPath(k.getAbsolutePath());
this.getContentResolver().insert(uri, values);
我的理解是声音将被保存以及铃声,通知声音和警报,因为标志都设置为“true”。至少在模拟器上这确实有效,但在实际设备上,声音只显示在铃声列表中,我不知道为什么。
编辑:我试图进一步调查:删除带有“IS_RINGTONE”的行不会改变任何东西(如果一次只能使用一个标志),声音不会出现在列表中通知声音。
感谢任何帮助。
亲切的问候,Select0r
【问题讨论】:
-
有谁知道这在 FLASH CS5.5 上是否可行????我在那里开发了一个音板,我真的需要紧急添加铃声。
标签: android audio notifications ringtone