首先,介绍一下Android系统支持的铃声格式。

有下面几种:

64赫兹Midi,AAC、AAC+、AMR、WAV、MP3、Real Audio、WMA、OGG等格式。

将音频文件设置成铃声非常easy。仅仅需例如以下几步就可以:

1) 获取系统音频文件的Uri

Uri uri =MediaStore.Audio.Media.getContentUriForPath(file.getAbsolutePath());//获取系统音频文件的Uri

2) 将文件插入系统媒体库,并获取新的Uri

Uri newUri = this.getContentResolver().insert(uri,values);//将文件插入系统媒体库。并获取新的Uri

3) 设置铃声

RingtoneManager.setActualDefaultRingtoneUri(this, ringType, newUri);//设置铃声

以下是设置铃声的具体代码:

/**
* 设置铃声
* @param ringType int: 铃声类型
* @param file File: 要设为铃声的文件
* */
protected void setRingtone(int ringType, File file) {
// TODO Auto-generated method stub
boolean isRingtone=false,isNotification=false,isAlarm=false,isMusic=false;
String msg="";
switch (ringType) {
case ConstUtil.RING_ALARM://闹铃
isAlarm=true;
msg="设置闹钟铃声!";
break;
case ConstUtil.RING_NOTIFICATION://通知
isNotification=true;
msg="设置通知铃声成功!";
break;
case ConstUtil.RING_RINGTONE://来电
isRingtone=true;
msg="设置来电铃声成功! ";
case ConstUtil.RING_MUSIC://加入到铃声库(所有铃声)
isMusic=true;
msg="设置所有铃声成功!";
break;
default:
break;
}
ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.DATA, file.getAbsolutePath());
values.put(MediaStore.MediaColumns.TITLE, file.getName());
values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/*");
values.put(MediaStore.Audio.Media.IS_RINGTONE, isRingtone);
values.put(MediaStore.Audio.Media.IS_NOTIFICATION, isNotification);
values.put(MediaStore.Audio.Media.IS_ALARM, isAlarm);
values.put(MediaStore.Audio.Media.IS_MUSIC, isMusic);
Uri uri = MediaStore.Audio.Media.getContentUriForPath(file
.getAbsolutePath());//获取系统音频文件的Uri
Uri newUri = this.getContentResolver().insert(uri, values);//将文件插入系统媒体库,并获取新的Uri
RingtoneManager.setActualDefaultRingtoneUri(this,
ringType, newUri);//设置铃声
Toast.makeText(getApplicationContext(), msg,Toast.LENGTH_SHORT)
.show();
}

版权声明:本文博主原创文章,博客,未经同意不得转载。

Android定调的发展的更多相关文章

  1. Android系统性能调优工具介绍

    http://blog.csdn.net/innost/article/details/9008691 经作者授权,发表Tieto某青年牛的一篇<程序员>大作. Android系统性能调优 ...

  2. 【Java/Android性能优3】Android性能调优工具TraceView使用介绍

    本文转自:http://blog.csdn.net/innost/article/details/9008691 在软件开发过程中,想必很多读者都遇到过系统性能问题.而解决系统性能问题的几个主要步骤是 ...

  3. Android H5调起原生微信或支付宝支付

    Android H5调起原生微信或支付宝支付 WebView调用原生微信或支付宝回调:其原理就是在shouldOverrideUrlLoading(final WebView view, String ...

  4. Android开发环境的发展演变调研

    Android开发环境的发展演变调研 前几年比较多的方法是用JDK+eclipse+ADT,该方法除了要配置JDK的路径之外, 还要在eclipse里面打开SDK Manage进行相应的操作.不过近两 ...

  5. Android性能调优篇之探索垃圾回收机制

    开篇废话 如果我们想要进行内存优化的工作,还是需要了解一下,但这一块的知识属于纯理论的,有可能看起来会有点枯燥,我尽量把这一篇的内容按照一定的逻辑来走一遍.首先,我们为什么要学习垃圾回收的机制,我大概 ...

  6. 【Java/Android性能优2】Android性能调优工具TraceView介绍

    本文参考:http://www.trinea.cn/android/android-traceview/ Android自带的TraceView堪比java的性能调优工具visualvm线程视图,可以 ...

  7. 【Java/Android性能优化1】Android性能调优

    本文参考:http://www.trinea.cn/android/android-performance-demo/ 本文主要分享自己在appstore项目中的性能调优点,包括同步改异步.缓存.La ...

  8. Android性能调优

    本文主要分享自己在appstore项目中的性能调优点,包括同步改异步.缓存.Layout优化.数据库优化.算法优化.延迟执行等.一.性能瓶颈点整个页面主要由6个Page的ViewPager,每个Pag ...

  9. android性能调优之traceview的使用

    1.在开始使用TraceView你要注意: 你的设备和模拟器必须设置SD card 和 你的程序拥有对SD card 具有读写操作的权限( <uses-permission android:na ...

随机推荐

  1. iOS执行时与method swizzling

    C语言是静态语言,它的工作方式是通过函数调用,这样在编译时我们就已经确定程序怎样执行的.而Objective-C是动态语言,它并不是通过调用类的方法来执行功能,而是给对象发送消息,对象在接收到消息之后 ...

  2. ASP.NET 应用程序生命周期

    1.请求到达IIS服务器,IIS根据文件后缀找到对应的ISAPI(Internet Server API)扩展来处理,这个配置可在网站属性里的“根目录”选项卡中的“配置”里看到.可以看到,ashx.a ...

  3. 移植 libuv 至 Visual C++ 6.0 并支持 Windows XP 编译系统

    移植版本 libuv:https://github.com/liigo/libuv-vc6 (支持VC6和XP.作者Liigo). 我从一年前(大概2013年6,7月份)開始在业余时间做这项移植工作, ...

  4. log4j 日志大小限制 分成30一个 不按日期分日志 按大小分成 按生产日期

    首先说说生成按日期.不解释,大家都懂的,这种方法的缺点是很吃硬盘空间 log4j.rootLogger=INFO,logfile,stdout log4j.logger.java.sql=DEBUG, ...

  5. HTML&lt;!DOCTYPE&gt; 宣示

    在html页面,下面这行代码到底有什么用呢? <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" & ...

  6. IOS_多线程_ASI_AFN_UIWebView

    H:/0730/00_多线程4票种_ViewController.h // // ViewController.h // 卖票 // // Created by apple on 13-7-29. / ...

  7. Json的反序列化 .net Newtonsoft.Json

    项目中有个.json文件. { "instances": [ { "name": "baidu", "url": &qu ...

  8. IIS7构造Gzip压缩

    IIS7构造Gzip压缩 本文来自Kevin Yang博客 作者:Kevin Yang 开启配置HTTP压缩(GZip) 在IIS7中配置Gzip压缩相比IIS6来说实在easy了很多.并且默认情况下 ...

  9. Flex发行2048游戏

    近来的2048像挺火的游戏.在公交车,吃.甚至还有人走在路上拿着手机在玩.之前我看我的同事们戏,我认为这是很天真,中移动太无聊了吧 到后面,他是在,我觉得真的很无聊,这时候,无聊的时候无聊,后来我想用 ...

  10. 对ESB概念的理解(转)

    http://www.ibm.com/developerworks/cn/webservices/0811_magy_esb/ 什么是 ESB?ESB 严格来说不是某一个产品,而是一种框架,设计模式. ...