1、修改 frameworks/base/media/java/android/media/ToneGenerator.java

  在类中加入自己需要创建的ToneGenerator的名字

  eg: public static final int TONE_MAYDAY = 99; //注意这个属性值要大于98,系统中默认已经有98个


2、修改 frameworks/av/include/media/ToneGenerator.h

  enum tone_type {

      .....

.....

TONE_MAYDAY, //add

NUM_TONES,
NUM_SUP_TONES = LAST_SUP_TONE-FIRST_SUP_TONE+1

  };


3、修改 frameworks/av/media/libmedia/ToneGenerator.cpp

  在const ToneGenerator::ToneDescriptor ToneGenerator::sToneDescriptors[]中找到对应的位置添加

  //duration为时间间隔,waveFreq为频率,最多支持三个,如下的表示。

  { segments: { { duration: 2000, waveFreq: { 960, 540, 0 }, 0, 0 },  //2s内按照960Hz+540Hz进行响铃
{ duration: 500, waveFreq: { 0 }, 0, 0 }, //暂停0.5s
{ duration: 1000, waveFreq: { 400, 960, 0 }, 0, 0 },     //1s内按照400Hz+960Hz进行响铃

{ duration: 500, waveFreq: { 0 }, 0, 0 }, //暂停0.5s
{ duration: 1000, waveFreq: { 500, 800, 0 }, 0, 0 }, //1s内按照500Hz+800Hz进行响铃
{ duration: 500, waveFreq: { 0 }, 0, 0 }, //暂停0.5s
{ duration: 0 , waveFreq: { 0 }, 0, 0}},
repeatCnt: 3, //重复次数
repeatSegment: 0 },


需要编译framework.jar、framework2.jar以及libmedia.so

更多相关文章

  1. android的响铃MediaPlayer
  2. TextView——行间距与字母间隔
  3. Android 源码修改按键长按响应间隔
  4. Android:解决RadioGroup中RadioButton的图片自定义及每项间隔距离
  5. Android实现根据条件自动转换手机震动和响铃
  6. 如何实现图片的动态切换(间隔几秒就切换下一张)
  7. 返回指定时间段相同间隔数组

随机推荐

  1. MySQL 实现树的遍历详解及简单实现示例
  2. mysql默认编码为UTF-8 通过修改my.ini实
  3. mysql查询结果输出到文件的方法
  4. 如何查看MySQL连接的root密码
  5. MySQL中联表更新与删除的语法介绍
  6. 解析windows下使用命令的方式安装mysql5.
  7. Mysql数据库性能优化之子查询
  8. MySql 5.5.29绿色安装教程详解
  9. mysql用一个表更新另一个表的方法
  10. mysql 行列动态转换的实现(列联表,交叉表