InputStream is = this.getResources().openRawResource(R.raw.archerready1);
File ringtoneMediaFile = new File("/sdcard/.w3media/");
if(!ringtoneMediaFile.exists()){
try {
if(!ringtoneMediaFile.createNewFile())
//prompt root
return;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
String fileName = "aa";//get from tag
try {
OutputStreamWriter os = new OutputStreamWriter(new FileOutputStream(new File(ringtoneMediaFile,fileName)));
byte[] b = new byte[32];
try {
int bytesRead = is.read(b);
while(bytesRead != -1){
byte[] tmp = new byte[bytesRead];
System.arraycopy(b, 0, tmp, 0, bytesRead);
os.write(new String(tmp));
}
os.write(new String(b).trim());
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e1) {
e1.printStackTrace();
}
File ringTone = new File(ringtoneMediaFile, fileName);
ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.DATA, ringTone.getAbsolutePath());
values.put(MediaStore.MediaColumns.TITLE, "My Song title");
values.put(MediaStore.MediaColumns.SIZE, 215454);
values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp3");
values.put(MediaStore.Audio.Media.ARTIST, "Madonna");
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 databaseUri
Uri uri = MediaStore.Audio.Media.getContentUriForPath(ringTone.getAbsolutePath());
Uri newUri = this.getContentResolver().insert(uri, values);
RingtoneManager.setActualDefaultRingtoneUri( this, RingtoneManager.TYPE_RINGTONE, newUri);
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/200848.html原文链接:https://javaforall.cn