BOOL CAudioSettings::OnInitDialog() { CPropertyPage::OnInitDialog(); DWORD dwIds[] = {IDC_STATIC_AUDIO_DEVICE, IDC_STATIC_AUDIO_SAMPL_WIDTH, IDC_STATIC_AUDIO_SAMPLE_RATE, IDC_STATIC_AUDIO_SOURCE, -1}; MfcUtils::Localize(this, dwIds); for (int i = 0; i < m_arDevices.GetSize(); ++i) m_cmbAudioDevice.AddString(m_arDevices[i]); m_cmbAudioDevice.SetCurSel(m_nDevice); for (i = 0; i < m_arSampleWidths.GetSize(); ++i) { CString csSampleWidth; csSampleWidth.Format(_T("%d"), m_arSampleWidths[i]); m_cmbAudioSampleWidth.AddString(csSampleWidth); } m_cmbAudioSampleWidth.SetCurSel(m_nSampleWidth); for (i = 0; i < m_arSampleRates.GetSize(); ++i) { CString csSampleRate; csSampleRate.Format(_T("%d"), m_arSampleRates[i]); m_cmbAudioSampleRate.AddString(csSampleRate); } m_cmbAudioSampleRate.SetCurSel(m_nSampleRate); for (i = 0; i < m_arSources.GetSize(); ++i) m_cmbAudioSource.AddString(m_arSources[i]); m_cmbAudioSource.SetCurSel(m_nSource); SetVolumeRange(0, 100); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
status_t AudioMTKVolumeController::initVolumeController() { ALOGD("AudioMTKVolumeController initVolumeController\n"); GetDefaultVolumeParameters(&mVolumeParam); for (int i = 0 ; i < NORMAL_VOLUME_TYPE_MAX ; i++) { ALOGD("normalaudiovolume %d = %d", i, mVolumeParam.normalaudiovolume[i]); } for (int i = 0 ; i < HEADSET_VOLUME_TYPE_MAX ; i++) { ALOGD("headsetaudiovolume %d = %d", i, mVolumeParam.headsetaudiovolume[i]); } for (int i = 0 ; i < SPEAKER_VOLUME_TYPE_MAX ; i++) { ALOGD("speakeraudiovolume %d = %d", i, mVolumeParam.speakeraudiovolume[i]); } for (int i = 0 ; i < HEADSET_SPEAKER_VOLUME_TYPE_MAX ; i++) { ALOGD("headsetspeakeraudiovolume %d = %d", i, mVolumeParam.headsetspeakeraudiovolume[i]); } for (int i = 0 ; i < VER1_NUM_OF_VOL_TYPE ; i++) { ALOGD("audiovolume_level %d = %d", i, mVolumeParam.audiovolume_level[i]); } // for normal platyback , let audio drvier can achevie maximun volume , and let computecustomvolume to // set mastervolume float MaxdB = 0.0, MindB = 0.0, micgain = 0.0; int degradegain = 0; degradegain = (unsigned char)MampAudioBufferVolume(mVolumeParam.normalaudiovolume[NORMAL_AUDIO_BUFFER]); SetVolumeRange(Audio_Earpiece, DEVICE_MAX_VOLUME , DEVICE_MIN_VOLUME, degradegain); degradegain = (unsigned char)MampAudioBufferVolume(mVolumeParam.headsetaudiovolume[HEADSET_AUDIO_BUFFER]); SetVolumeRange(Audio_Headset, DEVICE_MAX_VOLUME , DEVICE_MIN_VOLUME, degradegain); SetVolumeRange(Audio_Headphone, DEVICE_MAX_VOLUME , DEVICE_MIN_VOLUME, degradegain); #ifdef USING_EXTAMP_HP degradegain = (unsigned char)MampAudioBufferVolume(mVolumeParam.speakeraudiovolume[SPEAKER_AMP]); #else degradegain = (unsigned char)MampSPKAMPVolume(mVolumeParam.speakeraudiovolume[SPEAKER_AMP]); #endif SetVolumeRange(Audio_Speaker, DEVICE_AMP_MAX_VOLUME , DEVICE_AMP_MIN_VOLUME, degradegain); degradegain = (unsigned char)MampAudioBufferVolume(mVolumeParam.normalaudiovolume[NORMAL_AUDIO_BUFFER]); SetVolumeRange(Audio_DualMode_Earpiece, DEVICE_MAX_VOLUME , DEVICE_MIN_VOLUME, degradegain); degradegain = (unsigned char)MampAudioBufferVolume(mVolumeParam.headsetspeakeraudiovolume[HEADSET_SPEAKER_AUDIO_BUFFER]); SetVolumeRange(Audio_DualMode_Headset, DEVICE_MAX_VOLUME , DEVICE_MIN_VOLUME, degradegain); SetVolumeRange(Audio_DualMode_Headphone, DEVICE_MAX_VOLUME , DEVICE_MIN_VOLUME, degradegain); degradegain = (unsigned char)MampSPKAMPVolume(mVolumeParam.headsetspeakeraudiovolume[HEADSET_SPEAKER_AMP]); SetVolumeRange(Audio_DualMode_speaker, DEVICE_AMP_MAX_VOLUME , DEVICE_AMP_MIN_VOLUME, degradegain); degradegain = (unsigned char)MampAudioBufferVolume(mVolumeParam.normalaudiovolume[NORMAL_AUDIO_BUFFER]); SetVolumeRange(Ringtone_Earpiece, DEVICE_MAX_VOLUME , DEVICE_MIN_VOLUME, degradegain); degradegain = (unsigned char)MampAudioBufferVolume(mVolumeParam.headsetaudiovolume[HEADSET_AUDIO_BUFFER]); SetVolumeRange(Ringtone_Headset, DEVICE_MAX_VOLUME , DEVICE_MIN_VOLUME, degradegain); SetVolumeRange(Ringtone_Headphone, DEVICE_MAX_VOLUME , DEVICE_MIN_VOLUME, degradegain); degradegain = (unsigned char)MampSPKAMPVolume(mVolumeParam.speakeraudiovolume[HEADSET_SPEAKER_AMP]); SetVolumeRange(Ringtone_Speaker, DEVICE_AMP_MAX_VOLUME , DEVICE_AMP_MIN_VOLUME, degradegain); degradegain = (unsigned char)MampAudioBufferVolume(mVolumeParam.normalaudiovolume[NORMAL_SIP_AUDIO_BUFFER]); SetVolumeRange(Sipcall_Earpiece, DEVICE_MAX_VOLUME , DEVICE_MIN_VOLUME, degradegain); degradegain = (unsigned char)MampAudioBufferVolume(mVolumeParam.headsetaudiovolume[HEADSET_SIP_AUDIO_BUFFER]); SetVolumeRange(Sipcall_Headset, DEVICE_MAX_VOLUME , DEVICE_MIN_VOLUME, degradegain); SetVolumeRange(Sipcall_Headphone, DEVICE_MAX_VOLUME , DEVICE_MIN_VOLUME, degradegain); degradegain = (unsigned char)MampSPKAMPVolume(mVolumeParam.speakeraudiovolume[SPEAKER_SIP_AUDIO_BUFFER]); SetVolumeRange(Sipcall_Speaker, DEVICE_AMP_MAX_VOLUME , DEVICE_AMP_MIN_VOLUME, degradegain); //-----MIC VOLUME SETTING ALOGD(" not define MTK_AUDIO_GAIN_TABLE_SUPPORT"); degradegain = (unsigned char)MampUplinkGain(mVolumeParam.audiovolume_mic[VOLUME_NORMAL_MODE][4]); SetMicGain(Idle_Normal_Record, degradegain); degradegain = (unsigned char)MampUplinkGain(mVolumeParam.audiovolume_mic[VOLUME_HEADSET_MODE][4]); SetMicGain(Idle_Headset_Record, degradegain); degradegain = (unsigned char)MampUplinkGain(mVolumeParam.audiovolume_mic[VOLUME_NORMAL_MODE][3]); SetMicGain(Normal_Mic, degradegain); degradegain = (unsigned char)MampUplinkGain(mVolumeParam.audiovolume_mic[VOLUME_HEADSET_MODE][3]); SetMicGain(Headset_Mic, degradegain); degradegain = (unsigned char)MampUplinkGain(mVolumeParam.audiovolume_mic[VOLUME_SPEAKER_MODE][3]); SetMicGain(Handfree_Mic, degradegain); degradegain = (unsigned char)MampUplinkGain(mVolumeParam.audiovolume_mic[VOLUME_NORMAL_MODE][0]); SetMicGain(TTY_CTM_Mic , degradegain); // voice reconition usage degradegain = (unsigned char)MampUplinkGain(mVolumeParam.audiovolume_mic[VOLUME_NORMAL_MODE][5]); SetMicGain(Voice_Rec_Mic_Handset, degradegain); degradegain = (unsigned char)MampUplinkGain(mVolumeParam.audiovolume_mic[VOLUME_HEADSET_MODE][5]); SetMicGain(Voice_Rec_Mic_Headset, degradegain); // add by chiepeng for VOIP mode degradegain = (unsigned char)MampUplinkGain(mVolumeParam.audiovolume_mic[VOLUME_NORMAL_MODE][6]); SetMicGain(VOIP_Normal_Mic, degradegain); degradegain = (unsigned char)MampUplinkGain(mVolumeParam.audiovolume_mic[VOLUME_HEADSET_MODE][6]); SetMicGain(VOIP_Headset_Mic, degradegain); degradegain = (unsigned char)MampUplinkGain(mVolumeParam.audiovolume_mic[VOLUME_SPEAKER_MODE][6]); SetMicGain(VOIP_Handfree_Mic, degradegain); degradegain = (unsigned char)MampUplinkGain(mVolumeParam.audiovolume_mic[VOLUME_NORMAL_MODE][2]); SetMicGain(Idle_Video_Record_Handset, degradegain); degradegain = (unsigned char)MampUplinkGain(mVolumeParam.audiovolume_mic[VOLUME_HEADSET_MODE][2]); SetMicGain(Idle_Video_Record_Headset, degradegain); // voice unlock usage (input source AUDIO_SOURCE_VOICE_UNLOCK) degradegain = (unsigned char)MampUplinkGain(mVolumeParam.audiovolume_mic[VOLUME_NORMAL_MODE][7]); SetMicGain(Voice_UnLock_Mic_Handset, degradegain); degradegain = (unsigned char)MampUplinkGain(mVolumeParam.audiovolume_mic[VOLUME_HEADSET_MODE][7]); SetMicGain(Voice_UnLock_Mic_Headset, degradegain); //MIC gain for customization input source usage degradegain = (unsigned char)MampUplinkGain(mVolumeParam.audiovolume_mic[VOLUME_NORMAL_MODE][8]); SetMicGain(Customization1_Mic_Handset, degradegain); degradegain = (unsigned char)MampUplinkGain(mVolumeParam.audiovolume_mic[VOLUME_HEADSET_MODE][8]); SetMicGain(Customization1_Mic_Headset, degradegain); degradegain = (unsigned char)MampUplinkGain(mVolumeParam.audiovolume_mic[VOLUME_NORMAL_MODE][9]); SetMicGain(Customization2_Mic_Handset, degradegain); degradegain = (unsigned char)MampUplinkGain(mVolumeParam.audiovolume_mic[VOLUME_HEADSET_MODE][9]); SetMicGain(Customization2_Mic_Headset, degradegain); degradegain = (unsigned char)MampUplinkGain(mVolumeParam.audiovolume_mic[VOLUME_NORMAL_MODE][10]); SetMicGain(Customization3_Mic_Handset, degradegain); degradegain = (unsigned char)MampUplinkGain(mVolumeParam.audiovolume_mic[VOLUME_HEADSET_MODE][10]); SetMicGain(Customization3_Mic_Headset, degradegain); // level shift buffer, level shift buffer gain is used degrade gain. degradegain = (unsigned char)MampLevelShiftBufferGain(mVolumeParam.audiovolume_mic[VOLUME_NORMAL_MODE][1]); SetLevelShiftBufferGain(Level_Shift_Buffer_Gain, degradegain); for (int i = 0; i < Num_Mic_Gain ; i++) ALOGD("micgain %d = %d", i, mMicGain[i]); // here save sidewtone gain to msidetone SetSideTone(EarPiece_SideTone_Gain, mVolumeParam.audiovolume_sid[VOLUME_NORMAL_MODE][3]); SetSideTone(Headset_SideTone_Gain, mVolumeParam.audiovolume_sid[VOLUME_HEADSET_MODE][3]); SetSideTone(LoudSpk_SideTone_Gain, mVolumeParam.audiovolume_sid[VOLUME_SPEAKER_MODE][3]); return NO_ERROR; }