Android来电铃声默认设置的实现方法与如何设置语音来电的默认铃声

news/2024/11/17 5:33:19/
Android来电铃声默认设置的实现方法与如何设置语音来电的默认铃声

一、Android来电铃声默认设置的实现方法
Andoird默认来电铃声的设置方法为修改build/target/product/core.mk的ro.config.ringtone的值如
ro.config.ringtone=Backroad.ogg,该音乐文件必须于framework/base/data/sounds/Android.mk中加入音乐文件。

framework/base/media/java/android/media/MediaScanner.java中类的初始化时会设置默认铃声的文件名的变量mDefaultRingtoneFilename = SystemProperties.get(DEFAULT_RINGTONE_PROPERTY_PREFIX + Setting.System.RINGTONE);

MediaScanner该类会搜索音乐文件必插入数据库中,搜索过程中检查是否与设置的默认铃声相同,如果相同则设为默认铃声。
} else if (ringtones && mWasEmptyPriorToScan && !mDefaultRingtoneSet) {
                if (TextUtils.isEmpty(mDefaultRingtoneFilename) ||
                        doesPathHaveFilename(entry.mPath, mDefaultRingtoneFilename)) {
                    setSettingIfNotSet(Settings.System.RINGTONE, tableUri, rowId);
                    setProfileSettings(AudioProfileManager.TYPE_RINGTONE, tableUri, rowId);
                    mDefaultRingtoneSet = true;
                }
            }

二、如何设置语音来电的默认铃声
首先在core.mk中新增ro.config.videocall=BentleyDubs.ogg。
在framework/base/media/java/android/media/MediaScanner.java类中新加两个成员变量
private boolean mDefaultVideoCallSet;
private String mDefaultVideoCallFilename;
在setDefaultRingtoneFileNames()方法中加入以下代码初始化默认铃声的文件名
        mDefaultVideoCallFilename = SystemProperties.get(DEFAULT_RINGTONE_PROPERTY_PREFIX
                + Settings.System.VIDEO_CALL);
在endFile()方法中加入以下代码设置语音来电的默认铃声

            } else if (ringtones && mWasEmptyPriorToScan && !mDefaultVideoCallSet) {
                if (TextUtils.isEmpty(mDefaultVideoCallFilename) ||
                        doesPathHaveFilename(entry.mPath, mDefaultVideoCallFilename)) {
                    setSettingIfNotSet(Settings.System.VIDEO_CALL, tableUri, rowId);
                    setProfileSettings(AudioProfileManager.TYPE_VIDEO_CALL, tableUri, rowId);
                    mDefaultVideoCallSet = true;
                }
            } 


http://www.ppmy.cn/news/720563.html

相关文章

android-铃声的设置与播放

在android系统中,不同铃声存放的铃声路径: /system/media/audio/ringtones 来电铃声/system/media/audio/notifications 短信通知铃声/system/media/audio/alarms 闹钟铃声 铃声的设置: import java.io.File;import …

android触摸提示音设置,vivo X6怎么关闭触摸提示音 vivo X6触摸提示音设置图文教程...

vivo X6触摸提示音怎么关闭呢?很多朋友们都不喜欢触摸提示音的存在,当然也有不少强迫症者不开触摸提示音就不适应,而像小编这种强迫症者来说不太喜欢开启。小编认为触摸提示音开启又费电,又“吵”,实在想不到它存在理由…

微信铃声怎么设置?微信铃声设置仅需3步

微信铃声怎么设置?自打微信腾空出世之后,已经成为我们日常生活中不可或缺的一份子,微信身为社交圈的“骨干精英”,自然会跟随潮流而优化的越来越好!而微信铃声就是一个例子! 以前我们接电话打电话都是用手机…

微信设置专属铃声,你有什么好歌推荐

微信已然成为公认的国民级社交软件了,现在大部分人发展一段社交关系的第一句话就是“咱们加个微信吧?”随着微信的普及,我们日常的通讯方式也从打电话变成了微信语音通话,既不用使用话费,也不用担心信号问题。 你是不是…

手机技巧:微信语音铃声怎么设置?

微信语音铃声怎么设置?微信随着版本的升级更新,优化的越来越好,功能也越来越多,现在就连语音通话时的铃声也有了,设置之后就不再是单调的默认响铃提醒。但还有好多小伙伴不知道怎么设置,下面来看看这铃声是…

常规Resnet模型权重转Detectron2格式模型

最佳想把在torchversion库加载的预训练权重基础上训练过的模型权重加载到Detectron2框架的任务中进行实验。 发现两者必须经过一个转换,实验过后有效的转换方式如下所示, #!/usr/bin/env python import pickle as pkl import sysimport torchif __name…

【C++学习笔记】C++中的异常概念异常的使用注意事项异常的优缺点

异常 1 C语言传统的处理异常的方式2 C异常的概念3 异常的使用以及注意事项3.1 异常的简单使用3.2 使用异常的注意事项3.3 异常的重新抛出3.4 异常规范3.5 异常安全 4 C标准库的异常体系5 异常的优缺点6 总结 1 C语言传统的处理异常的方式 C语言传统的错误处理机制:…

ipa上架App Store【uniapp-ios】

前置条件:已获取到.mobileprovision描述文件、.p12证书并打包生成ipa包 (如果还没获取证书、描述文件等可以去看我前两篇博客:uniapp-ios打包步骤 、uniapp-ios打包安装测试。一篇是已经付费了即已经注册了Apple Developer Program&#xf…