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 },