我正在尝试将声音设置为铃声。我看了几个使用以下代码的例子:
String path = Environment.getExternalStorageDirectory()。getAbsolutePath()+“/ a.mp3”;
File k = new File(path, "a.mp3");
ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.DATA, k.getAbsolutePath());
values.put(MediaStore.MediaColumns.TITLE, "A");
values.put(MediaStore.MediaColumns.SIZE, 210341);
values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mpeg");
values.put(MediaStore.Audio.Media.ARTIST, "");
values.put(MediaStore.Audio.Media.DURATION, 230);
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);
// Insert it into the database
Uri uri = MediaStore.Audio.Media.getContentUriForPath(k.getAbsolutePath());
Uri newUri = this.getContentResolver().insert(uri, values);
RingtoneManager.setActualDefaultRingtoneUri(FirstActivity.this, RingtoneManager.TYPE_RINGTONE, newUri);
我正在努力解决几件事:
对于这一行:values.put(MediaStore.MediaColumns.SIZE, 210341);
如何在不直接给出大小的情况下找到大小?
与持续时间相同的问题:values.put(MediaStore.Audio.Media.DURATION, 230);
(我想动态设置大小和持续时间)
如果你不填写这些值,这是一个问题吗?