MTK铃声有几个地方要修改:

1,闹钟和来电铃声Midi铃声对应于 custpack_audio.c 下的变量 custpack_audio

这个数组是复交类型的变量,类型我们可以分析下:如下定义的

typedef struct {

#ifdef MIDI_IN_CUSTPACK_BIN

kal_uint32 midis_count;

const audio_resource_struct

mtk_resource_midis[MAX_MIDI_ID - MIN_MIDI_ID + 1];

#endif

} custpack_audio_header;

这个中间还有很多的开关,不得不说MTK用心良苦啊!

修改的时候要注意以下几个地方:

(1),个数,也就是custpack_audio

第一个成员,这个数字要和后面的铃声的资源个数统一,并且要修改所容纳的总数,由定义可以看出:MAX_MIDI_ID,

MIN_MIDI_ID 这两个决定了总共有多少个铃声,修改MAX_MIDI_ID就可以了!

(2),类型 每种铃声对应自己的类型,后面要附上相应的类型说明

(3)melody铃声类型修改:

resource_audio.c

下的这个数组mtk_resource_imelodys,这个就是Ring类型的铃声,也就是和旋铃声

也是要注意个数:MAX_RING_TONE_ID和 MIN_RING_TONE_ID 来控制总的个数,主要是修改大的数字

MAX_RING_TONE_ID

*另注,想我们大多数的项目不需要midi铃声,故可以在 调用这个函数的地方,屏蔽这个铃声

GetMidiRange(&midiToneStartId,

&midiToneTotalId);

midiToneTotalId = 0;

通过来获取总数的地方,直接给赋值总数为0,主要就得不到了

2,开关机 和翻盖铃声 对应于resource_audio.c 下的数组

mtk_resource_sounds,修改相应的资源,还有对应的个数,MAX_SND_ID修改就可以了

3,短信铃声 对应于resource_audio.c 下的数组 mtk_resource_message_sounds

修改相应的资源,也是第一个的个数,修改MAX_MSG_SND_ID就可以了

如果要是要求开机和铃音用一套资源的,他们的个数必须保持一致,要不就自己用自己的资源

其实主要是这个函数来播放音乐,找到相应的数组中的资源

aud_melody.c

aud_melody_play_by_id

这个函数来实现的

要是修改铃声为mp3格式的话,就用数组mtk_resource_imelodys来操作,并把相应的不要的那个数组的总数赋值为0,MAX_RING_TONE_ID,修改它

在这个函数设置,mmi_profiles_get_dynamic_tone_ids,

并在用到GetMidiRange函数的地方,把它的总数赋值为0

GetMidiRange((PU8) & gstartMidiId, (PU8)

& gtotalMidiId);

gtotalMidiId = 0;

要是铃声为midi格式的话,就修改数组custpack_audio,并修改不要的那个数组的总数,赋值为0,

修改 MAX_MIDI_ID

在这个函数设置,mmi_profiles_get_dynamic_tone_ids,

并在用到GetRingToneRange函数的地方,把它的总数赋值为0

GetRingToneRange((PU8) & gstartRingId, (PU8)

& gtotalRingId);

gtotalRingId = 0;

还要修改NVram中的默认值

nvram_common_config.c

下的这个变量

NVRAM_PROFILES_DEFAULT

如果铃声是mp3的话

在nvram中修改相应的值,从小的开始

#define MIN_RING_TONE_ID 101

#define MAX_RING_TONE_ID 105 //110

如果是midi的话,修改,从小的开始

#define MIN_MIDI_ID 151

#define MAX_MIDI_ID 160

还要涉及字符串的修改

mtk android 设置默认铃声,[转载]MTK修改铃声资源相关推荐

  1. android 设置默认铃声,Android系统修改默认铃声

    Andriod手机的铃声默认保存在system/media/audio/下面,有四个文件夹,分别是alarms,notifications,ringtones,ui.对应闹钟.通知.铃声.UI音效.r ...

  2. android 设置默认语言

    1.本身不像维护多个版本在已经有了多语言,但是总难免有恶心的定制版,就是想要什么语言环境下都用他们设定的语言, 在继承Application中create时候 public static void d ...

  3. android+launcher+字体大小,Android设置默认Launcher

    当系统存在多个launcher时,若没有设置默认launcher,开机启动后会弹出提示框,罗列所有launcher,用户选择并设置了默认launcher后,按home键以及以后重启都会进入默认的lau ...

  4. android 设置默认桌面

    最近搞一个将自己应用的Launcher引导用户设置为默认Launcher,本以为是一个小功能应该很快就可以搞定了,但是我真是低估了国内手机厂商定制Android修改的东西了. 难以解决的问题有以下三点 ...

  5. android源生setting华为,Android 设置默认桌面,默认应用,辅助功能,电池优化,设备管理器,悬浮窗等...

    Android 部分系统设置桌面,默认应用,辅助功能,电池优化,设备管理器,悬浮窗,有权限查看使用情况,开机自启动,锁屏不清理等 部分功能适配了华为手机与小米手机. 设置默认桌面: //华为手机上 I ...

  6. Android设置默认输入法

    先安装想要设置默认的输入法 获取系统已安装的输入法ID /*** 获取系统已安装的输入法ID** @param context* @return*/public static String[] get ...

  7. android设置默认程序和清除默认设置

    以设置和清除默认浏览器为例. 1.检查是否已经设置了默认 [java]  view plain copy private void testGetDefaultActivity() { Package ...

  8. android设置默认程序清除默认设置

    以设置和清除默认浏览器为例. 1.检查是否已经设置了默认 private void testGetDefaultActivity() {PackageManager pm = getPackageMa ...

  9. android 设置默认输入法

    设置默认输入法 在 frameworks/base/core/res/res/values/config.xml 添加一个属性: <!--leo add--> <string nam ...

最新文章

  1. 点击后,过段时间cell自动取消选中
  2. 算法系列15天速成——第十天 栈
  3. day3.python 学习之列表
  4. mysql 关闭锁_mysql数据库取消锁
  5. sigar如何获取linux的buffer内存,Linux 下使用Sigar 获取内存信息
  6. c语言宏高级用法,C语言宏高级用法 [总结]
  7. vue命令行错误处理
  8. hibernate中PO对象的三种状态分析以及session中的一些方法的区别
  9. 十分钟搞定CSS选择器
  10. python jieba分词_从零开始学自然语言处理(八)—— jieba 黑科技
  11. 计算机机房需求调查表,机房建设需求调查表.doc
  12. cookie模拟登陆淘宝
  13. 机器人 陆梅东_第十八届全国中小学组电脑制作活动上海赛区.DOC
  14. android studio 使用lint工具优化app时全过程记录
  15. mac更新系统版本后的安装包路径
  16. ssm整合开发配置文件
  17. 神经元树突、早期、突触及神经元标志物
  18. android朋友圈发文字换行,微信朋友圈全文展开 朋友圈文字怎么换行朋友圈发多行文字...
  19. 【Java百炼成神】双生武魂——HashMap、LinkedHashMap、Hashtable
  20. android 经纬度转物理地址,微信获取用户的经纬度与物理地址转换

热门文章

  1. Redis基准测试火焰图 | 附 svg矢量图
  2. 排序算法:归并排序(C、Java)
  3. python字符串的美化_shell 下使用python 美化输出json
  4. pc控制iphone的软件_哪个备忘录便签app可以和PC电脑一块儿用
  5. jquery复选框组清空选中的值_jQuery选取所有复选框被选中的值并用Ajax异步提交数据...
  6. mysql+delete删除空行,删除空行 linux
  7. Unity动画系统详解10:子状态机是什么?
  8. OpenShift 4 - 了解Secret
  9. OpenShift 4 之Service Mesh教程(5)- 断路器Circuit Breaker
  10. Ubuntu 20.10 代号 Groovy Gorilla,第二个以猿类命名版本,将于 10 月 22 日发布