Android 自定义ToneGenerator
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
更多相关文章
- android的响铃MediaPlayer
- TextView——行间距与字母间隔
- Android 源码修改按键长按响应间隔
- Android:解决RadioGroup中RadioButton的图片自定义及每项间隔距离
- Android实现根据条件自动转换手机震动和响铃
- 如何实现图片的动态切换(间隔几秒就切换下一张)
- 返回指定时间段相同间隔数组