联发科 mt67355 [Audio Driver]如何动态修改音频通路的寄存器的值

后使用快捷导航没有帐号?
查看: 48|回复: 0
mt6735 [Audio FTM]如何调节loopback的相关gain值来增大或减小声音
[DESCRIPTION]
介绍如何调节loopback的相关gain值来增大或减小声音
[SOLUTION]
1.How to adjust gain in AFE Loopback?
AudioLoopbackController::OpenAudioLoopbackControlFlow()中
setMasterVolume(kMaxMasterVolume, AUDIO_MODE_NORMAL, output_device);
其中,kMaxMasterVolume的范围:0.0~1.0
当然也可以直接设置DL相关寄存器,即:
setAnalogGain(AudioAnalogType::VOLUME_HSOUTL/R,...);//设置听筒
setAnalogGain(AudioAnalogType::VOLUME_HPOUTL/R,...);//设置耳机
setAnalogGain(AudioAnalogType::VOLUME_SPKL/R,...);//设置扬声器
setAnalogGain(AudioAnalogType::VOLUME_AMPL, kPreAmpGainMapValue[PREAMP_GAIN_*_DB]);
setAnalogGain(AudioAnalogType::VOLume_MICAMPR, kPreAmpGainMapValue[PREAMP_GAIN_*_DB]);
其中,PREAMP_GAIN_*_DB的范围REAMP_GAIN_2_DB~PREAMP_GAIN_32_DB
2.How to adjust gain in Acoustic Loopback?
SpeechLoopbackController::OpenLoopbackControlFlow()中
setVoiceVolume(KMaxVoiceVolume, mAudioResourceManager-&GetAudioMode(), output_device);
其中,KMaxVoiceVolume的范围:0.0~1.0
Please do not adjust it
论坛资料为网友自由上传,与本论坛无关。
Powered by
获取手机验证码mt6735&[Audio&App]FileManager中点击音乐文件设置为来电铃声
[DESCRIPTION]
希望在FileManager中点击歌曲,添加选项能够设置歌曲为来电铃声这个feature。
[SOLUTION]
以下是JB.SP版别参看比方,在6589JB.sp版别上验证成功。其它版别请类似参看。
Step1:androidManifest.xml
Addusepermission
Step2:resource
res\menu\popup_menu.xml
android:title="@string/set_ringtone"/&
res\values\strings.xml
Use As Ringtone
UseAsRingtone
多国言语需求添加在对应的values_xxxx\strings.xml中
Step3:import
FileManagerOperationActivity.java
importandroid.provider.MediaS
importandroid.database.C
importandroid.content.ContentR
importandroid.content.ContentV
importandroid.provider.S
importandroid.widget.T
importandroid.content.ContentU
importandroid.media.MediaF
Step4:显现、躲藏setRingtone菜单
updateEditPopupMenu()方法改为如下
privatevoidupdateEditPopupMenu(){
finalMenumenu=mEditPopupMenu.getMenu();
intselectedCount=mAdapter.getCheckedItemsCount();
//remove(disable)protectioninfoicon
menu.removeItem(R.id.protection_info);
if(selectedCount==0){
menu.findItem(R.id.rename).setEnabled(false);
menu.findItem(R.id.details).setEnabled(false);
menu.findItem(R.id.set_ringtone).setEnabled(false);
}elseif(selectedCount==1){
//enabledetailsicon
menu.findItem(R.id.details).setEnabled(true);
//enablerenameicon
if(mAdapter.getCheckedFileInfoItemsList().get(0).getFile().canWrite()){
menu.findItem(R.id.rename).setEnabled(true);
//onlyaudiofilecanenablesetringtone
FileInfofileInfo1=mAdapter.getCheckedFileInfoItemsList().get(0);
if(!fileInfo1.isDrmFile()
&&!fileInfo1.isDirectory()
&&IsMusic(fileInfo1)){
LogUtils.d(TAG,"needsetringtone");
menu.findItem(R.id.set_ringtone).setEnabled(true);
menu.findItem(R.id.set_ringtone).setEnabled(false);
//enableprotectioninfoicon
FileInfofileInfo=mAdapter.getCheckedFileInfoItemsList().get(0);
if(fileInfo.isDrmFile()){
Stringpath=fileInfo.getFileAbsolutePath();
if(DrmManager.getInstance().checkDrmObjectType(path)){
StringmimeType=DrmManager.getInstance().getOriginalMimeType(path);
if(mimeType!=null&&mimeType.trim().length()!=0){
menu.add(0,R.id.protection_info,0,
com.mediatek.internal.R.string.drm_protectioninfo_title);
//disabledetailsicon
menu.findItem(R.id.details).setEnabled(false);
//disablerenameicon
menu.findItem(R.id.rename).setEnabled(false);
menu.findItem(R.id.set_ringtone).setEnabled(false);
本文只有部分,阅读完整资料,请到一牛()··········································································································
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。mt6735&[Audio&Policy]如何做到在静音模式下音乐也被静音?
当情景模式切换到静音模式时,需要把音乐以及游戏音也同时做静音处理。
[SOLUTION]
1.请修改AudioService.函数中的如下这段code:将:
if(mVoiceCapable){
mRingerModeAffectedStreams
&=~(1&&AudioSystem.STREAM_MUSIC);
mRingerModeAffectedStreams
|=(1&&AudioSystem.STREAM_MUSIC);
mRingerModeAffectedStreams
|=(1&&AudioSystem.STREAM_MUSIC);
2.在AudioService.java的函数 public void
adjustStreamVolume(int streamType, int direction, int
flags)中有如下这么一段code:
// If either the client forces
allowing ringer modes for this adjustment,
// or the stream type is one that
is affected by ringer modes
if (((flags &
AudioManager.FLAG_ALLOW_RINGER_MODES) != 0) ||
(streamTypeAlias ==
getMasterStreamType())) {
int ringerMode =
getRingerMode();
// do not vibrate if already in
vibrate mode
请在这个if判断中按照如下方法增加一个判断条件改为:
// If either the client forces
allowing ringer modes for this adjustment,
// or the stream type is one that
is affected by ringer modes
if (((flags &
AudioManager.FLAG_ALLOW_RINGER_MODES) != 0) ||
(streamTypeAlias ==
getMasterStreamType())||
(streamType ==
AudioSystem.STREAM_MUSIC)) {
int ringerMode =
getRingerMode();
// do not vibrate if already in
vibrate mode
这样修改后的效果是:
1.当系统切到静音或者震动模式时,MUSIC的会被mute,如果此时调整music的音量:
1:若当前处在静音模式,第一次调节music音量会切换到震动模式,music仍被mute;
2:若当前处在震动模式,第一次调大Music两会切换到normal
模式,music被unmute,可以调节音量;
3:若情景模式切换到outdoor模式,则音乐音量会被设定为最大音量;
2.当系统为normal
模式时,播放音乐的过程中,调低music的音量,当music的音量调到0level时,会首先将系统切换到震动模式,继续调低音量会切换到静音模式。
文章转自一牛网论坛,原文链接:
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 mt6735m 的文章

 

随机推荐