mtk android 设置默认铃声,[转载]MTK修改铃声资源
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修改铃声资源相关推荐
- android 设置默认铃声,Android系统修改默认铃声
Andriod手机的铃声默认保存在system/media/audio/下面,有四个文件夹,分别是alarms,notifications,ringtones,ui.对应闹钟.通知.铃声.UI音效.r ...
- android 设置默认语言
1.本身不像维护多个版本在已经有了多语言,但是总难免有恶心的定制版,就是想要什么语言环境下都用他们设定的语言, 在继承Application中create时候 public static void d ...
- android+launcher+字体大小,Android设置默认Launcher
当系统存在多个launcher时,若没有设置默认launcher,开机启动后会弹出提示框,罗列所有launcher,用户选择并设置了默认launcher后,按home键以及以后重启都会进入默认的lau ...
- android 设置默认桌面
最近搞一个将自己应用的Launcher引导用户设置为默认Launcher,本以为是一个小功能应该很快就可以搞定了,但是我真是低估了国内手机厂商定制Android修改的东西了. 难以解决的问题有以下三点 ...
- android源生setting华为,Android 设置默认桌面,默认应用,辅助功能,电池优化,设备管理器,悬浮窗等...
Android 部分系统设置桌面,默认应用,辅助功能,电池优化,设备管理器,悬浮窗,有权限查看使用情况,开机自启动,锁屏不清理等 部分功能适配了华为手机与小米手机. 设置默认桌面: //华为手机上 I ...
- Android设置默认输入法
先安装想要设置默认的输入法 获取系统已安装的输入法ID /*** 获取系统已安装的输入法ID** @param context* @return*/public static String[] get ...
- android设置默认程序和清除默认设置
以设置和清除默认浏览器为例. 1.检查是否已经设置了默认 [java] view plain copy private void testGetDefaultActivity() { Package ...
- android设置默认程序清除默认设置
以设置和清除默认浏览器为例. 1.检查是否已经设置了默认 private void testGetDefaultActivity() {PackageManager pm = getPackageMa ...
- android 设置默认输入法
设置默认输入法 在 frameworks/base/core/res/res/values/config.xml 添加一个属性: <!--leo add--> <string nam ...
最新文章
- 点击后,过段时间cell自动取消选中
- 算法系列15天速成——第十天 栈
- day3.python 学习之列表
- mysql 关闭锁_mysql数据库取消锁
- sigar如何获取linux的buffer内存,Linux 下使用Sigar 获取内存信息
- c语言宏高级用法,C语言宏高级用法 [总结]
- vue命令行错误处理
- hibernate中PO对象的三种状态分析以及session中的一些方法的区别
- 十分钟搞定CSS选择器
- python jieba分词_从零开始学自然语言处理(八)—— jieba 黑科技
- 计算机机房需求调查表,机房建设需求调查表.doc
- cookie模拟登陆淘宝
- 机器人 陆梅东_第十八届全国中小学组电脑制作活动上海赛区.DOC
- android studio 使用lint工具优化app时全过程记录
- mac更新系统版本后的安装包路径
- ssm整合开发配置文件
- 神经元树突、早期、突触及神经元标志物
- android朋友圈发文字换行,微信朋友圈全文展开 朋友圈文字怎么换行朋友圈发多行文字...
- 【Java百炼成神】双生武魂——HashMap、LinkedHashMap、Hashtable
- android 经纬度转物理地址,微信获取用户的经纬度与物理地址转换
热门文章
- Redis基准测试火焰图 | 附 svg矢量图
- 排序算法:归并排序(C、Java)
- python字符串的美化_shell 下使用python 美化输出json
- pc控制iphone的软件_哪个备忘录便签app可以和PC电脑一块儿用
- jquery复选框组清空选中的值_jQuery选取所有复选框被选中的值并用Ajax异步提交数据...
- mysql+delete删除空行,删除空行 linux
- Unity动画系统详解10:子状态机是什么?
- OpenShift 4 - 了解Secret
- OpenShift 4 之Service Mesh教程(5)- 断路器Circuit Breaker
- Ubuntu 20.10 代号 Groovy Gorilla,第二个以猿类命名版本,将于 10 月 22 日发布